FORTS: OnTradeTransaction() のリターンコード - ページ 11

 
Dmitry Fedoseev:
どのような状態で注文があったのか、正確には不明です。

注文を削除するには、注文が存在し、「中間」状態でないことが重要です。

よく見てください(全解説付き)。

https://www.mql5.com/ru/forum/58012/page9#comment_2074928

ФОРТС: OnTradeTransaction() коды возврата
ФОРТС: OnTradeTransaction() коды возврата
  • www.mql5.com
Сейчас, коды возврата торгового сервера функции OnTradeTransaction() выглядят так:. - Страница 9 - Категория: биржевой трейдинг
 
Михаил:

注文を削除するには、注文が存在し、「中間」状態でないことが重要です。

よく見てください(全解説付き)。

https://www.mql5.com/ru/forum/58012/page9#comment_2074928

それでも面白いし、サービススクへの明確な反論として、有用かもしれない。
 
Dmitry Fedoseev:
それでも面白いし、サービスデスクの明確な論拠として、有用かもしれない。

つまり、CheckOrderState()関数が正しく記述されていないと?

P/S SD、相変わらずの無言...。

 
Михаил:

つまり、CheckOrderState()関数が正しく記述されていないと?

P/S SD、相変わらずの無言...。

どうだろう。ORDER_STATE_PLACEDだった場合は、同じバグだと思われます。

また、ORDER_STATE_PARTIAL だった場合は、わかりません。 Alexanderはこのケースについて教えてくれませんでしたし、もしかしたら微妙なところがあるのかもしれませんね。

いずれにせよ、注文がどのような状態であったかを正確に知るために、この機能を改良することは可能である。

 
Dmitry Fedoseev:

どうだろう。ORDER_STATE_PLACEDだった場合は、同じバグだと思われます。

また、ORDER_STATE_PARTIAL であった場合は、わかりません。 Alexanderはこのケースについて教えてくれませんでしたが、もしかしたら微妙なところがあるのかもしれませんね。

いずれにせよ、注文の状態がどうであったかを正確に知るために、この機能を改良することは可能である。

もしかしたら改善できるかもしれませんが、(私見ですが)次のことが重要だと思います。

1.注文が中間状態の時、つまり

注文状態開始

注文状態要求追加

注文状態要求の変更

注文状態要求キャンセル

では何もできないので、ORD_BUSY

(このような状態の意味が全くわからない)。

2.履歴にない場合、注文は存在し、ONLY ONEを取ることができます。

の2つの状態があります。

order_state_partial = ord_exist_partial とする。

order_state_placed = ord_exist

3.これらの結論はすべて、「天井裏から」ではなく、MQL5のドキュメントから引用したものです。

そして、もし開発者に「クセ」があれば、MUSTです。

マニュアルに書いてある

4.例えば、私は透視能力者ではないので、開発者が何を言いたかったのかを知ることはできません。

この関数を書いたとき、この関数を書いたとき。

どんな説明をされたとしても、それが結果なんだ!

P/S もちろん、何かを誤解している場合もありますが、この場合は違います。

 

ブローカー(取引所)から注文が「キックバック」されたとき、なぜリターンコードがないのですか?

case ORDER_NONE_REJECTED:
              Print( __FUNCTION__, ": Main ордер отклонён брокером(биржей). Билет = ", trans.order, " Причина: ", result.retcode, " ", result.retcode_external );
            break

2016.09.02 16:11:05.687 trader (GAZR-12.16,H1)    OnTradeTransaction: Main ордер отклонён брокером(биржей). Билет = 43595612 Причина: 0 0
2016.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
 
prostotrader:

ブローカー(取引所)から注文が「キックバック」されたとき、なぜリターンコードがないのですか?

パーティに実行を委ねるときに、このコードがあるとは限りません。

ゲートウェイを確認し、正確な答えが見つかればこのリターンコードを記入することを検討します。

 
Renat Fatkhullin:

このコードは、実行を当事者に委ねたときに必ずあるわけではありません。

ゲートウェイを確認し、このリターンコードを記入することを検討します。

ありがとうございます。
 

今日、MT5サーバーに何らかの不具合があったようです。 注文が再入力され、理由もなく(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 0
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  Ордер отклонён.