Creating a robust trading robot cannot be done without an understanding of the mechanisms of the MetaTrader 5 trading system. The client terminal receives the information about the positions, orders, and deals from the trading server. To handle this data properly using the MQL5, it's necessary to have a good understanding of the interaction between the MQL5-program and the client terminal.
ライブラリ(MT4Orders.mqh)はそれほどメモリを消費しません。たとえば、この EA を 実行して、ご自分の目で確かめてみてください。
新しいインジケータハンドルを作成し、古いハンドルを削除していません。
私はインジケーターを使用していません。
あなたの言う通り、ライブラリはそれほど大量のメモリを消費しませんが、それでもこれだけのメモリを消費します:
HistorySelect(0,INT_MAX);このページによると
https://www.mql5.com/ja/articles/211
「取引履歴をすべて処理しようとする試みは、ほとんどの場合、間違っています。処理される取引/注文の数が数千、数万程度になると、プログラムの動作は劇的に遅くなります。"
1M以上の取引がある場合、ライブラリはそれらをすべて配列に格納します。
mt4とmt5の架け橋となるこのライブラリを作成し、皆と共有したことに感謝します。ただ、スワップや手数料の値を適切に取得する方法(ブローカーが実際に提供しているものであることを前提に)を説明している場所がオンライン上に1つしかなく、しかも難解な方法で書かれているのが残念です。
あなたの言う通り、ライブラリーはそれほどメモリを消費しないが、しかし、これは使用する:
このページによると
https://www.mql5.com/ja/articles/211
「取引履歴をすべて処理しようとする試みは、ほとんどの場合、間違っています。処理される取引/注文の数が数千、数万程度になると、プログラムの動作は急激に遅くなります。"
1M以上の取引がある場合、ライブラリはそれらをすべて配列に格納します。
その結果
130K 取引 + 190K 注文、端末のメモリ消費量は 20 MB 増加(+10%)。
パフォーマンスを自分で測定できます。ドキュメントはとっくに古くなっています。
ライブラリを使用すると、メモリ消費量が最大10%増加する 可能性があります。
その理由は何ですか?
それと何の関係があるんだ?
取引、自動取引システム、取引戦略のテストに関するフォーラム
ライブラリ: MT4Orders
fxsaber, 2023.07.07 13:12
ライブラリを使用すると、メモリ消費量が最大10%増加する 可能性があります。
昨日、ライブラリーのアップデートがあったと思っていたんだけど、1年も追いつかなかったよ :)
楽しみにしているよ!
サブでは、機能移譲でconstを使うことはどの程度有利なのでしょうか?
また同時に、関数の中にクラスメンバーを 作ることは合理的なのでしょうか、それともロボットトレードではグローバル、7文字でできるのでしょうか?
スパイ・インジケータを使用して、各ティックで処理を行います。
各ティックでの処理は、空の通常では、異常をキャッチしません、それはあなたの関数の質問の最適化の問題です...fxsaber #:
/ 追加: MT4ORDERS_ORDERS_SORTマクロは、MT4の注文履歴を終了/削除時刻順にソートして生成します。アップデートをダウンロードして確認したところ、指値注文ですべて問題なく機能している。
ありがとうございます!
ラグはまだない。
現在、前方変種が 使用されている。
以下は、OrdersHistoryTotal() の隣接する呼び出しの間に取引履歴が更新された場合に、そのようなソリューションの実行時間を表示できるコードです。
いくつかの取引口座で結果を実行する。HistoryOrdersTotal() の横軸。
100KのMT5注文で、ラグが10ミリ秒(取引履歴が前回の実行後に更新された場合のOrdersHistoryTotalの実行時間)かかることがはっきりとわかります。
Testerではまったくラグがありません。ターミナルのみ。もちろん、高速化することは可能ですが、そこまでではありません。