# Problem with array

132

Hi all.

Plz  explain to me if this code should work. I want to use ZigZag to manage SL. In order that i look for 3 last value>0 of the indicator. Than I want to use this 3 values in further conditions. Will this 3 val change in every thick? (I copied essential part of code, because whole thing has over 500 lines ).

Will it "zigzag0< zigzag2 && zigzag0<zigzag1 && zigzag1>zigzag2 && Close[1]<zigzag2" be cheeked every thick? i suppose no...Plz help me make it work.

`ZZDepth,ZZDeviation,ZZBackstep are input int`
```void  SLman()
{  int type, ticket;
int total = OrdersTotal();
double pip2dbl = Point;    // 1/tysiąc, nie 10 tys
if(Digits  == 3  || Digits == 5) {pip2dbl = 10.0 * Point; }
double openPrice, stopPrice, zigzag0, zigzag1, zigzag2, SLforSell, SLforBuy;
double SAR0 = iSAR(Symbol(),PERIOD_H1,SARstep,SARmaxstep,0);
double SAR1 = iSAR(Symbol(),PERIOD_H1,SARstep,SARmaxstep,1);
double ATRd = iCustom(NULL,PERIOD_D1,"MTR",MTRperiod,0,1);
SLforSell= MathRound((zigzag1+0.04*ATRd)/Point)*Point;
//---------------
double ZZ3val[3];
int k=0;
int l=0;
for(l,k ; l<200 && k<=2 ; l++)
{ if(iCustom(NULL,PERIOD_H1,"ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,l)>0)
{ ZZ3val[k]=iCustom(NULL,PERIOD_H1,"ZigZag",ZZDepth,ZZDeviation,ZZBackstep,0,l);
k++;
}
zigzag0=ZZ3val[0];
zigzag1=ZZ3val[1];
zigzag2=ZZ3val[2];
}

//-----------------------------------------------//-----------------------------------------------//
for(int i=total-1;i>=0;i--)
{      if(OrderSelect(i, SELECT_BY_POS))
{  ticket = OrderTicket();
type = OrderType();
openPrice = OrderOpenPrice();
stopPrice = OrderStopLoss();
//---------------------------------------------- SL sell ------------------------------------------------
if(type == OP_SELL
&& OrderSymbol()==Symbol()
&& zigzag0< zigzag2 && zigzag0<zigzag1 && zigzag1>zigzag2 && Close[1]<zigzag2
&& OrderProfit()>0
)
OrderModify(ticket,OrderOpenPrice(),SLforSell,OrderTakeProfit(),0,Orange);

}}}

// SLman(); is inside the OnTick() function //

```
15572

1. Brt88: explain to me if this code should work.
```    SLforSell= MathRound((zigzag1+0.04*ATRd)/Point)*Point;
2. ```   if(OrderSelect(i, SELECT_BY_POS)