Skip to main content

Super TEMA for Amibroker (AFL)

HARI123 almost 16 years ago Amibroker (AFL)

  • Rating:
    4 / 5 (Votes 11)
  • Tags:
    trading system, amibroker, moving average

This indicator highlights the trend of the price using the TEMA indicator. The trend is detected using a crossover between a slower TEMA and a faster TEMA. The crossover parameters in this indicator are optimizable.

Screenshots

Indicator / Formula

Copy & Paste Friendly
_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); 
_SECTION_END();
//Super TEMA by Cù Chulainn V1.0

n=25; Av=12; Av1=16; Av2=2; stp=2;

if (Name() == "CPTA.MI")// CAPITALIA
{ n=7; Av=18; Av1=14; Av2=2; }
else if (Name() == "BANI.MI")// BNL
{ n=29; Av=30; Av1=10; Av2=2; }
else if (Name() == "FIBK.MI")// B FIDEURAM
{ n=22; Av=15; Av1=22; Av2=2; }
else if (Name() == "FIA.MI")// FIAT
{ n=2; Av=28; Av1=10; Av2=2; }
else if (Name() == "MDBI.MI")// MEDIOBANCA
{ n=21; Av=27; Av1=29; Av2=2; }
else if (Name() == "MS.MI")// MEDIASET
{ n=30; Av=20; Av1=24; Av2=2; }
else if (Name() == "TIM.MI")// TIM
{ n=6; Av=10; Av1=20; Av2=2; }
else if (Name() == "TLIT.MI")// TELECOM IT
{ n=30; Av=25; Av1=29; Av2=2; }

n = Optimize("Periods",n,2,30,1);
av = Optimize("Average",av,10,30,1);
av1 = Optimize("Average1",av1,10,30,1);
//av2 = Optimize("Average2",av2,2,5,1);
//stp = Optimize("Stop",stp,4,15,1);

Var1= TEMA(Close,n);
Var2= TEMA(var1,av);
Var3= (var1-var2)+var1;
Var1= TEMA(var3,av1);
Var4= MA((var1-var2)+var1,av2);
Var5=(Var1-Var2)+Var1;

//Buy=Cover=Cross(Var5,Var4);
//Sell=Short=Cross(Var4,VAR5);

Buy=Cover=Cross(Var5,Ref(Var5,-1));
Sell=Short=Cross(Ref(Var5,-1),VAR5);

Plot(Var5,"Super TEMA" + "("+WriteVal( n, 1.0 )+","+WriteVal(Av, 1.0 )+"," +WriteVal(Av1, 1.0 )+","+WriteVal(Av2, 1.0 )+")" ,IIf(Var5>Ref(Var5,-1),6,4));

Plot( Flip( Buy, Sell ), "Trade", colorPaleGreen, styleArea | styleOwnScale, 0, 1 );

3 comments

2. viet
almost 14 years ago

Very nice! I just wonder how to make the colored columns react faster to the changes of the market. Any help? And thanks to the author for such original idea!

Leave Comment

Please login here to leave a comment.