if(error==129)
{
RefreshRates();
Sleep(10000);
if(cmd==OP_BUY) price=Bid;
Try refresh AFTER sleeping 10 seconds
LEH
Make sure your variable price is declared as a double
Try 5 instead of 3 for Slippage
FWIW
-BB-
Even though I have useddd refreshrates it is still getting the error and not processing the close
for (int i = 0; i <= MyTotalOrders; i++)
{
if (OrderSelect(i, SELECT_BY_POS) == true)
{
if (OrderProfit() > TakeMoneyAt)
{
if(OrderSelect(OrderTicket(),SELECT_BY_TICKET,MODE_TRADES))
{
cmd=OrderType();
//---- first order is buy or sell
if(cmd==OP_BUY || cmd==OP_SELL)
{
while(true)
{
if(cmd==OP_BUY) price=Bid;
else price=Ask;
result=OrderClose(OrderTicket(),OrderLots(),price,3,CLR_NONE);
if(result!=TRUE) { error=GetLastError(); Print("LastError closing first try =",error); }
if(error==135) RefreshRates();
else break;
if(error==129)
{
RefreshRates();
Sleep(10000);
if(cmd==OP_BUY) price=Bid;
else price=Ask;
result=OrderClose(OrderTicket(),OrderLots(),price,3,CLR_NONE);
if(result!=TRUE) { error=GetLastError(); Print("LastError closing second try =",error); }
else error=0;
}
else break;
}
}
}
else Print( "Error closing first neg when order select ", GetLastError());
}
}
}
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Even though I have useddd refreshrates it is still getting the error and not processing the close
for (int i = 0; i <= MyTotalOrders; i++)
{
if (OrderSelect(i, SELECT_BY_POS) == true)
{
if (OrderProfit() > TakeMoneyAt)
{
if(OrderSelect(OrderTicket(),SELECT_BY_TICKET,MODE_TRADES))
{
cmd=OrderType();
//---- first order is buy or sell
if(cmd==OP_BUY || cmd==OP_SELL)
{
while(true)
{
if(cmd==OP_BUY) price=Bid;
else price=Ask;
result=OrderClose(OrderTicket(),OrderLots(),price,3,CLR_NONE);
if(result!=TRUE) { error=GetLastError(); Print("LastError closing first try =",error); }
if(error==135) RefreshRates();
else break;
if(error==129)
{
RefreshRates();
Sleep(10000);
if(cmd==OP_BUY) price=Bid;
else price=Ask;
result=OrderClose(OrderTicket(),OrderLots(),price,3,CLR_NONE);
if(result!=TRUE) { error=GetLastError(); Print("LastError closing second try =",error); }
else error=0;
}
else break;
}
}
}
else Print( "Error closing first neg when order select ", GetLastError());
}
}
}