FORTS: codici di ritorno di OnTradeTransaction() - pagina 11 1...4567891011 Nuovo commento Mikhail Filimonov 2015.12.02 20:11 #101 Dmitry Fedoseev: Non è chiaro esattamente in quale stato fosse l'ordine.Per RIMUOVERE un ordine, è importante che esista e che non si trovi in uno stato "intermedio".Guarda attentamente (con tutte le spiegazioni):https://www.mql5.com/ru/forum/58012/page9#comment_2074928 ФОРТС: OnTradeTransaction() коды возврата www.mql5.com Сейчас, коды возврата торгового сервера функции OnTradeTransaction() выглядят так:. - Страница 9 - Категория: биржевой трейдинг Dmitry Fedoseev 2015.12.02 20:14 #102 Михаил: Per RIMUOVERE un ordine, è importante che esista e che non si trovi in uno stato "intermedio".Guarda attentamente (con tutte le spiegazioni):https://www.mql5.com/ru/forum/58012/page9#comment_2074928 Ancora interessante, e potrebbe essere utile, come un argomento chiaro per servicedesk. Mikhail Filimonov 2015.12.02 20:16 #103 Dmitry Fedoseev: Ancora interessante, e potrebbe essere utile, come un argomento chiaro per il servicedesk.Quindi pensi che la funzione CheckOrderState() non sia scritta correttamente?P/S SD, silenzioso come sempre.... Dmitry Fedoseev 2015.12.02 20:33 #104 Михаил: Quindi pensi che la funzione CheckOrderState() non sia scritta correttamente?P/S SD, silenzioso come sempre....Non lo so. Se era ORDER_STATE_PLACED, probabilmente è lo stesso bug.E se fosse ORDER_STATE_PARTIAL, non lo so, Alexander non ci ha parlato di questo caso e forse ci sono delle sottigliezze.In ogni caso, la funzione può essere migliorata per sapere esattamente quale stato aveva l'ordine. Come controllare se un Errori, bug, domande Qualsiasi domanda da principiante, Mikhail Filimonov 2015.12.02 20:45 #105 Dmitry Fedoseev: Non lo so. Se era ORDER_STATE_PLACED, probabilmente è lo stesso bug.E se fosse ORDER_STATE_PARTIAL, non lo so. Alexander non ci ha parlato di questo caso, forse ci sono delle sottigliezze.In ogni caso, la funzione può essere migliorata per sapere quale era esattamente lo stato dell'ordine.Forse si può migliorare, ma (secondo me) è importante quanto segue:1. Quando l'ordine è in uno stato intermedio, cioèSTATO DELL'ORDINE INIZIATOORDINE_STATO_RICHIESTA_AGGIUNTARICHIESTA DI MODIFICA DELLO STATO DELL'ORDINEORDINE_STATO_RICHIESTA_ANNULLAMENTOallora non ci si può fare nulla, quindi ORD_BUSY(Non vedo proprio il senso di questi stati)2. Se l'ordine non è nella storia, esiste, e può prendere solodue stati:ORDER_STATE_PARTIAL = ORD_EXIST_PARTIALORDINE_STATO_POSTO = ORDINE_ESISTENTE3. Tutte queste conclusioni non sono prese "dal soffitto", ma dalla documentazione di MQL5,e se gli sviluppatori hanno qualche "particolarità" DEVONOdelinearli nel manuale!4. Io, per esempio, non sono chiaroveggente e non posso sapere cosa intendevano gli sviluppatori conquando hanno scritto questa o quella funzione.Qualsiasi spiegazione ti abbiano dato, questo è il risultato!P/S Naturalmente, si può fraintendere qualcosa, ma non in questo caso. Discussione sull articolo "Come Come si fa a Tutte le domande dei prostotrader 2016.09.02 22:34 #106 Perché non c'è un codice di ritorno quando l'ordine viene "cacciato indietro" dal broker (scambio)?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: Perché non c'è un codice di ritorno quando l'ordine viene "cacciato indietro" dal broker (scambio)?Non c'è sempre questo codice quando si dà l'esecuzione a un partito.Controlleremo i gateway e prenderemo in considerazione l'inserimento di questo codice di ritorno se troviamo le risposte esatte. prostotrader 2016.09.02 22:43 #108 Renat Fatkhullin: Questo codice non è sempre presente quando si dà l'esecuzione a un partito.Controlleremo i gateway e prenderemo in considerazione l'inserimento di questo codice di ritorno. Grazie. prostotrader 2016.10.21 01:57 #109 C'è stato una specie di guasto sul server MT5 oggi Gli ordini sono stati ricongiunti e senza motivo (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 10 punti 3.mq4 Come iniziare con Metatrader 1...4567891011 Nuovo commento
Non è chiaro esattamente in quale stato fosse l'ordine.
Per RIMUOVERE un ordine, è importante che esista e che non si trovi in uno stato "intermedio".
Guarda attentamente (con tutte le spiegazioni):
https://www.mql5.com/ru/forum/58012/page9#comment_2074928
Per RIMUOVERE un ordine, è importante che esista e che non si trovi in uno stato "intermedio".
Guarda attentamente (con tutte le spiegazioni):
https://www.mql5.com/ru/forum/58012/page9#comment_2074928
Ancora interessante, e potrebbe essere utile, come un argomento chiaro per il servicedesk.
Quindi pensi che la funzione CheckOrderState() non sia scritta correttamente?
P/S SD, silenzioso come sempre....
Quindi pensi che la funzione CheckOrderState() non sia scritta correttamente?
P/S SD, silenzioso come sempre....
Non lo so. Se era ORDER_STATE_PLACED, probabilmente è lo stesso bug.
E se fosse ORDER_STATE_PARTIAL, non lo so, Alexander non ci ha parlato di questo caso e forse ci sono delle sottigliezze.
In ogni caso, la funzione può essere migliorata per sapere esattamente quale stato aveva l'ordine.
Non lo so. Se era ORDER_STATE_PLACED, probabilmente è lo stesso bug.
E se fosse ORDER_STATE_PARTIAL, non lo so. Alexander non ci ha parlato di questo caso, forse ci sono delle sottigliezze.
In ogni caso, la funzione può essere migliorata per sapere quale era esattamente lo stato dell'ordine.
Forse si può migliorare, ma (secondo me) è importante quanto segue:
1. Quando l'ordine è in uno stato intermedio, cioè
STATO DELL'ORDINE INIZIATO
ORDINE_STATO_RICHIESTA_AGGIUNTA
RICHIESTA DI MODIFICA DELLO STATO DELL'ORDINE
ORDINE_STATO_RICHIESTA_ANNULLAMENTO
allora non ci si può fare nulla, quindi ORD_BUSY
(Non vedo proprio il senso di questi stati)
2. Se l'ordine non è nella storia, esiste, e può prendere solo
due stati:
ORDER_STATE_PARTIAL = ORD_EXIST_PARTIAL
ORDINE_STATO_POSTO = ORDINE_ESISTENTE
3. Tutte queste conclusioni non sono prese "dal soffitto", ma dalla documentazione di MQL5,
e se gli sviluppatori hanno qualche "particolarità" DEVONO
delinearli nel manuale!
4. Io, per esempio, non sono chiaroveggente e non posso sapere cosa intendevano gli sviluppatori con
quando hanno scritto questa o quella funzione.
Qualsiasi spiegazione ti abbiano dato, questo è il risultato!
P/S Naturalmente, si può fraintendere qualcosa, ma non in questo caso.
Perché non c'è un codice di ritorno quando l'ordine viene "cacciato indietro" dal broker (scambio)?
Perché non c'è un codice di ritorno quando l'ordine viene "cacciato indietro" dal broker (scambio)?
Non c'è sempre questo codice quando si dà l'esecuzione a un partito.
Controlleremo i gateway e prenderemo in considerazione l'inserimento di questo codice di ritorno se troviamo le risposte esatte.
Questo codice non è sempre presente quando si dà l'esecuzione a un partito.
Controlleremo i gateway e prenderemo in considerazione l'inserimento di questo codice di ritorno.
C'è stato una specie di guasto sul server MT5 oggi Gli ordini sono stati ricongiunti e senza motivo (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 Ордер отклонён.