Amibroker Trading Trendline Code
Amibroker Trading Trendline Code
Amibroker Trading Trendline Code
Top = IIf(Close > Open, Close, Open); // Top of open/close array bi = BarIndex()
; startIx = BeginValue(bi) - bi[0]; endIx = EndValue(bi) - bi[0]; if (endIx < st
artIx) endIx = startIx; GP_changeAtr = 1+5*(ATR(3)/Close); eend = EMA(Close, end
Ema*GP_changeAtr[endIx]); // EMA period for end direction lrs = LinRegSlope(eend
, 2); isUp = lrs[endIx] >= 0; // Slope of EMA on last day fit = GP_DrawTrendLine
s(Bottom, Top, lineCnt, endIx, startIx, tchg, oshoot, clos eOver, 0, isUp, Prefs
(24)); for (i = 0; i < startIx; i++) { GP_tlineUp1[i] = -1e10; GP_tlineUp2[i] =
-1e10; GP_tlineDown1[i] = -1e10; GP_tlineDown2[i] = -1e10; GP_closeAbove[i] = 0;
} for (i = endIx+1; i < BarCount; i++) { GP_tlineUp1[i] = -1e10; GP_tlineUp2[i]
= -1e10; GP_tlineDown1[i] = -1e10; GP_tlineDown2[i] = -1e10; GP_closeAbove[i] =
0; } Plot(GP_tlineUp1, "", colorDarkBlue, styleLine|styleThick); Plot(GP_tlineU
p2, "", colorDarkBlue, styleLine|styleThick); Plot(GP_tlineDown1, "", colorDarkR
ed, styleLine|styleThick); Plot(GP_tlineDown2, "", colorDarkRed, styleLine|style
Thick); _SECTION_BEGIN("INIT"); SetChartOptions(0,chartShowArrows|chartShowDates
); ScanLookBack = Param("Scan Lookback", 2, 1, 25 ); fraction= IIf(StrRight(Name
(),3) == "", 3.2, 3.2); _SECTION_END(); _SECTION_BEGIN("Price"); SetChartOptions
(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}
} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +"
{{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) )); Plot( C, _DEFAULT_NAME
(), colorBlack , styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); _SECTIO
N_END(); _SECTION_BEGIN("Up Trend Line"); UTValue1=LastValue(Trough(L,0.5,2)); U
TValue2=LastValue(Trough(L,0.5,1)); UTBar1=BarCount - 1 - LastValue(TroughBars(L
,0.5 ,2)); UTBar2=BarCount - 1 - LastValue(TroughBars(L,0.5 ,1)); UpTrendLine =
LineArray( UTBar1, UTValue1, UTBar2,UTValue2, 1 ); UTLine = LineArray( UTBar1, U
TValue1, UTBar2,UTValue2, 0 ); Plot( UpTrendLine , _DEFAULT_NAME(), colorGreen,s
tyleLine | styleNoTitle | styleNoLabel); Plot( UTLine , _DEFAULT_NAME(), colorGr
een,styleLine | styleNoTitle | styleNoLabel); _SECTION_END(); _SECTION_BEGIN("Do
wn Trend Line"); DTValue1=LastValue(Peak(H,0.5 ,2)); DTValue2=LastValue(Peak(H,0
.5 ,1)); DTBar1=BarCount - 1 - LastValue(PeakBars(H,0.5 ,2));