FORTS: Códigos de retorno de OnTradeTransaction() - página 11 1...4567891011 Nuevo comentario Mikhail Filimonov 2015.12.02 20:11 #101 Dmitry Fedoseev: No está claro en qué estado se encontraba la orden.Para REMOVER una orden, es importante que esta exista y no se encuentre en un estado "intermedio".Mira con atención (con todas las explicaciones):https://www.mql5.com/ru/forum/58012/page9#comment_2074928 ФОРТС: OnTradeTransaction() коды возврата www.mql5.com Сейчас, коды возврата торгового сервера функции OnTradeTransaction() выглядят так:. - Страница 9 - Категория: биржевой трейдинг Dmitry Fedoseev 2015.12.02 20:14 #102 Михаил: Para REMOVER una orden, es importante que esta exista y no se encuentre en un estado "intermedio".Mira con atención (con todas las explicaciones):https://www.mql5.com/ru/forum/58012/page9#comment_2074928 Sigue siendo interesante, y podría ser útil, como argumento claro para servicedesk. Mikhail Filimonov 2015.12.02 20:16 #103 Dmitry Fedoseev: Sigue siendo interesante, y podría ser útil, como un argumento claro para el servicedesk.¿Cree que la función CheckOrderState() no está escrita correctamente?P/S SD, silencioso como siempre.... Dmitry Fedoseev 2015.12.02 20:33 #104 Михаил: ¿Cree que la función CheckOrderState() no está escrita correctamente?P/S SD, silencioso como siempre....No lo sé. Si era ORDER_STATE_PLACED, probablemente sea el mismo error.Y si era ORDER_STATE_PARTIAL, no lo sé. Alexander no nos habló de este caso y quizás haya algunas sutilezas.En cualquier caso, la función se puede mejorar para saber exactamente qué estado tenía el pedido. Uso de redes neuronales Preguntas de los principiantes [ARCHIVO]Cualquier pregunta de novato, Mikhail Filimonov 2015.12.02 20:45 #105 Dmitry Fedoseev: No lo sé. Si era ORDER_STATE_PLACED, probablemente sea el mismo error.Y si era ORDER_STATE_PARTIAL, no lo sé. Alexander no nos habló de este caso, quizá haya alguna sutileza.En cualquier caso, la función se puede mejorar para saber cuál era exactamente el estado del pedido.Tal vez se pueda mejorar, pero (en mi opinión) lo siguiente es importante:1. Cuando la orden se encuentra en un estado intermedio, es decirESTADO_DE_PEDIDO_INICIADOESTADO_DE_PEDIDO_DE_AGREGACIÓNSOLICITUD_DE_ESTADO_DE_PEDIDO_DE_MODIFICACIÓNESTADO_DE_PEDIDO_DE_CANCELACIÓNentonces no se puede hacer nada con él, así que ORD_BUSY(No veo el sentido de estos estados en absoluto)2. Si la orden no está en el historial, SÍ existe, y puede tomar SOLOdos estados:ORDER_STATE_PARTIAL = ORD_EXIST_PARTIALESTADO_DE_PEDIDO_COLOCADO = ORD_EXIST3. Todas estas conclusiones no están sacadas "del techo", sino de la documentación de MQL5,y si los desarrolladores tienen alguna "peculiaridad" DEBEN¡resérvalos en el manual!4. Yo, por ejemplo, no soy clarividente y no puedo saber qué quisieron decir los desarrolladores concuando escribieron tal o cual función.Sea cual sea la explicación, ¡éste es el resultado!P/S Por supuesto, puede que se malinterprete algo, pero no en este caso. ¿A dónde fue la Debate sobre la negociación Campeonato de optimización de prostotrader 2016.09.02 22:34 #106 ¿Por qué no hay código de devolución cuando la orden es "devuelta" por el corredor (bolsa)?case ORDER_NONE_REJECTED: Print( __FUNCTION__, ": Main ордер отклонён брокером(биржей). Билет = ", trans.order, " Причина: ", result.retcode, " ", result.retcode_external ); break2016.09.02 16:11:05.687 trader (GAZR-12.16,H1) OnTradeTransaction: Main ордер отклонён брокером(биржей). Билет = 43595612 Причина: 0 02016.09.02 16:11:05.687 Trades 'xxxxx': exchange buy 9.00 GAZR-12.16 at market 2016.09.02 16:11:05.687 Trades 'xxxxx': accepted exchange buy 9.00 GAZR-12.16 at market 2016.09.02 16:11:05.687 Trades 'xxxxx': exchange buy 9.00 GAZR-12.16 at market placed for execution in 11.344 ms 2016.09.02 16:18:45.902 Trades 'xxxxx': buy limit 9.00 GAZR-3.17 at 14165 2016.09.02 16:18:45.908 Trades 'xxxxx': accepted buy limit 9.00 GAZR-3.17 at 14165 2016.09.02 16:18:45.909 Trades 'xxxxx': buy limit 9.00 GAZR-3.17 at 14165 placed for execution Renat Fatkhullin 2016.09.02 22:42 #107 prostotrader: ¿Por qué no hay código de devolución cuando la orden es "devuelta" por el corredor (bolsa)?No siempre existe este código cuando se da la ejecución a un partido.Comprobaremos las pasarelas y consideraremos la posibilidad de rellenar este código de retorno si encontramos las respuestas exactas. prostotrader 2016.09.02 22:43 #108 Renat Fatkhullin: Este código no siempre está presente cuando se da la ejecución a un partido.Comprobaremos las pasarelas y consideraremos la posibilidad de rellenar este código de devolución. Gracias. prostotrader 2016.10.21 01:57 #109 Hoy ha habido algún tipo de fallo en el servidor de MT5 Se han vuelto a unir órdenes y no hay razón (0 0).....Print( __FUNCTION__, ": Buy ордер отклонён брокером(биржей). Билет = ", trans.order, " Причина: ", result.retcode, " ", result.retcode_external );2016.10.20 20:31:08.793 trader (PLT-12.16,H1) OnTradeTransaction: Buy ордер отклонён брокером(биржей). Билет = 46614026 Причина: 0 02016.10.20 20:31:08.797 trader (TATN-12.16,H1) StopTrading: Время сервера = 20:31:08; Статус ордера = BUY_ORDER; Билет = 46614027 Ордер отклонён.2016.10.20 20:31:08.797 trader (TATN-12.16,H1) OnTradeTransaction: Buy ордер отклонён брокером(биржей). Билет = 46614027 Причина: 0 02016.10.20 20:31:08.801 trader (BR-12.16,M1) StopTrading: Время сервера = 20:31:08; Статус ордера = SELL_ORDER; Билет = 46614028 Ордер отклонён.2016.10.20 20:31:08.801 trader (BR-12.16,M1) OnTradeTransaction: Sell ордер отклонён брокером(биржей). Билет = 46614028 Причина: 0 02016.10.20 20:31:08.804 trader (SNGP-12.16,H1) StopTrading: Время сервера = 20:31:08; Статус ордера = BUY_ORDER; Билет = 46614029 Ордер отклонён.2016.10.20 20:31:08.804 trader (SNGP-12.16,H1) OnTradeTransaction: Buy ордер отклонён брокером(биржей). Билет = 46614029 Причина: 0 02016.10.20 20:31:08.806 trader (MXI-12.16,M1) StopTrading: Время сервера = 20:31:08; Статус ордера = BUY_ORDER; Билет = 46614030 Ордер отклонён. FORTS: OnTradeTransaction() return codes Cómo trabajar correctamente en Preguntas de los principiantes 1...4567891011 Nuevo comentario
No está claro en qué estado se encontraba la orden.
Para REMOVER una orden, es importante que esta exista y no se encuentre en un estado "intermedio".
Mira con atención (con todas las explicaciones):
https://www.mql5.com/ru/forum/58012/page9#comment_2074928
Para REMOVER una orden, es importante que esta exista y no se encuentre en un estado "intermedio".
Mira con atención (con todas las explicaciones):
https://www.mql5.com/ru/forum/58012/page9#comment_2074928
Sigue siendo interesante, y podría ser útil, como un argumento claro para el servicedesk.
¿Cree que la función CheckOrderState() no está escrita correctamente?
P/S SD, silencioso como siempre....
¿Cree que la función CheckOrderState() no está escrita correctamente?
P/S SD, silencioso como siempre....
No lo sé. Si era ORDER_STATE_PLACED, probablemente sea el mismo error.
Y si era ORDER_STATE_PARTIAL, no lo sé. Alexander no nos habló de este caso y quizás haya algunas sutilezas.
En cualquier caso, la función se puede mejorar para saber exactamente qué estado tenía el pedido.
No lo sé. Si era ORDER_STATE_PLACED, probablemente sea el mismo error.
Y si era ORDER_STATE_PARTIAL, no lo sé. Alexander no nos habló de este caso, quizá haya alguna sutileza.
En cualquier caso, la función se puede mejorar para saber cuál era exactamente el estado del pedido.
Tal vez se pueda mejorar, pero (en mi opinión) lo siguiente es importante:
1. Cuando la orden se encuentra en un estado intermedio, es decir
ESTADO_DE_PEDIDO_INICIADO
ESTADO_DE_PEDIDO_DE_AGREGACIÓN
SOLICITUD_DE_ESTADO_DE_PEDIDO_DE_MODIFICACIÓN
ESTADO_DE_PEDIDO_DE_CANCELACIÓN
entonces no se puede hacer nada con él, así que ORD_BUSY
(No veo el sentido de estos estados en absoluto)
2. Si la orden no está en el historial, SÍ existe, y puede tomar SOLO
dos estados:
ORDER_STATE_PARTIAL = ORD_EXIST_PARTIAL
ESTADO_DE_PEDIDO_COLOCADO = ORD_EXIST
3. Todas estas conclusiones no están sacadas "del techo", sino de la documentación de MQL5,
y si los desarrolladores tienen alguna "peculiaridad" DEBEN
¡resérvalos en el manual!
4. Yo, por ejemplo, no soy clarividente y no puedo saber qué quisieron decir los desarrolladores con
cuando escribieron tal o cual función.
Sea cual sea la explicación, ¡éste es el resultado!
P/S Por supuesto, puede que se malinterprete algo, pero no en este caso.
¿Por qué no hay código de devolución cuando la orden es "devuelta" por el corredor (bolsa)?
¿Por qué no hay código de devolución cuando la orden es "devuelta" por el corredor (bolsa)?
No siempre existe este código cuando se da la ejecución a un partido.
Comprobaremos las pasarelas y consideraremos la posibilidad de rellenar este código de retorno si encontramos las respuestas exactas.
Este código no siempre está presente cuando se da la ejecución a un partido.
Comprobaremos las pasarelas y consideraremos la posibilidad de rellenar este código de devolución.
Hoy ha habido algún tipo de fallo en el servidor de MT5 Se han vuelto a unir órdenes y no hay razón (0 0).....
" Причина: ", result.retcode, " ", result.retcode_external );
2016.10.20 20:31:08.797 trader (TATN-12.16,H1) StopTrading: Время сервера = 20:31:08; Статус ордера = BUY_ORDER; Билет = 46614027 Ордер отклонён.
2016.10.20 20:31:08.797 trader (TATN-12.16,H1) OnTradeTransaction: Buy ордер отклонён брокером(биржей). Билет = 46614027 Причина: 0 0
2016.10.20 20:31:08.801 trader (BR-12.16,M1) StopTrading: Время сервера = 20:31:08; Статус ордера = SELL_ORDER; Билет = 46614028 Ордер отклонён.
2016.10.20 20:31:08.801 trader (BR-12.16,M1) OnTradeTransaction: Sell ордер отклонён брокером(биржей). Билет = 46614028 Причина: 0 0
2016.10.20 20:31:08.804 trader (SNGP-12.16,H1) StopTrading: Время сервера = 20:31:08; Статус ордера = BUY_ORDER; Билет = 46614029 Ордер отклонён.
2016.10.20 20:31:08.804 trader (SNGP-12.16,H1) OnTradeTransaction: Buy ордер отклонён брокером(биржей). Билет = 46614029 Причина: 0 0
2016.10.20 20:31:08.806 trader (MXI-12.16,M1) StopTrading: Время сервера = 20:31:08; Статус ордера = BUY_ORDER; Билет = 46614030 Ордер отклонён.