Aroon Indicator Strategy (Amibroker Code)

The original article can be found here.

The Aroon indicator:

L14 = LLV( Low, 14 );
H14 = HHV( High, 14 );
OG = 14;

AroonDown =
100* (OG- (( IIf(Ref(L,-1) == L14 ,1 , IIf( Ref(L ,-2 ) == L14 ,2 , IIf( Ref(L
,- 3 ) ==
L14 ,3 ,IIf( Ref(L ,-4 ) == L14 ,4 ,IIf(Ref( L ,-5 ) == L14 ,5 ,IIf(Ref(L ,-6 )
==
L14 ,6 ,IIf( Ref(L ,-7 ) == L14 ,7 ,IIf(Ref( L ,-8 ) == L14 ,8 ,IIf(Ref( L ,-9
) ==
L14 ,9 ,IIf( Ref(L,-10) == LLV(L,14 ) ,10 ,IIf(Ref(L ,-11) == L14 ,11
,IIf(Ref(L,-12 ) ==
LLV(L ,14) ,12,IIf( Ref(L,-13) == LLV(L ,14 ) ,13 ,IIf( Ref( L,-14) == L14 ,14
,0) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) / 14;

AroonUp =
100 * ( 14 – ( ( IIf(Ref(H ,-1) == H14 ,1 ,IIf(Ref(H ,-2 ) == H14 ,2 ,IIf(Ref(H
,- 3 ) ==
H14 ,3, IIf(Ref(H ,-4 ) == H14 ,4 ,IIf(Ref(H ,-5 ) == H14 ,5 ,IIf(Ref(H ,-6 )
==
H14 ,6 ,IIf(Ref(H,-7 ) == H14 ,7 ,IIf(Ref(H ,-8 ) == H14 ,8 , IIf(Ref(H ,-9 )
==
H14 ,9 ,IIf(Ref(H ,-10 ) == H14 ,10 ,IIf(Ref(H ,-11 ) == H14 ,11 ,IIf(Ref(H
,-12 ) ==
H14 ,12 ,IIf(Ref(H ,-13) == H14 ,13 ,IIf(Ref(H ,-14 ) == H14 ,14 ,0 ) ) ) ) ) )
) ) ) ) ) ) ) ) ) ) ) / 14;

PL = Param(“PL”,14,4,200,1);
ALen = PL;

AroonUp = 100 * (ALen – (HHVBars(H, ALen + 1))) / Alen;
AroonDn = 100 * (ALen – (LLVBars(L, ALen + 1))) / ALen;

Strategy in plain English:

  1. The 5-day moving average of Aroon-up crosses above 50.
  2. The 5-day ADX is above 25.
  3. If 1-2 are true, then buy at the close.
  4. Sell at the close when the 5-day average of Aroon-up crosses below 50.

Amibroker code:

Buy=Cross(MA(aroonup,5),50) AND ADX(5)>25 ;
BuyPrice= Close;
Sell=Cross(50,MA(aroonup,5)) ;
SellPrice = Close ;