ライブラリ: MT4Orders - ページ 95

 
fxsaber #:

時系列にぴったり合っている。もう一度。MT5は取引履歴を生成する。それはクローズしたポジションの曲がった表現です。

MT5が示すものに誘導されるのではなく、常識によって誘導されるべきである。

わかりました。過去の注文を決済するプロセスに注目しているのですね。

そして、私が言いたかったのは、より正確には、指定した2つの時点の間に口座に存在したポジション(の注文)のリストを取得することです。

もちろん、CloseBy操作のため、いくつかの注文の価格と終了時刻は不正確かもしれません。しかし、利益計算が正しいので、私(ユーザー)にとっては重要ではありません。詳細が必要な場合は、いつでも「注文と取引」セクションをご覧ください。
 
hini #:
指定した2つの時点の間に口座に存在したポジション(ポジション注文)のリスト。
これは、スナップショットなしのモードで MT4Orders を表示します。つまり、一度に表示されます。
 
#define  MT4ORDERS_BYPASS_MAXTIME 1000000

このマクロを有効にすると、どういうわけか、2枚または3枚のチケットがログに出力されることがある:"18521123 22323214".

このマクロをコメントアウトすると、このようなことはなくなりました。コードからPrintを 見つけようとしましたが、見つかりませんでした。

 
hini Printを 見つけようとしましたが、見つかりませんでした。
Include\fxsaber\TradesID\ByPass.mqh

少し前にMQが過去の注文のテーブルの形成を台無しにし、それを修正しようとしなかった。したがって、このマクロは、MQの悪い実装の前に持っていた機能を保証しません。
 
fxsaber #:

しばらく前、MQは過去の注文のテーブルの形成を台無しにし、それを修正しようとしなかった。したがって、このマクロは、MQの悪い実装の前に持っていた機能を保証しません。
何のことですか?
 
fxsaber # :
つまり、このマクロはMQの悪い実装以前に持っていた機能を保証していない。
では、このマクロを放棄しなければならないのか?
 
Alain Verleyen #:
何のことですか?
ここに 非常に詳しく再現されています。簡単に説明すると、新しく削除された未決注文は、チケットで強制的にソートされるため、取引履歴の最後にたどり着けない可能性があります。
Зашивается в Ex5 или задается терминалом при загрузке платформы MetaTrader 5 build 2940
Зашивается в Ex5 или задается терминалом при загрузке платформы MetaTrader 5 build 2940
  • 2021.06.19
  • www.mql5.com
Это как с транзакциями в OnTradeTransaction - очередность прихода транзакций не гарантируется. Одни транзакции фактически приходят после других хотя в теории должно быть наоборот. Супер-оптимизированная разработчиками HistorySelect дозаписывает в конец все новые ордера
 
hini #:
では、このマクロを放棄しなければならないのか?

マクロはこの機能を使用していました。

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

MetaTrader 5ビルド2940の新バージョン:MQL5サービスのショーケースがワークスペースに移動し、デザインが更新されました。

fxsaber, 2021.06.11 09:47 PM

HistorySelectをゼロから使用すると、Expert Advisorの実行中に新規注文がテーブルの最後に移動 します。

  • HistorySelect(0, INT_MAX) のみを使用した場合、新規注文(EA の動作中に履歴に追加された注文)は最後に追加さ れ、ORDER_TIME_DONE_MSC でソートされます

これは壊れていました。マクロはその機能を保証できない。


ZY Virtual では、保留中の注文を削除すると、常に注文の履歴テーブルの最後に書き込まれます。MT5-tester も同じです。この問題は Terminal でのみ発生します。