Hi,
I am trying to create a simple script that closes all existing orders once and only when a new bar is detected.
But my code below always get executed even when new bar is same as old bar.
Thanks to help.
static int old_bars = 0; // remember the amount of bars already known
if (old_bars != Bars) // if a new bar is received
{
for (int i = OrdersTotal() - 1; i >= 0; i--)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
int ticket=OrderTicket();
double lots=OrderLots();
OrderClose(ticket,lots,Ask,3);
}
}
} old_bars = Bars; // remember how many bars are known
I am trying to create a simple script that closes all existing orders once and only when a new bar is detected.
But my code below always get executed even when new bar is same as old bar.
Thanks to help.
static int old_bars = 0; // remember the amount of bars already known
if (old_bars != Bars) // if a new bar is received
{
for (int i = OrdersTotal() - 1; i >= 0; i--)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
int ticket=OrderTicket();
double lots=OrderLots();
OrderClose(ticket,lots,Ask,3);
}
}
} old_bars = Bars; // remember how many bars are known