Johnnycollaction
Johnnycollaction AFL might refer to a trading system or approach developed by an individual named Johnnycollaction. It could offer specific indicators or rules for market analysis. Utilizing an Amibroker data feed, this AFL provides traders with tools or signals aligned with Johnnycollaction’s trading methodology.
/ //PREF > INTRADAY > START TIME INTERVAL _SECTION_BEGIN("graph"); SetChartOptions(0,chartShowArrows|chartShowDates); gxs=Param("GRAPH spaceing",10,5,50,5); GraphXSpace = gxs; strWeekday = StrMid("SunMonTueWedThuFriSat", SelectedValue(DayOfWeek())*3,3); _SECTION_END(); _SECTION_BEGIN("NMA "); k = Optimize("K",Param("K",3.95,1,8,0.05),1,8,0.05); Per=Optimize("atr",Param("atr",11,1,50,1),1,50,1); j=(O+H+L+C)/4; nm= (H-L); rfsctor = WMA(nm, PER); revers = K * rfsctor; Trend = 1; NW[0] = 0; for(i = 1; i < BarCount; i++) { if(Trend[i-1] == 1) { if(j[i] < NW[i-1]) { Trend[i] = -1; NW[i] = j[i] + Revers[i]; } else { Trend[i] = 1; if((j[i] - Revers[i]) > NW[i-1]) { NW[i] = j[i] - Revers[i]; } else { NW[i] = NW[i-1]; } } } if(Trend[i-1] == -1) { if(j[i] > NW[i-1]) { Trend[i] = 1; NW[i] = j[i] - Revers[i]; } else { Trend[i] = -1; if((j[i] + Revers[i]) < NW[i-1]) { NW[i] = j[i] + Revers[i]; } else { NW[i] = NW[i-1]; } } } } Plot(NW, "", IIf(Trend == 1, 6, 4), 4); //---------------trading ------------- Buy=Cover=Cross(j,nw); Sell=Short=Cross(nw,j); Buy=ExRem(Buy,Sell); Sell=ExRem(Sell,Buy); Short=ExRem(Short,Cover); Cover=ExRem(Cover,Short); PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorSkyblue, 0,Low,-15); PlotShapes(IIf(Sell, shapeHollowDownArrow, shapeNone),colorLightYellow, 0,High,-15); PlotShapes(IIf(Cover, shapeHollowCircle, shapeNone),colorTan, 0,Close,0); PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorGold, 0,High,-25); //-----------end-------------- Long=Flip(Buy,Sell OR Cover); Shrt=Flip(Sell,Buy OR Cover); NOTrade= NOT (Long OR shrt); Edc=( WriteIf (Buy AND Ref(shrt,-1), " GO LONG / Reverse Signal at "+C+" ","")+ WriteIf (Buy AND Ref(NOTrade,-1), " GO LONG at "+C+" ","")+ WriteIf (Sell AND Ref(NOTrade,-1), " GO Short at "+C+" ","")+ WriteIf (Sell AND Ref(Long,-1), " EXIT LONG / Reverse Signal at "+C+" ","")); _SECTION_END(); grid_day = IIf(Day()!=Ref(Day(),-1),1,0); Plot(grid_day,"",colorDarkGrey,styleHistogram|styleDashed|styleNoLabel|styleOwnScale); ///-------------------------------------------------------------------------------------------------- UpCandle = ParamColor("Up Color", colorBrightGreen ); DownCandle = ParamColor("Down Color", colorDarkRed ); Consolidation = ParamColor("Consolidation", colorBlack ); BG2a=HHV(LLV(L,4)+ATR(4),8); BR2a=LLV(HHV(H,4)-ATR(4),8); Candlecolor = IIf(Close>BG2a ,UpCandle,IIf(Close < BR2a,DownCandle,Consolidation)); SetBarFillColor( IIf(OBG2a,EncodeColor(colorLime)+" UP",WriteIf(Close M5,EncodeColor(colorLime)+" UP",WriteIf(Cm5 M15,EncodeColor(colorLime)+" UP",WriteIf(Cm15 M30,EncodeColor(colorLime)+" UP",WriteIf(Cm30 H1,EncodeColor(colorLime)+" UP",WriteIf(CH1 H4,EncodeColor(colorLime)+" UP",WriteIf(Ch4 HBG ,colorAqua,IIf(Hac < HBR,colorCustom12,colorGrey50)); Plot(4, "", Co,styleArea+styleOwnScale | styleNoLabel, -1, 100); //PlotOHLC(HaO,HaH,HaL,HaC, "", Co,styleCandle|styleOwnScale ); //===================================================================================== TimeFrameSet( 2*Interval() ); BG2H=HHV(LLV(HaL,4)+ATR(4),8); BR2H=LLV(HHV(HaH,4)-ATR(4),8); C1H=HaC; TimeFrameRestore(); M5H = TimeFrameExpand(BG2H,2*Interval() ); MM5H=TimeFrameExpand( BR2H,2*Interval() ); cM5H=TimeFrameExpand( C1H, 2*Interval() ); TimeFrameSet( 4*Interval() ); BG2H=HHV(LLV(HaL,4)+ATR(4),8); BR2H=LLV(HHV(HaH,4)-ATR(4),8); C1H=HaC; TimeFrameRestore(); M15H = TimeFrameExpand(BG2H,4*Interval() ); MM15H=TimeFrameExpand(BR2H,4*Interval() ); cM15H=TimeFrameExpand( C1H,4*Interval() ); TimeFrameSet( 6*Interval() ); BG2H=HHV(LLV(HaL,4)+ATR(4),8); BR2H=LLV(HHV(HaH,4)-ATR(4),8); C1H=HaC; TimeFrameRestore(); M30H = TimeFrameExpand(BG2H,6*Interval() ); MM30H=TimeFrameExpand(BR2H,6*Interval() ); cM30H=TimeFrameExpand( C1H,6*Interval() ); TimeFrameSet( 8*Interval() ); BG2H=HHV(LLV(HaL,4)+ATR(4),8); BR2H=LLV(HHV(HaH,4)-ATR(4),8); C1H=HaC; TimeFrameRestore(); H1H = TimeFrameExpand(BG2H ,8*Interval() ); HH1H=TimeFrameExpand( BR2H,8*Interval() ); Ch1H=TimeFrameExpand( C1H,8*Interval() ); TimeFrameSet( 16*Interval() ); BG2H=HHV(LLV(HaL,4)+ATR(4),8); BR2H=LLV(HHV(HaH,4)-ATR(4),8); C1H=HaC; TimeFrameRestore(); H4H = TimeFrameExpand( BG2H,16*Interval() ); HH4H=TimeFrameExpand( BR2H,16*Interval() ); cH4H = TimeFrameExpand( C1H,16*Interval() ); RestorePriceArrays(); Comm2=("\n "+VR+ " - Phase in ")+"\n "+ EncodeColor(colorLightYellow)+(""+Interval(2)+":")+ WriteIf(Hac>HBG,EncodeColor(colorLime)+" UP",WriteIf(Hac < HBR,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+ EncodeColor(colorLightYellow)+(" "+2*Interval()/60+"m:")+ WriteIf(cM5H>M5H,EncodeColor(colorLime)+" UP",WriteIf(cM5H M15H,EncodeColor(colorLime)+" UP",WriteIf(cM15H M30H,EncodeColor(colorLime)+" UP",WriteIf(cM30H H1H,EncodeColor(colorLime)+" UP",WriteIf(Ch1H H4H,EncodeColor(colorLime)+" UP",WriteIf(cH4H