Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Si ejecuta este EA en una cuenta sin posiciones ni órdenes actuales.
y luego cerrar manualmente la posición abierta por el EA, entonces habrá tres posiciones abiertas en la cobertura (en la posición neta de triple volumen).
¿Es éste el comportamiento correcto? Probablemente no entiendo bien el Terminal. Entonces, por favor, aclárelo.
En primer lugar, deberías leer la ayuda.
https://www.mql5.com/ru/docs/event_handlers/ontrade
Tenga en cuenta:
En pocas palabras, el manejador OnTrade() puede ser llamado para cada operación individual. La consecuencia de cerrar una posición puede ser la llegada de varias transacciones separadas.
Esto se puede comprobar fácilmente - sólo tiene que añadir Print() a OnTrade() de su ejemplo.
Además, quiero llamar tu atención sobre tu prueba anterior que en vano esperas conocer el ticket del pedido a través de OrderSendAsync().
Además quiero llamar tu atención, según tu prueba anterior, que esperas en vano averiguar el ticket del pedido a través de OrderSendAsync().
Parece que no está en ninguna parte. Sólo HistorySelect se retrasa en OnTrade.
Parece que no está en ninguna parte. Sólo se muestran los rezagos de HistorySelect en OnTrade.
Lo primero que hay que hacer es leer la hoja informativa.
https://www.mql5.com/ru/docs/event_handlers/ontrade
Tenga en cuenta:
En pocas palabras, el manejador OnTrade() puede ser llamado para cada transacción individual de comercio. La consecuencia de cerrar una posición puede ser la llegada de varias transacciones separadas.
Se puede comprobar fácilmente - sólo tiene que añadir Print() a OnTrade() de su ejemplo.
Por supuesto, he hecho la impresión. La pregunta no se refería al número de llamadas de OnTrade, sino al número de posiciones abiertas.
Después del primer OnTrade, se coloca una orden de mercado. En el siguiente OnTrade, esta orden de mercado no debe permitir la apertura de más órdenes por la condición. Pero en el siguiente OnTrade, la suma de OrdersTotal() + PositionsTotal() también es cero. ¿Es correcto?
Gracias, no había visto el trozo de copia-pega.
Parece que no está en ninguna parte. Sólo se muestran los retrasos de HistorySelect en OnTrade.
El almacenamiento en caché de las selecciones de pedidos sigue mejorando hoy, será beta en unas horas.
El almacenamiento en caché de las selecciones de pedidos sigue mejorando hoy, será beta en unas horas.
¿Se refiere a HistorySelect? Sólo el enlace automático no lleva a OrderSelect.
¿Alguna idea de por qué mt5 no cuenta con la pestaña "Comisiones"? Sólo aparecen cuando se cierra una operación.
¿Alguna idea de por qué mt5 no cuenta con la pestaña "Comisiones"? Sólo aparecen cuando se cierra una operación.
Hizo la impresión, por supuesto. La cuestión no era el número de llamadas de OnTrade, sino el número de posiciones abiertas.
Después del primer OnTrade, se coloca una orden de mercado. En el siguiente OnTrade, esta orden de mercado no debe permitir la apertura de más órdenes por la condición. Pero en el siguiente OnTrade, la suma de OrdersTotal() + PositionsTotal() también es cero. ¿Es correcto?
Todo está en la ayuda: https://www.mql5.com/ru/docs/trading/ordersendasync
Todo está en la ayuda: https://www.mql5.com/ru/docs/trading/ordersendasync
https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_state
Cada orden tiene un estado que describe su situación. Para obtener información, utilice la funciónOrderGetInteger() oHistoryOrderGetInteger() con el modificador ORDER_STATE. Los valores válidos se almacenan en la enumeración ENUM_ORDER_STATE.
ENUM_ORDER_STATE
Identificador
Descripción
ESTADO_DE_PEDIDO_INICIADO
Orden verificada para su corrección, pero aún no aceptada por el corredor
¿No se produce el estado de inicio después de un OrderSendAsync exitoso?