El asesor va metiendo operaciones y luego cerrandolas.
En alguna transaccion de cierre da el error 129 y al reintentar la operacion vuelve a darlo, como es un loop cada 2.5 sigue dando el error hasta que en un momento cambia y da el error 4108. Finalmente el cierre de la operacion se da por SL.
Para evitar el 129 le agregue un Refresh, tambien pregunto por isAllowed y uso MODE_BID o MODE_ASK en Market_Info, que mas le podria agregar para evitar el error 129, y para evitar el 4108 que podria agregarle ?
while (true)
{
if (IsTradeAllowed()==false)
{
Sleep(2500);
FileWrite(handle, "Reintento x Canal Ocupado\n");
FileFlush(handle);
continue;
}
RefreshRates();
if (!OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,White))
{
FileWrite(handle, "OrderClose Error \n");
FileFlush(handle);
FileWrite(handle, GetLastError());
FileFlush(handle);
Sleep(2500);
FileWrite(handle, "Reintento \n");
FileFlush(handle);
}
else
{
FileWrite(handle, "OrderClose OK \n");
FileFlush(handle);
break;
}
}
Gracias
