MetaTrader 5プラットフォームビルド2650: バックグラウンドチャートの読み込みとMQL5コードプロファイラーの改善

MetaTrader 5の何が新しくなったのか

9 10月 2020

ターミナル

  1. ターミナル: [オプション]タブに、[ポジションと注文のチャートデータをプリロード]というタイトルの新しい設定があります。
    トラフィックを節約するために、銘柄の価格履歴は関連データが要求されたとき(例: 価格チャートが開かれたとき、テストが開始されたとき)にのみダウンロードされます。ただし、これはアクティブに使用される銘柄にとって常に便利であるとは限りません。この新しいオプションを有効にすると、ポジションまたは指値注文がある銘柄のチャートはバックグラウンドモードで更新されます。したがって、チャートを開いた後、データがダウンロードされるのを待つ必要はなく、関連するデータをすぐに分析できるようになります。




  2. 週末後の日足(バー)の生成を修正しました。
  3. チャートの更新を修正しました。更新された価格データを追加ダウンロードした後、チャートが更新されない場合がありました。
  4. アカウント取引履歴キャッシュの更新を最適化しました。最適化により、History*関数を使用する際のデータ遅延を減らすことができます。
  5. 取引履歴をポジションとして表示するときのコメント列の表示を修正しました。
  6. シグナル購読更新ボタンの表示を修正しました。

MQL5

  1. コードプロファイラーの全体的な更新をさらに改善しました。ビルド2615で提示されたイノベーションに加えて、次の機能が実装されています。
    新しいパラメータの追加
    新しいプロファイラーでのサンプリング方法の使用法は以前に発表しました。プロファイラーは、MQLプログラム操作で一時停止(1秒あたり約1000回)し、特定のコードセグメントで実行された一時停止の数に関する統計を収集します。これには、合計コード操作時間における各関数のシェアを決定するための呼び出しスタックの分析も含まれます。プロファイリング後、ユーザーは、操作が一時停止された回数と、各関数が呼び出しスタックに表示された回数に関する統計を受け取ります。

    • 合計CPU[単位、%] — 関数が呼び出しスタックに出現した回数。<br6>
    • 自己CPU[単位、%] —指定された機能内で直接発生した「一時停止」の数。この変数は、ボトルネックを特定する上で非常に重要です。統計によると、より多くのプロセッサ時間が必要な場合、一時停止がより頻繁に発生します。


    プロファイリング中に関数のインライン化を無効にする機能を追加しました。
    MQLプログラムのコンパイル中に、関数はインライン化されます。つまり、関数コードは関数呼び出し位置に直接追加されます。これにより、パフォーマンスが大幅に向上します。ただし、この手順では、関数のプロファイリングが困難になります。「純」関数に関するレポートを取得するために、MetaEditor設定でインライン化を無効にすることができます。




    レポートデザインの更新
    プロファイリングレポートとソースコードウィンドウでのプロファイリング情報の表示を再設計しました。近代化されたデザインは、VisualStudioユーザにとってはより馴染み深いものになります。




  2. CopyTicksRange関数の動作を修正しました。関数が不完全なデータを返す場合がありました。
  3. 新しいエラーコード「TRADE_RETCODE_HEDGE_PROHIBITED — ヘッジポジションが禁止されているため、注文を出すことはできません。」口座の両建てが無効になっていて、同じ銘柄に対してすでに反対の注文またはポジションがある場合に取引操作を実行しようとすると、エラーが返されます。
  4. 指標のデバッグ時にMessageBoxを呼び出す能力を削除しました。MessageBoxは、ユーザの応答を待っている間、スレッドの実行をずっと中断するため、指標から呼び出すことはできません。
  5. SymbolSelect関数を使用して気配値表示への取引商品の追加を最適化し、大幅に高速化しました。
  6. 固定サイズの配列のArrayInsert関数の動作を修正しました。これで、動作はドキュメントの説明に対応します。要素が挿入されても、宛先配列のサイズは変更されず、挿入位置の右側の要素は右にシフトされます(最後の「count」要素は「 ドロップオフ」されます)。要素はソースから解放されたスペースにコピーされます。

テスター

  1. テスト中のカスタム取引条件設定の操作を修正しました。 設定ダイアログが改訂されました。

    • カスタムコミッションの計算を修正しました。コミッションを有効にするには、パス全体ではなく銘柄名を指定するだけで十分です。
    • より効率的な操作のためにタブを再配置しました。
    • ダイアログの名前を変更し、カスタム設定を有効にするオプションを変更しました。
    • 設定テーブルの列幅を最適化しました。
    • [カスタム設定を使用]オプションを無効にすると、ダイアログ内の他のすべての設定が無効になります。以前は、設定は編集可能なままであり、テスト中に設定が適用されるとユーザに誤解される可能性がありました。




  2. チケットによる取引履歴からの注文の受信に関連する時折のエラーを修正しました。

MetaEditor

  1. コード編集ウィンドウに配色プリセット(ライト(デフォルト)、ダーク、青)を追加しました。エディタービューを手動で構成しなくても、エディターをカスタマイズできます。

    さらに、関数のツールチップの境界線の色をカスタマイズできるようになりました。



     
  2. ツールバーのすべてのアイコンが更新され、HiDPIモニターをサポートするようになりました。

ドキュメントが更新されました。