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
Una vez más, para "candidatos", "doctores", "profesores" y "académicos".
Cualquier evento que llegue a OnTradeTransaction() puede perderse
Por eso creo que es un error que después de recibir el evento significativoTRADE_TRANSACTION_HISTORY_ADD
los datos del terminal no se actualizarán.
En Ayuda(https://www.mql5.com/ru/docs/basis/function/events#ontradetransaction):
Una solicitud de operación enviada manualmente desde el terminal o a través de las funcionesOrderSend()/OrderSendAsync() puede generar varias operaciones consecutivas en el servidor de operaciones. El orden de llegada de estas transacciones al terminal no está garantizado, por lo que no podemos construir nuestro algoritmo de negociación esperando la llegada de unas transacciones comerciales después de otras. Además, las transacciones pueden perderse al ser entregadas desde el servidor al terminal.
Por lo tanto, no está claro para qué se necesita esta función. Simplemente, no deberías usarlo, eso es todo. Tienes que analizar tú mismo el historial de pedidos y operaciones.
En Ayuda(https://www.mql5.com/ru/docs/basis/function/events#ontradetransaction):
Por lo tanto, no está claro para qué se necesita esta función. Simplemente no deberías usarlo, eso es todo. Tienes que analizar tú mismo el historial de órdenes y operaciones.
En cuanto a las órdenes, posiciones y transacciones.
Tal y como está escrito en la ayuda, la secuencia de las transacciones no está garantizada: una transacción de transferencia de órdenes al historial puede recibirse antes que una transacción de un trato.
Elcambio de una posición en el terminal es estrictamente el resultado de la recepción de una transacción comercial, por lo que su recepción es una garantía de que la posición ha cambiado.
La obtención de una transacción para transferir una orden al historial sólo garantiza que la orden ha dejado de estar activa (abierta) y se ha trasladado al historial de órdenes.
En cuanto a esta frase.
Parece que se quedó en la documentación de una de las versiones iniciales del terminal con comercio asíncrono. Se eliminará en un futuro próximo. Los culpables serán ejecutados.
En cuanto a las órdenes, posiciones y transacciones.
Tal y como está escrito en la ayuda, la secuencia de las transacciones no está garantizada: una transacción de transferencia de órdenes al historial puede recibirse antes que una transacción de un trato.
Elcambio de una posición en el terminal es estrictamente el resultado de la recepción de una transacción comercial, por lo que su recepción es una garantía de que la posición ha cambiado.
La obtención de una transacción para transferir una orden al historial sólo garantiza que la orden ha dejado de estar activa (abierta) y se ha trasladado al historial de órdenes.
En cuanto a esta frase.
Parece que se quedó en la documentación de una de las versiones iniciales del terminal con comercio asíncrono. Se eliminará en un futuro próximo. Los culpables serán ejecutados.
¡Muchas gracias!
¿Y yo una ametralladora (o al menos un rifle), para participar en el tiroteo? :)
¡MQ Alexander!
Me gustaría una explicación más amplia de las operaciones y posiciones.
Porque tú escribiste:
Y de hecho resulta lo siguiente:
Prueba de apertura de la demo de Expert Advisor build 1375 (se ejecutó 2 veces)
Y aquí, los resultados:
Ambas veces TRADE_TRANSACTION_HISTORY_ADD fue la primera, pero
en el primer caso no había posición, pero en el segundo sí.
¿Cómo debo entenderlo?
Me olvidé de adjuntar el registro de la terminal:
prostotrader, déjame hacerte una pregunta íntima. ¿Por qué le gustan tanto las órdenes históricas y no le gustan los intercambios? :-))
DijoMQ Alexander:
Что касается ордеров, позиций и сделок.
Como está escrito en la Ayuda - la secuencia de las transacciones entrantes no está garantizada - la transacción de transferencia de orden a la historia puede ser recibida antes de la transacción.Elcambio de una posición en el terminal es estrictamente el resultado de la recepción de una transacción comercial, por lo que su recepción es una garantía de que la posición ha cambiado.
La obtención de una transacción para transferir la orden al historial sólo garantiza que la orden ha dejado de estar activa (abierta) y ha sido transferida al historial de órdenes.
Y en su caso
casi vacío...
Y otro comentario lírico. En el concepto de MT5, la presencia de una orden histórica refleja el hecho de que hubo un intento de realizar una operación. Y no es el hecho de que se haya ejecutado. Y para averiguarlo tenemos que remitirnos al comercio. Ya refleja el resultado de la operación comercial. Entonces es más lógico tratar las transacciones en su código...
prostotrader, déjame hacerte una pregunta íntima. ¿Por qué le gustan tanto las órdenes históricas y no le gustan los intercambios? :-))
MQ Alexander dijo:
Y en su caso
está casi vacío...
Estoy respondiendo a su pregunta íntima.
Probablemente trabaje en el mercado FOREX y se ocupe de una sola orden,
Así que insistes en "mentir" en un tema que ni siquiera entiendes.
Imagina que hay dos volantes en un coche y dos conductores que sólo miran el
el camino. ¿Cómo puede saber el primer conductor que el otro está girando (digamos que hacia la derecha)?
También fíjate bien:
Toda su lógica primitiva se basa en la ejecución de una orden de mercado, así que,
Le informo que hay órdenes limitadas y pendientes
que puede no ser ejecutado en su totalidad, sino que puede ser ejecutado en partes.
Además, fíjate bien:
¡¿Y qué debería ver allí?!
¿Te das cuenta de que accidentalmente obtienes información de posición en el caso TRADE_TRANSACTION_HISTORY_ADD?
Y ya le han dicho que...prostotrader:
Toda su lógica primitiva se basa en la ejecución de una orden de mercado, así que,
Me gustaría llamar su atención sobre la existencia de órdenes limitadas y pendientes
que puede no ejecutarse en su totalidad sino por partes.
No eres quien para juzgar mi lógica primitiva...
¿Y quién va a juzgar?
¡Juzgo sus capacidades por sus declaraciones!
Está claro que la foto no es bonita :(
¿Está más claro, "Profesor"?
Y no recuerdo queMQ Alexander haya delegado en ti para que respondas por él.