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>>

Reply via email to