Página 1 de 1

Error 4108

Publicado: 27 Nov 2010 00:41
por JSarda
Estoy modificando un asesor en mql4 que tradea a la vez en varios pares.

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

8)

Re: Error 4108

Publicado: 27 Nov 2010 08:54
por Fer137
Pon el OrderSelect() y el OrderClose() con bid para cerrar las buy y ask para las sell.

Re: Error 4108

Publicado: 27 Nov 2010 09:05
por elcctrro
Normaliza los precios obtenidos con MODE_BID y MODE_ASK.

un saludo.