This system is a variation on the Bollinger Breakout System which uses Average True Range instead of standard deviation as a measure of the volatility which defines the width of the channels or bands.

 

A variation of the ATR Channel Breakout System was popularized as the PGO system by trader Mark Johnson on Chuck LeBeau's System Trader's Club forum and elsewhere. This version, the ATR Channel Breakout System, is more flexible and permits the testing of different entry and exit thresholds.

 

The system is a form of breakout system that buys on the next open when the price closes above the top of the ATR Channel, and exits when the price closes back inside the channel. Short entries are the mirror opposite with selling taking place when the price closes below the bottom of the ATR Channel.

 

 

ATRChannelBreakout

The system trades based on a volatility-band breakout where volatility is measured using Average True Range (ATR). The center of the ATR Channel is defined by an Exponential Moving Average of the closing prices using a number of days defined by the parameter Close Average Days. The top and bottom of the ATR Channel are defined using a fixed-multiple of ATR from the moving average specified by the parameter Entry Threshold.

 

The system enters at the open following a day that closes over the top of the ATR Channel or below the bottom of the ATR Channel. The system exits following a close below the Exit Channel which is defined using a fixed-multiple of ATR from the moving average specified by the parameter Exit Threshold.

 

This ATR Channel Breakout system is similar to the Bollinger Breakout System except that it  uses Average True Range instead of standard deviation as a measure of the volatility which defines the width of the channel.

 

For example, an Entry Threshold of 3 and an Exit Threshold of 1 would cause the system to enter the market when the price closed more than 3 ATR above the moving average and to exit when the price subsequently dropped below 1 ATR above the moving average. NOTE: Exit Threshold can be a negative number which will cause the system to exit only after the price comes some amount through the moving average.

 

The ATR Channel Breakout system includes four parameters which affect the entries:

 

ATR

 

ATR Days

The number of days in the Exponential Moving Average for the Average True Range itself.

 

Close Average Days

The number of days in the Exponential Moving Average of daily closes which forms the center of the ATR channel.

 

Entry Threshold

The width of the channel in ATR. This defines both the top and bottom of the channel. The system buys or sells to initiate a new position when the closing price crosses the price defined by this threshold.

 

Exit Threshold

If set to zero, the system will exit when the price closes below the moving average. If set to some higher number the system will exit when the price closes below the given threshold. A negative Exit Threshold means that the exit channel is below the moving average for a long position.

 

 

Entry Script

' ---------------------------------------------
' Enter orders if channel is breached
' ---------------------------------------------
IF instrument.position <> LONG AND
  instrument.close > channelTop THEN
   
  broker.EnterLongOnOpen( exitTop )
ENDIF
 
IF instrument.position <> SHORT AND
  instrument.close < channelBottom THEN
   
  broker.EnterShortOnOpen( exitBottom )
ENDIF

 

 

 

Exit Script

' ---------------------------------------------
' Exit orders if exit threshold is breached
' ---------------------------------------------
 
IF instrument.position = LONG AND
  instrument.close < exitTop THEN
   
  broker.ExitAllUnitsOnOpen
ENDIF
 
IF instrument.position = SHORT AND
  instrument.close > exitBottom THEN
   
  broker.ExitAllUnitsOnOpen
ENDIF

 

 

Adjust Stops

' ---------------------------------------------
' Adjust stops so money manager knows core equity
' ---------------------------------------------
IF instrument.position = LONG THEN
  instrument.SetExitStop( exitTop )
ENDIF
 
IF instrument.position = SHORT THEN
  instrument.SetExitStop( exitBottom )
ENDIF

 

 


Edit Time: 9/20/2017 07:56:26 AM


Topic ID#: 107

 

Created with Help & Manual 7 and styled with Premium Pack Version 2.80 © by EC Software