Hello .. Headache with High and Low Swing Point Triangles I need a help for a loop Every time that we have a Swing Point I would like to draw a line to the left until the line to find a price bar. Then we have to count how many lower low we have on the left side of the triangle and how many higher high of the right side. And when the left side of the triangle the bars are less than the left side I would like to draw a triangle like this in the picture that I attach
Do I need to write a loop to count that bars? If the left bars are less than the right side the triangle is correct Thanks Panos 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 ), styleBar | styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); x = Cum(1); ReX = LastValue(x)-x; // " High Swing point " ; HSP =H > Ref(H,2) & H > Ref(H,1) & H > Ref(H,-1) & H > Ref(H,-2) & ReX >2 ; HSPHigh = ValueWhen(HSP,H); HSPX = ValueWhen(HSP,X); HSP_lastX = LastValue(ValueWhen(HSP,x,1)); PlotShapes(IIf(HSP,shapeSmallCircle,-1e10),colorRed,0,H,13); // " Low Swing point " ; LSP = L < Ref(L,2) & L <= Ref(L,1) & L < Ref(L,-1) & L < Ref(L,-2) & ReX >2; LSPLow = ValueWhen(LSP,L); LSPX = ValueWhen(LSP,X); LSP_LastX = LastValue(ValueWhen(LSP,x,1)); PlotShapes(IIf(LSP,shapeSmallCircle,-1e10),colorLime,0,L,-13); // Up base of triangle Basi_H1= LastValue(ValueWhen(HSP,H,1)); "\n Basi_H1= "+ WriteVal(Basi_H1); LeftBarHL= H>Basi_H1 AND L <Basi_H1; LeftBar =LastValue(ValueWhen(LeftBarHL,x,1)); "LeftBar= "+ WriteVal(LeftBar); PlotShapes(IIf(LeftbarHL,shapeDigit0,-1e10),colorRed,0,H,22); base_triangle = x>=LeftBar AND x<=HSP_lastX; "base_triangle= "+ WriteVal(base_triangle); Plot(IIf( base_triangle ,LastValue(ValueWhen(LeftBarHL,Basi_H1,1)),Null),"",colorBlue,1); " Right side " ; RightSideBars = EndValue( HSPx) - BeginValue( LastValue(LSPX) ); "RightSideBars = "+ WriteVal(RightSideBars ); " Left side" ; LeftSideBars = EndValue( LSPX ) - BeginValue( LeftBar ); "LeftSideBars = "+ WriteVal(LeftSideBars ); // Plot Lines if Left bars are less or equally than Rightside LeftLine = LineArray( LeftBar ,LastValue(HSPHigh) , LastValue(LSPX), LastValue(ValueWhen(LSP,L)), 0 ); RightLine = LineArray( LastValue(LSPX) ,LastValue(ValueWhen(LSP,L)) , LastValue(HSPX), LastValue(Basi_H1 ), 0 ); if(LeftSideBars <=RightSideBars ) { Plot( LeftLine , "LeftLine", colorBlue ); Plot( RightLine , "RightLine", colorBlue ); PlotOHLC( LeftLine , LeftLine ,basi_h1 ,LeftLine , "", colorRed, styleCloud ); PlotOHLC( RightLine , RightLine ,basi_h1 ,RightLine , "", colorRed, styleCloud ); }
<<attachment: ^GDAXI-1707_6-14.png>>