# HELP Tranlling Stop Candle

120

Heey people!

I'm trying to set TrallingStop the next candle. But has no results.

Thank you.

Sorry English error.

static datetime new_time = 0;
if(OrdersTotal()>0)
{
for(int i=0; i<=OrdersTotal(); i++)
{
{
if(isNewBar(new_time))
}
}
}

bool isNewBar(datetime& new_time)
{
if (new_time != Time[0])               // this helps to avoid placing TRADES on the
{                                      // same PEAK or BOTTOM multiple times.
new_time = Time[0];                 //
return(true);
}
else
return(false);

The code is correct because if you take: Its ok

OrderModify(OrderTicket(),0,Bid*1000*Point,0,0,CLR_NONE);
Moderator
10617

OrderModify(OrderTicket(),0,Close[0],0,0,CLR_NONE);

At the open of a new bar Close[0] is the current price, you cannot usually modify a trade SL with current price. Did you mean Low[1] ?

if(isNewBar(new_time))

Only call this once per tick, before looping through the orders. If you call it in a loop, the 2nd etc time will always return false.

120

Gumrai  Tank very much to answer.

No understand you talked about false return.

is good thus?

static datetime Time0;
bool    newBar;

newBar = Time[0] > Time0;
static datetime new_time = 0;

if (newBar){
Time0 = Time[0];
double barClosePrice = Close[1];
if(OrdersTotal()>0)
{
for(int i=0; i<=OrdersTotal(); i++)
{
{

}
}
}
}

thank you for helping me

120

I can not define the stop in each new candle Low[1].
What's wrong with my code? :(
120

120

The stop was set after 25 candles.

16076

1. if(OrdersTotal()>0){
for(int i=0; i<=OrdersTotal(); i++)
Orders are positions 0 .. OrdersTotal -1.  remove the equals sign and the if statement is unnecessary.
2. OrderModify(OrderTicket(),0,Low[1],0,CLR_NONE);
120

you can tell the error please?
16076

 KeepMarcos: you can tell the error please? You can't modify the opening price of a open order..