back start next[start] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [ 26 ] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] 26 7 Range Trading7.3 Range Trading System (Acme N)7.3 Range Trading System (Acme N)With all ofthe patterns defined, we can now implement a range trading system known as the Acme N System. The Acme N System is based on a combination of Coopers short-term swing techniques [4]; Crabels narrow range patterns [6] and the Acme Range Ratio. The N system is a traditional momentum system because it uses the ADX and pullbacks - the difference is that trades are entered only on breaks of NR bars.The Acme N system requires one of the following five criteria to establish the existence of a "Narrow Range Condition":1. Two consecutive NRbars (NR2 pattern), or2. Two consecutive ID bars (ID2 pattern), or3. Narrowest range ofthe last n bars (NR pattern), or4. Inside day and narrow range bar (IDNR pattern), or5. The Range Ratio (RR) is less than a certain percentage.Once a low-volatility condition has been established, the range of the current bar must be less than a certain percentage ofthe ATR, i.e., it is an NR% bar of 70% or less (this is HiQRangePercentparamQtQr).The trader should choose the option ofusing traditional technical filters for a momentum system. Historical testing has shown that the higher each ofthese values is set, the better the performance ofthe system. The N system uses the following filters:- Minimum Price- Minimum ADX- Minimum HVWe now define the rules ofthe system, including the filters. First, we enumerate the narrow range conditions.Narrow Range Condition1. Is the current bar an NRj bar and the previous bar an NRj bar?2. Is the current bar an ID bar and the previous bar an ID bar?3. Is the current bar an NRjo bar?4. Is the current bar an ID bar and an NR4 bar?5. Calculate the Range Ratio (RR) tor the current bar divided by the range ofthe last 7 bars (RR 1:7). Is the RR 1:7 less than 0.7?If any ofthe above range conditions are true, then the Narrow Range Condition is satisfied. Finally, the Range Percentage is applied to the bar to qualify it as a potential Acme N trade entry.7.3.1 Long SignalCalculations1. Calculate the ATR for the past 20 bars (ATR20).2. Multiply the Range Percentage (RP) of the current bar by ATR20.3. Calculate the ADX for the filter length (ADX).4. Calculate the 50-bar moving average (MA50).5. Calculate the historic volatility for the filter length (HV14).Entry Rules1. Narrow Range Condition = True2. Range <=RP*ATR2o3. Close > 204. ADX,4>=185. HV,4>=0.56. Retracement Bars >= 27. Median Price > MA508. Buy the next bar at or above the High(EntryFactor * ATR20)Exit Rules: Profit Target1. Sell halfofthe position at or above the High + (ProfitFactor * ATR20)2. Sell half of the position at or above the High of ProfitBars ago + (2 * ProfitFactor * ATR20)Exit Rules: Stop Loss1. Sell all shares at or below the Lowest Low for StopBars(ExitFactor* ATR20) Trading7.3.2 Short SignalCalculations1. Calculate the ATR for the past 20 bars (ATR2d).2. Multiply the Range Percentage (RP) ofthe current bar by ATR2D.3. Calajlate the ADX for the filter lenglii (ADXm).4. Calculate the 50-bar mo\ing average (MAsc).5. Calculate the historic volatihty for the filter length (HV).Entrj Rules1. Narrow Range Condition = True2. Range <=RPATR2o3. Close > 204. ADXm>=185. HVi4>=0.56. Retracement Bars >= 27. Median Price < MA508. Sell Short the next bar at or below the Low - (EntiyFactor * ATR20)Exit Rules: Profit Taiget1. Co-er half ofthe position at or below the Low -(Profitiactor * ATRd)2. Co-erhalfofthe position at or below the Low ofProfitBars ago (2 * ProfitFactor * ATR:d)E.xit Rules: Stop Loss1. Cover all shares at or above the Highest High for StopBars + (ExitFactor *ATRa)) The EasyLanguage code for the Acme N System is shown in Example 7.1: Example 7.1. Acme N SystemAcme N System: Use the Range Ratio to find Narrow Range PatternsInputs:(N P..,...n,..4s K.ii i<>hii):il)i( I).7.3 Range liading Sjstem (Acme N)RatioLength2(7),RangePercent(0.7)>HaxRangeRatio(0.7),RetraceB3rs(2),{Filter Parameters}FiltersOn(True),FilterLength(14),HiniinumPTice(20),HininiuniADX(l8),Hi umHVC 5),( s tion P rameters}Equity00000),RiskModel(3),RiskPercent(2.0),RiskATR(l.O)EntryFactor(0.10),DrawTargets(True);Variables: N(o), ATR(O.O), ATRtength(20), HA(O.O), HALength(50), TradeFilter(True), BuyStop(O.O), 5hortStop(0.0), {ti Variables) NLengthl(5), NLength2(lO), NLength3(4), LowVolatility(False);ATR = Volatility(ATRLength); HA = Average(Close, HAtength);(Set Entry and Exit Stops}BuyStop = High + (EntryFactor * ATR);Shortstop = Low - (Entr>Factor * ATR);(Acme N Setup}Conditioni = AcineNarrowRange(NLengthl, 1) and AcineNarTowRange(NLengthl, o)[l];Condition2 = Low > tow[l] and High < High[l] and Low[l] > Low[2] and Highfl] < High[2];Conditions = AcineNarrowRange(NLength2, 0); Condition4 - AcineInsideDayNR(Ntength3, 0);Conditions = AcineRangeRatio(RatioLengthl, RatioLength2) <= HaxRangeRatio; LowVolatility - Conditioni or Condition2 or Conditions or Conditionfl or Conditions:{Run 11...... lill.-is)11 I illrl-.Oli Ihi-nTradeFilter = Close > HinimurnPrice and ADX(FilterLength) >= MinimumADX and AcmeVolatility(FilterLength) >= MinimumHV;If LowVolatility andRange <= RangePercent * ATR andTradeFilter Then BeginN = AcmeGetShares(Equity, RiskModel, RiskPercent, RiskATR);TradeFilter = True; If FiltersOn ThenTradeFilter = HedianPrice > MA;If TradeFilter and AcmeRetraceDown(RetraceBars) and TradeFilter Then Begin{Draw Entry Targets on the Chart}If DrawTargets ThenConditionl = AcmeEntryTargetsCN", BuyStop, 0, 0, 0);BuyCAcme LE N") H Shares Next Bar at BuyStop Stop; End;TradeFilter = True; If FiltersOn ThenTradeFilter = HedianPrice < HA;If TradeFilter and AcmeRetraceUp(RetraceBars) and TradeFilter Then Begin{Draw Entry Targets on the Chart} If DrawTargets ThenConditionl = AcmeEntryTargetsCN", 0, 0, Shortstop, 0); SellCAcme SE N") N Shares Next Bar at Shortstop Stop; End; End;After performing some pnce calculations at the begmning ofthe code, the N sjstem calls all ofthe Acme functions for determining narrow range conditions. TheAcmeNan-oyrRan function is designed to locate any narrow range bar using the Index. For example, it can determine whether the current bar is an NR barforthe last ten bars, orwhether the bar sewn dajs ago was anNRbar.With the catalcg of Acme trading pattems defined, the trader can see how much computing power is required for each bar. The TradeStation indicators (hnes and letters) are provided so the trader can reccgnize all possible pattems that are encoded within asingle bar. Multiply this horsepower by the mmiber of stocks, and one recalls the chained captives in Ben-Hur straining their oars at rammhrt« «-»(......\ (. 1-1 .....iMilh... II.M......I......-.Ili* Will.ji.i W,l.-i7.4 ExamplesThe following charts are examples oftrades generied by the Acme N Sjstem. Each e.xample uses Equity of \$100,000 and the Percent Volatilitj Model with a risk of 2%. For stocks, trade filtering is tumed on. For indices, trade filtering is tumed offbecause oftheir lower ADX readings.7.4.1 Nasdaq Composite IndexThis chart shows the Nasdaq Composite Index with the Range Ratio falhng below 0.7 four times circled in Figure 7.7). The chart shows two long entries and two short entries in a relatively choppy market. The DMI would have eliminated most ofthese trades. The problem is that the DMI is tjpically based on a 14-bar study period. By the time it catches up to the trend, the trend has alreadj changed. A volatile stock or maiket index is characterized by sev-eral sudden trend dianges within much sliorter periods.SCOHPG LASTOaily 05/31/2001, -200 ,23S0.0O 2300.00 2250.00 2200.00 2150.00 2100.00 2050.00 2000.00Acme Range Ratio(1.7,.7,1.3) O.fil 0.70 1.30Figure 7.7. Nasdaq Composite IndexThe Acme N System simply enters trades on consohdation dajs orretracement days. Many traders wait for pullbacks, but the chart in Figure 7.7 illustrates how A trade can be entered even in the midst of a swing.Table 7.2 shows the unfiltered Acme N system performance report for the Nasdaq Cmiiist Index from mid 1994 to early 2002. When the filters are[start] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [ 26 ] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54]