MetaTrader 5 build 4730: OpenBLASサポートの拡張とパフォーマンス最適化

このMQL5アップデートでは、より多くのOpenBLASライブラリ関数のサポートと、TransposeConjugate関数およびCompareEqual関数のサポートが導入されています。これにより、行列やベクトルを扱うためのさらなる柔軟性が提供されます。また、Python統合パッケージの互換性が修正され、バージョン3.13までのPythonがサポートされるようになっています。

6 12月 2024

端末

  1. ポジション、注文、取引値の計算を変更しました。値は取引銘柄の基本通貨ではなく口座入金通貨で表示されるようになりました。

    ポジション、注文、取引の価値が口座の預金通貨で表示されるようになりました

  2. デモ口座開設時に生年月日を入力するフィールドを追加しました。

    デモ口座開設時に生年月日を入力するフィールドを追加しました


  3. 端末:チャートサブウィンドウに表示される指標のスケーリングを修正しました。一部のオシレーターにおいて、以前は最小スケール値と最大スケール値が誤って選択される場合がありました。
  4. 端末:ティックデータと価格履歴の展開が最適化され、チャートの読み込み速度が向上しました。
  5. 端末:内部メール 作成ウィンドウでのテキスト色の編集を修正しました。
  6. 端末:ユーザーインターフェイスの翻訳を更新しました。

MQL5

  1. 以下の新しいOpenBLASメソッドを追加しました。

    • EigenSolver2:通常の正方行列のペアの一般化固有値と固有ベクトルを計算します(LAPACK関数GGEV)。
    • EigenSolverX:EAモードで正方行列の固有値と固有ベクトルを計算します。つまり、計算アルゴリズムに影響を与える機能と、付随する計算データを取得する機能を備えています(LAPACK関数GEEVX)。
    • EigenSolver2X:EAモードで正方行列のペアの固有値と固有ベクトルを計算します。つまり、計算アルゴリズムに影響を与える機能と、付随する計算データを取得する機能を備えています(LAPACK関数GGEVX)。
    • EigenSolverShur:固有値、シュール形式の上三角行列、およびシュールベクトルの行列を計算します(LAPACK関数GEES)。
    • EigenSolver2Shur:正方行列のペアに対して、固有値、一般化固有ベクトル、一般化シュール形式、および左シュールベクトルと右シュールベクトルを計算します(LAPACK関数GGES)。
    • EigenSolver2Blocked:ブロックアルゴリズムを使用して、正方行列のペアの一般化固有値と固有ベクトルを計算します(LAPACK関数GGEV3)。
    • EigenSolver2ShurBlocked:ブロックアルゴリズムを使用して、正方行列のペアの固有値、一般化固有ベクトル、一般化シュール形式、および左シュールベクトルと右シュールベクトルを計算します(LAPACK関数GGES3)。
    • EigenSymmetricRobust:Multiple Relatively Robust Representations、MRRRアルゴリズム(LAPACK関数SYEVR、HEEVR)を使用して、対称行列またはエルミート(複素共役)行列の固有値と固有ベクトルを計算します。
    • EigenSymmetricBisect:二分アルゴリズム(LAPACK関数SYEVX、HEEVX)を使用して、対称行列またはエルミート(複素共役)行列の固有値と固有ベクトルを計算します。

  2. 以下の、複素行列用の新しいメソッドを追加しました。

    • TransposeConjugate:随伴行列を作成します。
      matrix<complex<T>> matrix<complex<T>>::TransposeConjugate(void) const;
      このメソッドは、元の行列の要素が転置され、複素共役に変換された新しい随伴行列を返します。

      エラーが発生した場合は、空の行列が返されます。エラーコードを取得するには、GetLastError関数を使用します。

    • CompareEqual:2つの行列の絶対比較
      int matrix<T>::CompareEqual(const matrix<T>& mat) const
      戻り値

      • -1:行列Aの要素が行列Bの対応する要素より小さい場合
      • 0:行列AとBのすべての要素が同一である場合
      • 1:行列Aの要素が行列Bの対応する要素より大きい場合

      入力データが無効な場合、このメソッドはエラーを返すこともあります。エラーコードを取得するには、GetLastError関数を使用します。

  3. 対応する統合パッケージにバージョン3.13までのPythonサポートを追加しました。パッケージを更新するには、次のコマンドを実行します。

    pip install --upgrade MetaTrader5

  4. 最初のタイマーイベントのスキップを修正しました。OnTimerハンドラ内でタイマーが開始された場合、エラーが発生しました。

MetaEditor

  • デバッガーモードでの入力変数の値の計算を修正しました。場合によっては、値の代わりに「unknown identifier」というメッセージが表示されることがありました。

テスター

  • 為替商品を使用してアプリケーションをテストするときに、通貨変換に必要なクロスレートの検索を修正しました。

Web端末

  1. 大量注文のリクエスト実行タイプのサポートを追加しました。
  2. また、ブローカーによって拒否されたリクエストの理由が詳細に説明されるようになりました。
  3. 口座開設フォームを修正しました。ブローカーの設定に応じて情報が要求されるようになりました。
  4. デモ口座登録時の国の検出を修正しました。
  5. ワンクリック取引の警告を表示するダイアログの配置を修正しました。