FORTS: Códigos de retorno OnTradeTransaction() - página 11 1...4567891011 Novo comentário Mikhail Filimonov 2015.12.02 20:11 #101 Dmitry Fedoseev: Não está claro exatamente em que estado a ordem estava.Para RETIRAR uma ordem, é importante que ela exista e não esteja em um estado "intermediário".Olhe com atenção (com todas as explicações):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 RETIRAR uma ordem, é importante que ela exista e não esteja em um estado "intermediário".Olhe com atenção (com todas as explicações):https://www.mql5.com/ru/forum/58012/page9#comment_2074928 Ainda interessante, e pode ser útil, como um argumento claro para servir. Mikhail Filimonov 2015.12.02 20:16 #103 Dmitry Fedoseev: Ainda interessante, e pode ser útil, como um argumento claro para o servicedesk.Então você acha que a função CheckOrderState() não está escrita corretamente?P/S SD, silencioso como sempre.... Dmitry Fedoseev 2015.12.02 20:33 #104 Михаил: Então você acha que a função CheckOrderState() não está escrita corretamente?P/S SD, silencioso como sempre....Eu não sei. Se foi ORDER_STATE_PLACED, provavelmente é o mesmo bug.E se foi ORDER_STATE_PARTIAL, não sei. Alexander não nos falou sobre este caso e talvez haja algumas sutilezas.Em qualquer caso, a função pode ser melhorada para saber exatamente qual era o estado do pedido. Dúvidas,insetos disсussing [AVISO FECHADO!] Qualquer pergunta [ARQUIVO] Qualquer pergunta de Mikhail Filimonov 2015.12.02 20:45 #105 Dmitry Fedoseev: Eu não sei. Se foi ORDER_STATE_PLACED, provavelmente é o mesmo bug.E se foi ORDER_STATE_PARTIAL, não sei. Alexander não nos falou sobre este caso, talvez haja algumas sutilezas.Em qualquer caso, a função pode ser melhorada para saber exatamente qual era o estado do pedido.Talvez possa ser melhorado, mas (na minha opinião) o seguinte é importante:1. Quando a ordem está em um estado intermediário, a saberORDEM_ESTADUAL_INICIADAPEDIDO_DE_ORDEM_ESTADO_ADDORDER_STATE_REQUEST_MODIFYPEDIDO_ESTADO_DE_PEDIDO_CÉLULAentão nada pode ser feito com ele, então ORD_BUSY(não vejo o objetivo destes estados de modo algum)2. Se a ordem não está na história, ela existe, e pode levar APENASdois estados:ORDER_STATE_PARTIAL = ORD_EXIST_PARTIALORDER_STATE_PLACED = ORD_EXIST3. Todas estas conclusões não são tiradas "do teto", mas da documentação da MQL5,e se os desenvolvedores têm alguma "peculiaridade", eles DEVEMdescreva-os no manual!4. Eu, por exemplo, não sou clarividente e não posso saber o que os desenvolvedores queriam dizer comquando eles escreveram esta ou aquela função.Qualquer que seja a explicação que eles lhe deram, esse é o resultado!P/S É claro, você pode entender mal alguma coisa, mas não neste caso. Uma lista de programadores Quaisquer perguntas de recém-chegados Seqüência de execução Init() prostotrader 2016.09.02 22:34 #106 Por que não há código de retorno quando a ordem é "chutada de volta" pelo corretor (troca)?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 que não há código de retorno quando a ordem é "chutada de volta" pelo corretor (troca)?Nem sempre há este código quando se dá a execução a uma parte.Verificaremos os portões e consideraremos o preenchimento deste código de retorno se encontrarmos as respostas exatas. prostotrader 2016.09.02 22:43 #108 Renat Fatkhullin: Este código nem sempre está presente quando se dá a execução a uma parte.Vamos verificar os portões e considerar o preenchimento deste código de retorno. Obrigado. prostotrader 2016.10.21 01:57 #109 Houve algum tipo de falha no servidor MT5 hoje Os pedidos foram reinseridos e nenhuma razão (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 Como trabalhar corretamente em Experiências com o MetaTrader 1...4567891011 Novo comentário
Não está claro exatamente em que estado a ordem estava.
Para RETIRAR uma ordem, é importante que ela exista e não esteja em um estado "intermediário".
Olhe com atenção (com todas as explicações):
https://www.mql5.com/ru/forum/58012/page9#comment_2074928
Para RETIRAR uma ordem, é importante que ela exista e não esteja em um estado "intermediário".
Olhe com atenção (com todas as explicações):
https://www.mql5.com/ru/forum/58012/page9#comment_2074928
Ainda interessante, e pode ser útil, como um argumento claro para o servicedesk.
Então você acha que a função CheckOrderState() não está escrita corretamente?
P/S SD, silencioso como sempre....
Então você acha que a função CheckOrderState() não está escrita corretamente?
P/S SD, silencioso como sempre....
Eu não sei. Se foi ORDER_STATE_PLACED, provavelmente é o mesmo bug.
E se foi ORDER_STATE_PARTIAL, não sei. Alexander não nos falou sobre este caso e talvez haja algumas sutilezas.
Em qualquer caso, a função pode ser melhorada para saber exatamente qual era o estado do pedido.
Eu não sei. Se foi ORDER_STATE_PLACED, provavelmente é o mesmo bug.
E se foi ORDER_STATE_PARTIAL, não sei. Alexander não nos falou sobre este caso, talvez haja algumas sutilezas.
Em qualquer caso, a função pode ser melhorada para saber exatamente qual era o estado do pedido.
Talvez possa ser melhorado, mas (na minha opinião) o seguinte é importante:
1. Quando a ordem está em um estado intermediário, a saber
ORDEM_ESTADUAL_INICIADA
PEDIDO_DE_ORDEM_ESTADO_ADD
ORDER_STATE_REQUEST_MODIFY
PEDIDO_ESTADO_DE_PEDIDO_CÉLULA
então nada pode ser feito com ele, então ORD_BUSY
(não vejo o objetivo destes estados de modo algum)
2. Se a ordem não está na história, ela existe, e pode levar APENAS
dois estados:
ORDER_STATE_PARTIAL = ORD_EXIST_PARTIAL
ORDER_STATE_PLACED = ORD_EXIST
3. Todas estas conclusões não são tiradas "do teto", mas da documentação da MQL5,
e se os desenvolvedores têm alguma "peculiaridade", eles DEVEM
descreva-os no manual!
4. Eu, por exemplo, não sou clarividente e não posso saber o que os desenvolvedores queriam dizer com
quando eles escreveram esta ou aquela função.
Qualquer que seja a explicação que eles lhe deram, esse é o resultado!
P/S É claro, você pode entender mal alguma coisa, mas não neste caso.
Por que não há código de retorno quando a ordem é "chutada de volta" pelo corretor (troca)?
Por que não há código de retorno quando a ordem é "chutada de volta" pelo corretor (troca)?
Nem sempre há este código quando se dá a execução a uma parte.
Verificaremos os portões e consideraremos o preenchimento deste código de retorno se encontrarmos as respostas exatas.
Este código nem sempre está presente quando se dá a execução a uma parte.
Vamos verificar os portões e considerar o preenchimento deste código de retorno.
Houve algum tipo de falha no servidor MT5 hoje Os pedidos foram reinseridos e nenhuma razão (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 Ордер отклонён.