Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Trade Triangles for Day Trading for Amibroker (AFL)
This is a version of Trade Triangles that can be used for day trading. It’s not great, so feel free to improve upon it.
Indicator / Formula
// Trade Triangles for Day Trading _SECTION_BEGIN("Chart"); // Background color SetChartBkColor(ParamColor("Background Color ",colorBlack)); _SECTION_BEGIN("Price"); SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); _SECTION_END(); TimeFrameSet(inHourly); no=Param( "Triangle D", 3, 1, 55 ,1); hres=HHV(H,no); hsup=LLV(L,no); havd=IIf(H>Ref(hres,-1),1,IIf(L<Ref(hsup,-1),-1,0)); havn=ValueWhen(havd!=0,havd,1); htsl=IIf(havn==1,hsup,hres); hB=Cross(H,htsl); hS=Cross(htsl,L); TimeFrameRestore(); htsl= TimeFrameExpand(htsl,inHourly,expandFirst); Plot(htsl,"D",colorPaleBlue,styleStaircase); hb=TimeFrameExpand(hB,inHourly,expandFirst); hs=TimeFrameExpand(hS,inHourly,expandFirst); hst=IIf(BarsSince(hB)<BarsSince(hS),1,0); col=IIf(hst == 1 ,51,IIf(hst ==0,3,1)); Plot(2,"",COL,styleArea|styleOwnScale|styleNoLabel,0,100); Plot(2.5,"",1,styleArea|styleOwnScale|styleNoLabel,0,100); TimeFrameSet(inDaily); no=Param( "Triangle D", 3, 1, 55 ,1); dres=HHV(H,no); dsup=LLV(L,no); davd=IIf(H>Ref(dres,-1),1,IIf(L<Ref(dsup,-1),-1,0)); davn=ValueWhen(davd!=0,davd,1); dtsl=IIf(davn==1,dsup,dres); dB=Cross(H,dtsl); dS=Cross(dtsl,L); TimeFrameRestore(); dtsl= TimeFrameExpand(dtsl,inDaily,expandFirst); Plot(dtsl,"D",colorSkyblue,styleStaircase); db=TimeFrameExpand(dB,inDaily,expandFirst); ds=TimeFrameExpand(dS,inDaily,expandFirst); dst=IIf(BarsSince(DB)<BarsSince(DS),1,0); col=IIf(dst == 1 ,51,IIf(dst ==0,31,1)); Plot(4,"",COL,styleArea|styleOwnScale|styleNoLabel,0,100); Plot(C,"",IIf(C>O,colorWhite,colorBlack),64); pds= Optimize("period",Param("period",8,5,30,1),5,30,1); Color = ParamColor("Color", colorLightGrey ); DUpper =HHV(Ref(H,-1),pds); DLower = LLV(Ref(L,-1),pds); DMiddle = (DUpper+DLower)/2; R=ValueWhen(C < DLower,H,1); S=ValueWhen(C > DUpper,L,1); PlotOHLC( DUpper, DUpper, DMiddle, DMiddle, "", ColorBlend( ColorRGB(50,90,50), colorWhite, 0.1 ), styleCloud | styleNoRescale, Null, Null, Null, -1 ); PlotOHLC( DMiddle, DMiddle,DLower,DLower, "", ColorBlend( ColorRGB(90,50,50), colorWhite, 0.1 ), styleCloud | styleNoRescale, Null, Null, Null, -1 ); Buy1= (dst ==1 AND Hst==1) ; Sell1=( Hst==0 OR dst ==0); Buy1=ExRem(Buy1,Sell1); Sell1=ExRem(Sell1,Buy1); PlotShapes(Buy1*shapeSmallUpTriangle,colorLime,0,L,-15); PlotShapes(sell1*shapeSmallDownTriangle, colorTan,0,H,-15); Short1=(dst ==0 AND Hst==0); Cover1=( Hst==1); Short1=ExRem(Short1,Cover1); Cover1=ExRem(Cover1,Short1); PlotShapes(Cover1*shapeSmallUpTriangle,colorOrange,0,L,-15); PlotShapes(Short1*shapeSmallDownTriangle,colorRed,0,H,-15); Buy2=(dst ==0 AND Hst==1) AND (Cross(C ,DUpper) AND NOT GapUp()); Sell2=(dst ==0 AND Hst==1) AND (Ref(C,-1)>Dmiddle AND Cross(Dmiddle,C) ); Buy2=ExRem(Buy2,Sell2); Sell2=ExRem(Sell2,Buy2); PlotShapes(Buy2*shapeHollowSmallUpTriangle,colorLime,0,L,-15); PlotShapes(sell2*shapeHollowSmallDownTriangle,colorOrange,0,H,-15); Short2=(dst ==1 AND Hst==0 )AND ( Cross(C,Dlower)); Cover2=( Hst==1); Short2=ExRem(Short2,Cover2); Cover2=ExRem(Cover2,Short2); PlotShapes(Cover2*shapeHollowSmallUpTriangle,colorOrange,0,L,-15); PlotShapes(Short2*shapeHollowSmallDownTriangle,colorRed,0,H,-15); for( i = 0; i < BarCount; i++ ) { //if(Buy1[i] ) PlotText( "Buy 1 " , i, DLower[ i ], colorLime ); //if(Sell1[i] ) PlotText( " Sell 1" , i, DUpper[ i ], colorOrange ); //if(Short1[i] ) PlotText( "Short 1 " , i, DUpper[ i ], colorRed ); //if(Cover1[i] ) PlotText( " Cover 1" , i, DLower[ i ], colorTan ); //if(Buy2[i] ) PlotText( "Buy 2 " , i, DLower[ i ], colorLime ); //if(Sell2[i] ) PlotText( " Sell 2" , i, DUpper[ i ], colorOrange ); //if(Short2[i] ) PlotText( "Short 2 " , i, DUpper[ i ], colorRed ); //if(Cover2[i] ) PlotText( " Cover 2" , i, DLower[ i ], colorTan ); } /* baratbuy = ValueWhen( (Buy1 OR Buy2) , BarIndex() ) ; baratsell = ValueWhen( (short1 OR Short2) , BarIndex() ) ; price=C[BarCount-1]; Buy= (Buy1 OR Buy2) AND ( BarCount - baratbuy ); Sell=(short1 OR Short2) AND ( BarCount - baratsell ); stoploss = IIf( Buy, ( price * ( 1 - 0.01 ) ) , IIf( Sell, ( price * ( 1 + 0.01 ) ), 0 ) ); target1per = IIf( Buy, ( price * ( 1 + 0.01 ) ) , IIf( Sell, ( price * ( 1 - 0.01 ) ), 0 ) ); target15per = IIf( Buy, ( price * ( 1 + 0.015 ) ) , IIf( Sell, ( price * ( 1 - 0.015 ) ), 0 ) ); target2per = IIf( Buy, ( price * ( 1 + 0.02 ) ) , IIf( Sell, ( price * ( 1 - 0.02 ) ), 0 ) ); */
0 comments
Leave Comment
Please login here to leave a comment.
Back