Nunca se comprueba si un pedido está seleccionado por OrderSelect(),
Para ser sincero, no entiendo muy bien qué hacer si se devuelve un valor -falso- cuando se selecciona una orden.
¿Significa falso que está 100% ausente entre los MODE_TRADES?
He rediseñado los códigos de apertura de órdenes según tus recomendaciones, francamente no he tocado la configuración del Asesor Experto, así que tengo curiosidad por ver...¿Se venderá o se obtendrá otro beneficio?
Si la orden no está seleccionada, debería devolver -1. Y si no se selecciona por cualquier otro motivo -por ejemplo, un fallo de algún tipo, pero la orden está abierta-, ¿qué debo hacer?
if (ticket>0) // Если позиция открылась
{
while(OrderSelect(ticket,SELECT_BY_TICKET)==false) // Если ордер выбранSleep(100);
double OpenPrice=OrderOpenPrice();
// Print("OrderTicket()=",OrderTicket(), "OrderOpenTime()=",OrderOpenTime()); // Print("TimeLocal()=",TimeLocal()); //---------------------Запоминаем значения сл и тп ордера if (orderType == OP_BUY)
{
}
if (orderType == OP_SELL)
{
}
}
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
... por favor :
La mayor parte de la mitad de las variables, tanto globales como locales, no están inicializadas.
Nunca se comprueba si una orden está seleccionada por OrderSelect(), ni siquiera estamos hablando de comprobar si está abierta o cerrada en absoluto.
No he notado ninguna actualización de las cotizaciones antes de las funciones comerciales...
GetLastError no se restablece antes de abrir/cerrar, pero se comprueba - de nuevo, habrá casos de basura en la variable.
No se comprueban y normalizan los precios al cerrar
¿Quieres continuar?
Adelante.
Muy útil.
Aquí https://www.mql5.com/ru/forum/137651/page3 he publicado mi función de cierre
Sustituir GetInfo() por print, Fun_Error() = ErrorDescription()
Nunca se comprueba si un pedido está seleccionado por OrderSelect(),
Para ser sincero, no entiendo muy bien qué hacer si se devuelve un valor -falso- cuando se selecciona una orden.
¿Significa falso que está 100% ausente entre los MODE_TRADES?
He rediseñado los códigos de apertura de órdenes según tus recomendaciones, francamente no he tocado la configuración del Asesor Experto, así que tengo curiosidad por ver...
¿Se venderá o se obtendrá otro beneficio?
Para ser sincero, no entiendo muy bien qué hacer si se devuelve false cuando se selecciona una orden.
¿Significa falso su ausencia al 100% entre los MODE_TRADES?
significa al 100% que no se puede hacer nada con la orden porque no está seleccionada.
significa al 100% que no se puede hacer nada con ella [la orden] ya que no está seleccionada.
Bien...
Por ejemplo, vea esta función,
Si la orden no está seleccionada, debería devolver -1. Y si no se selecciona por cualquier otro motivo -por ejemplo, un fallo de algún tipo, pero la orden está abierta-, ¿qué debo hacer?Bien... Mierda... Pero si no se selecciona, es un error de algún tipo, ¿no? Hay que hacer algo...
Es posible que no se seleccione:
1) por un error en el código del Asesor Experto;
2) se cerró por circunstancias ajenas al control del EA (SL/TP activado, cerrado manualmente, cerrado por el EA)
Bien... Oh, hombre... pero si no se selecciona, hay un error, ¿no? Hay que hacer algo...
¿Me estás tomando el pelo o hablas en serio?
Haga una pausa y seleccione de nuevo. Yo lo tengo organizado así, funciona en línea:
¿Me estás tomando el pelo o hablas en serio?
Haga una pausa y seleccione de nuevo. Yo lo tengo organizado así, funciona en línea:
He complementado mi puesto allí.
¿Cuántas veces tienes que elegir?
He complementado mi puesto allí.
¿Y cuántas veces hay que elegir?
ANTES. Hasta que se seleccione en un bucle:
Es posible que no se seleccione:
1) Por un error en el código de la EA;
esto es bastante claro
2) se cerró por circunstancias ajenas a la EA (el SL/TP se activó, se cerró manualmente, lo cerró la EA)