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

ウェブプラットフォーム、デスクトップ版、モバイル版の更新履歴

5 9月 2025
新しいMetaTrader 5プラットフォームビルド5260:Algo Forgeの強化、OpenBLASサポート拡張、MQL5における新しい継承ルール

端末

  1. 取引銘柄仕様における証拠金設定の表示を修正しました。以前は、フローティングレバレッジ(例:口座ポジション量に基づき計算される場合)を使用した際、契約仕様内の証拠金パラメータが誤って表示されることがありました。
  2. 負の価格を許可する銘柄でのオーダーブックの並び順を修正しました。正の価格、負の価格、ゼロ価格の注文が正しい順序で正確に表示されるようになりました。 
  3. ユーザーガイドに「テスターが履歴データをダウンロードする方法」に関する新セクションを追加しました。これにより、ストラテジーテスターが取引履歴をどのように扱うかを理解するための重要ポイントがまとめられています。計算の安定性を確保するために、テスターは常に以下の「開始前履歴バッファ」を読み込みます。
    • D1以下:前暦年の初めからデータを読み込みます。これにより、少なくとも1年間の履歴が提供されます(例:テスト開始日が2023年3月1日の場合、2022年1月1日からターミナルデータがダウンロードされます。これはテスト開始の14か月前に相当します)
    • W1:少なくとも100本の週足(約2年)
    • MN1:少なくとも100本の月足(約8年)

    利用可能な履歴が不足している場合、テスターは実際の開始日を、必要条件を満たす最も近い時点まで自動的にシフトします。

    そのため、テストはユーザーが指定した日付よりも後に開始されます。テスターログには、以下のような関連メッセージが表示されます。

    start time changed to 2024.03.15 00:00 to provide data at beginning
  4. ターミナルインターフェースのアイルランド語への翻訳を追加しました。
  5. ユーザーインターフェースの翻訳を更新しました。

MQL5

  1. Matrix Balanceセクションに新たに5つのOpenBLASメソッドを追加し、正方行列の機能を拡張しました。新しい関数群では以下が可能です。
    • 固有値計算の精度向上のための行列バランス調整
    • 固有ベクトルの逆変換
    • ヘッセンベルグ形およびシュール分解への変換(直交行列の生成を含む)

    これらのメソッドにより、行列の事前準備から精密で安定したスペクトル計算まで、開発者は完全な変換サイクルを利用できるようになります。

    メソッドはLAPACKアルゴリズム(GEBAL、GEBAK、GEHRD、ORGHR、HSEQR)に基づいており、高性能かつ信頼性の高い処理を保証します。

    • MatrixBalance:一般的な実数または複素数行列を、行と列の順序を調整し、対角的相似変換を適用することでバランス調整します。バランス調整により行列のL1ノルムが減少し、計算される固有値や固有ベクトルの精度が向上する場合があります(LAPACK関数GEBAL)。
    • EigenVectorsBackward:バランス調整された行列で計算された固有ベクトルを基に、元の一般的な実数または複素数行列の右固有ベクトルまたは左固有ベクトルを逆変換により構築します(LAPACK関数GEBAK)。 
    • ReduceToHessenbergBalanced:バランス調整された一般的な実数または複素数行列を、直交相似変換により上ヘッセンベルグ型に変換します(LAPACK関数GEHRD)。
    • ReflectHessenbergBalancedToQ:ヘッセンベルグ型への変換で生成された次数nの基本反射(Householder reflectors)の積として定義される直交行列Qを生成します(LAPACK関数ORGHR)。
    • EigenHessenbergBalancedSchurQ:ヘッセンベルグ行列の固有値およびシュール分解から行列TとZを計算します。必要に応じて、ヘッセンベルグ形に変換された入力行列のシュール分解も計算可能です(LAPACK関数HSEQR)。


  2. 固有値セクションに2つの新しいメソッドを追加しました。両方の関数はシュール分解の後に固有ベクトルを効率的に計算し、MQL5における線形代数ツール一式を完成させます。

    • EigenVectorsTriangularZ:実シュール標準形(実上準三角行列)または複素シュール標準形(上三角行列)の固有ベクトルを計算します。分解A = Q · T · Qᴴを使用します(LAPACK関数)。高い数値精度を提供します。
    • EigenVectorsTriangularZBlocked:実シュール標準形(実上準三角行列)または複素シュール標準形(上三角行列)の固有ベクトルを計算するブロック版(LAPACK関数TREVC3)。計算は高速ですが、精度はやや劣ります。


  3. 新しいメソッド隠蔽ルールによる継承の重要な変更

    従来は、派生クラスや構造体が基底クラスと同じ名前のメソッドを定義した場合、オーバーロードがおこなわれ、基底クラスと派生クラスのすべてのバージョンが派生クラス内で利用可能でした。現在は、派生クラスで同名のメソッドを定義すると、基底クラスのメソッドは隠蔽メソッド隠蔽)されます。

    隠蔽された基底クラスのメソッドを呼び出すには、呼び出し時にスコープを明示的に指定する必要があります。
    class Base
      {
    public: 
       void Print(int x)   { ::Print("Base int: ", x); }
       void Print(double y){ ::Print("Base double: ", y); }
      };
    
    class Derived : public Base
      {
    public:
       void Print(string s){ ::Print("Derived string: ", s); }
      };
    
    void OnStart()
      {
       Derived d;
       d.Print("text");    // call of Derived::Print(string)
       d.Print(10);        // ATTENTION! Calling Derived::Print(string) since Base::Print is hidden (inaccessible)
       d.Base::Print(10);  // explicit call to hidden parent method
      }
    一定期間、隠蔽された基底クラスのメソッドの方が、呼び出しパラメータにより適合しているにもかかわらず、派生クラスの利用可能なメソッドが選択される場合、MQL5コンパイラは警告を出します。以下は、上記コードでのd.Print(10)の呼び出しの例です。
    call resolves to 'void Derived::Print(string)' instead of 'void Base::Print(int)' due to new rules of method hiding
       see declaration of function 'Derived::Print'
       see declaration of function 'Base::Print'
    implicit conversion from 'number' to 'string'

  4. 基底クラスのメソッドオーバーロードを復元するためのusing演算子を追加しました。

    新しい動作を制御するために、MQL5にusing演算子が導入されました。これにより、クラスや構造体のスコープにおいて、基底型からあるメソッドのすべてのオーバーロードを「引き入れる」ことができます。
    class Base
      {
    protected:
       void Print(int x)   { ::Print("Base int: ", x); }
       void Print(double y){ ::Print("Base double: ", y); }
      };
    
    class Derived : public Base
      {
    public:
       void Print(string s){ ::Print("Derived string: ", s); }
       using Base::Print;  // return Print overloads from Base
      };
    
    void OnStart()
      {
       Derived d;
       d.Print("text");   // Derived::Print(string)
       d.Print(42);       // Base::Print(int)
       d.Print(3.14);     // Base::Print(double)
      }
    using Base::Print;が削除された場合、d.Print(42)とd.Print(3.14)の呼び出しは利用できなくなり、Derived::Print(string)だけが残ります。

    さらに、この例では 基底クラスのprotectedメソッドが派生クラスで利用可能になる(可視性がprotectedからpublicに変わる)ことが確認できます。

    これにより、開発者はクラス階層をより柔軟かつ予測可能に制御でき、どの基底クラスのメソッドオーバーロードを派生型で利用可能にするかを正確に定義できるようになります。

MetaEditor

  1. Algo ForgeにおけるGit操作のためのSHA-1ハッシュ計算を高速化しました。バルク処理においてパフォーマンスが40%以上向上しました。
  2. Git操作におけるファイル変更チェックを修正。内容が変わらず更新日時だけが変化した場合、ファイルは変更済みとみなされなくなり、誤検出を排除してリモートリポジトリとの競合を防止できます。

Algo Forge

MQL5 Algo Forgeユーザーガイドを公開しました。Gitの利点を不要な複雑さなしに解説しています。
  • 信頼性のあるバージョン履歴管理とブランチ運用
  • 高速な試行と安全な変更マージ
  • ワンクリックで自分のリポジトリ作成や他の開発者プロジェクトのフォーク
  • 貢献を追跡できる透明なチームコラボレーション
  • 他者から学べるオープンプロジェクトのカタログ


    他の開発者のプロジェクトをクローンする
    forge.mql5.ioでクローンしたいプロジェクトを開き、[Fork]をクリックします。フォークの名前と説明を入力して保存します。

    プロジェクトのクローン

    MetaEditorで、同じMQL5アカウントを使用して、ナビゲータで[更新]コマンドを実行します。フォークしたプロジェクトはShared Projectsフォルダに表示されます。その後、Algo ForgeからGit Cloneでダウンロードします。これにより、プロジェクトファイルだけでなく、完全なコミット履歴とすべてのブランチも取得できます。つまり、フォーク上で作業を続けながら、クローン元プロジェクトの全履歴を保持することが可能です。  

    Algo ForgeのGit Cloneコマンド


Webターミナル

  1. 銘柄仕様における取引およびクオートセッションの表示を修正しました。
  2. 銘柄仕様における証拠金設定の表示を修正しました。
  3. 銘柄仕様における取引およびクオートセッションの表示を修正しました。
  4. コンテスト口座タイプのサポートを追加しました。このような口座は青で表示され、デモ口座は緑で表示されます。
  5. 特定の条件下におけるフローティングレバレッジ証拠金計算の精度を改善しました。 
  6. 新規口座開設時に、[次へ]ボタンが正しく進まない場合があった問題を修正しました。
  7. 取引所執行で、BidとAskの間に指値注文を置けなかった問題を修正しました。
  8. 注文執行価格の表示を修正しました。注文送信後、実行結果(取引成功または未実行の理由)がウィンドウに表示されます。場合によっては、実行価格が誤って「0」と表示されることがありました。
  9. クイックポジションクローズボタンが表示されなかった問題を修正しました。

    ポジションクローズボタン

  10. 口座選択ウィンドウの取引口座通貨の表示を修正しました。


31 7月 2025
新しいMetaTrader 5プラットフォームビルド5200:OpenBLASサポートの拡張とMQL5における制御強化

端末

  1. Windowsの設定に基づいて、ライトテーマまたはダークテーマを自動的に適用する機能が追加されました。この機能を有効にするには、新しい[表示]>[カラーテーマ]>[システム]オプションを選択してください。プラットフォームの起動時に、システムのテーマ設定が検出され、それに応じてインターフェイスが自動的に調整されます。


    Windowsの設定に基づいて、ライトテーマまたはダークテーマを自動的に適用する機能が追加されました


  2. メインウィンドウから切り離されたツールバーに関する表示の問題を修正しました。
  3. 資産セクションにおけるポートフォリオの清算価値の計算を修正しました。一部の銘柄ポジションが反映されていないケースがありました。
  4. 板情報における負の価格表示の不具合を修正しました。現在は正しく並び替えられるようになっています。
  5. カスタム銘柄への価格履歴のインポートを修正しました。ルートフォルダにある銘柄の場合、対応するコマンドが表示されないことがありました。
  6. ユーザーインターフェイスの翻訳を更新しました。

MQL5

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

    行列の還元(変換)

    • ReduceToHessenberg:一般的なn×n実行列または複行列Aを直交相似変換により上ヘッセンベルグ形式Bに変換します。Q**T * A * Q = H。この関数は、LAPACKのGEHRD関数に相当します。
    • ReflectHessenbergToQ:によって返される、階数n のn−1個の基本反射行列の積として定義される直交行列Qを生成します。Q = H(1) H(2)... H(n-1)。 この関数は、LAPACKのORGHR関数に相当します。

    固有値と固有ベクトル

    • EigenHessenbergSchurQ:ヘッセンベルク行列Hの固有値と、シュール分解H = ZTZ**Tにおける行列TとZを計算します。ここで、Tは上準三角行列(シュール形式)であり、Zはシュールベクトルからなる直交行列です。この関数は、LAPACKのHSEQR関数に相当します。

    線形方程式

    • SylvesterEquationTriangular:実数の準三角行列または複素三角行列のシルベスター方程式を解きます。op(A)*X + X*op(B) = scale*Cまたはop(A)*X - X*op(B) = scale*C、ただし、op(A) = Aまたは A**TまたはA**Hであり、AとBは両方とも上三角行列または上ブロック三角行列です。この関数は、LAPACKのTRSYL関数に相当します。
    • SylvesterEquationTriangularBlocked:実数の準三角行列または複素三角行列のシルベスター方程式を解きます:op(A)*X + X*op(B) = scale*Cまたはop(A)*X - X*op(B) = scale*C、ただし、op(A) = AまたはA**TまたはA**Hであり、AとBは両方とも上ブロック三角行列(実数の準三角行列の場合)または上三角行列(複素三角行列の場合)です。この関数は、LAPACKのTRSYL3関数に相当します。これは、TRSYLのアルゴリズム版(BLASレベル3)です。最大5倍高速ですが、精度はやや劣ります。

    因数分解計算

    • SylvesterEquationSchur:実数の準三角行列または複素三角行列のシルベスター方程式を解きます。A*X + X*B = Cであり、AとBは両方とも上ブロック三角行列(実数の準三角行列の場合)または上三角行列(複素三角行列の場合)です。Aはm×m、Bはn×n、右辺Cと解Xはいずれもm×nの行列です。この関数は、LAPACKのTRSYL関数に相当します。
    • SylvesterEquationSchurBlocked:実数の準三角行列または複素三角行列のシルベスター方程式を解きます。A*X + X*B = Cであり、AとBは両方とも上ブロック三角行列(実数の準三角行列の場合)または上三角行列(複素三角行列の場合)です。Aはm×m、Bはn×n、右辺Cと解Xはいずれもm×nの行列です。この関数は、LAPACKのTRSYL3関数に相当します。これは、TRSYLのアルゴリズム版(BLASレベル3)です。最大5倍高速ですが、精度はやや劣ります。

    行列ノルムの計算

    • MatrixNorm:一般的な矩形行列の任意の要素のL1ノルム、無限ノルム、フロベニウスノルム、または最大絶対値を返します。この関数は、LAPACKのLANGE関数に相当します。
    • MatrixNormGeTrid:一般的な三角行列の任意の要素のL1ノルム、無限ノルム、フロベニウスノルム、または最大絶対値を返します。この関数は、LAPACKのLANGT関数に相当します。
    • MatrixNormHessenberg:上ヘッセンベルグ行列の任意の要素のL1ノルム、無限ノルム、フロベニウスノルム、または最大絶対値を返します。この関数は、LAPACKのLANHS関数に相当します。
    • MatrixNormSy:実対称行列または複素エルミート行列の任意の要素のL1ノルム、無限ノルム、フロベニウスノルム、または最大絶対値を返します。この関数は、LAPACKのLANSY関数およびLANHE関数に相当します。
    • MatrixNormComplexSy:複素対称(非エルミート)行列の任意の要素のL1ノルム、無限ノルム、フロベニウスノルム、または最大絶対値を返します。この関数は、LAPACKのLANSY関数に相当します。
    • MatrixNormSyTrid:実対称行列または複素エルミート三角行列の任意の要素のL1ノルム、無限ノルム、フロベニウスノルム、または最大絶対値を返します。この関数は、LAPACKのLANSTおよびLANHT関数に相当します。
    • MatrixNormTriangular:m×nの台形行列または三角行列の任意の要素のL1ノルム、無限ノルム、フロベニウスノルム、または最大絶対値を返します。この関数は、LAPACKのLANTR関数に相当します。

    行列分類

    • IsSymmetric:正方行列が対称かどうかをチェックします。
    • IsHermitian:複素正方行列がエルミート行列であるかどうかをチェックします。
    • IsUpperTriangular:正方行列が上三角行列であるかどうかをチェックします。
    • IsLowerTriangular:正方行列が下三角行列であるかどうかをチェックします。
    • IsTrapezoidal:m×nの矩形行列(正方行列ではない)が上台形行列か下台形行列かをチェックします。
    • IsUpperHessenberg:正方行列が上ヘッセンベルグ行列であるかどうかをチェックします。
    • IsLowerHessenberg:正方行列が下ヘッセンベルグ行列であるかどうかをチェックします。
    • IsTridiagonal:正方行列が三重対角行列であるかどうかをチェックします。
    • IsUpperBidiagonal:正方行列が上二重対角行列であるかどうかをチェックします。
    • IsLowerBidiagonal:正方行列が下二重対角行列であるかどうかをチェックします。
    • IsDiagonal:正方行列が対角行列であるかどうかをチェックします。
    • IsScalar:正方行列がスカラー行列であるかどうかをチェックします。

  2. 複素行列とベクトルのConjugateメソッドを追加しました。このメソッドは、複素数の虚数部の符号を変更し、変更された行列またはベクトルを返します。
  3. メソッドの非表示ルールを強化しました。派生クラスに基底クラスのメソッドと同じ名前のメソッドが含まれている場合、派生クラスのバージョンがデフォルトで呼び出されるようになりました。基底クラスメソッドを明示的に呼び出すには、修飾子が必要になります。
    struct A
      {
       int y;
      
       string func(double x)
         {
          return(__FUNCSIG__);
         }
      };
      
    struct B : public A
      {
       string func(int x)   // the method hides A::func
         {
          return(__FUNCSIG__);
         }
      };
      
    void OnStart(void)
      {
       B b;
       b.func(M_PI);          // according to new rules, it is a call to B::func
       b.A::func(M_PI);       // call the hidden method A::func
      }
    この変更により、コードの読みやすさが向上し、以前はコンパイラの警告のみを伴っていた曖昧さが排除されます。

    以前は、コンパイル時に次のような警告が出ていました。
    deprecated behavior, hidden method calling will be disabled in a future MQL compiler version
    This change has now taken effect.

    複数のビルドにおいて、指定されたパラメータに基づいてより適切な非公開メソッドが存在する場合は、ログに警告が表示されることがあります。
    call resolves to 'string B::func(int)' instead of 'string A::func(double)' due to new rules of method hiding
       see declaration of function 'B::func'
       see declaration of function 'A::func'
    truncation of constant value from 'double(3.141592653589793)' to 'int(3)'
  4. 同一スコープ内での重複した名前の使用が禁止されました。たとえば、これまでは1つのファイル内で同じ名前の入力パラメータと関数を宣言することが可能でしたが、このような重複は現在許可されていません。
    input int somename=42;
    
    int somename(int x)
      {
       return(42);
      }
  5. 列挙型におけるデフォルト値に対して厳密な型チェックが追加されました。関数の引数として列挙型を受け取る場合、値だけでなく、その型も正確に一致している必要があります。
    int somename(ENUM_TIMEFRAMES TF=PERIOD_CURRENT);
    
    int somename(ENUM_TIMEFRAMES TF=0)   // error, type mismatch for the default parameter value, despite having the same value
      {
       return(42);
      }
  6. 同一スコープ内において、異なる列挙型間で同じ識別子を使用することが禁止されました。1つの列挙型で宣言された識別子は、同じスコープ内の別の列挙型で再利用することはできなくなりました。
    enum A
      {
       Value
      };
      
    enum B
      {
       Value  // error, name 'Value' is already used in enumeration A
      };
      
    void OnStart(void)
      {
       enum C
         {
          Value // OK, 'Value' is not used within the OnStart scope
         };
      }
    異なるスコープでは、同じ名前の使用は可能です。

  7. テンプレート初期化関数に対する要件がより厳密になりました。行列やベクトルをテンプレート初期化関数で生成する際、以下の機能は使用できなくなりました。

    • テンプレート関数における型の自動推論
    • デフォルト引数値

    これにより、すべてのテンプレートパラメータおよび引数を明示的に指定する必要があります。 
    template<typename T>
    void Initializer(matrix<T>& mat,int method=0);
    
    matrix<double> A(10,10,Initializer,42);          // error, Initializer must be explicitly typed
    matrix<double> A(10,10,Initializer<double>);     // error, missing 'method' parameter (default values no longer supported)
    matrix<double> A(10,10,Initializer<double>,42);  // OK
  8. ONNXサポートが改善されました。配列を関数に渡す際、符号付き型への暗黙の型変換が追加され、ONNXモデルとの統合がより簡単になりました。
    OnnxSetInputShape( … , ulong_array );
    OnnxSetOutputShape( … , ulong_array );
  9. 文字列の暗黙的変換に関するコンパイラ警告で、型の表示が正しくなるよう修正されました。
  10. Python向けの統合パッケージが更新されました。以下のコマンドで最新版をインストールできます。
    pip install --upgrade MetaTrader5

MetaEditor

  1. MQL5ストレージで使用される[Revert to Revision](リビジョンに戻す)コマンドを修正しました。バージョン間の競合の評価を事前に実行するようになりました。戻す操作が不可能な場合は、操作がキャンセルされます。
  2. ユーザーインターフェイスの翻訳を更新しました。

テスター

  1. Exchange計算モードにおける口座に対するOrderCalcMargin関数を修正しました。
  2. 多通貨対応EAのビジュアルテスト中に、チャートを切り替える際の問題が修正されました。

Web端末

  1. デモ口座および予備口座の登録時のメール認証を修正しました。確認コードの入力欄が表示されないケースがありました。
  2. Huaweiデバイスのブラウザ使用時における口座接続の不具合を修正しました。
  3. ワンタイムパスワード使用時の口座への接続を修正しました。初回ログイン時に、OTPの入力欄が表示されない場合がありました。
27 6月 2025
iPhone/iPad向けの新しいMetaTrader 5:取引レポートと追加インジケーター

iOS版MetaTrader 5モバイルアプリの最新バージョンには、トレーダーがどこにいても金融市場の動向を把握できるように設計された、さまざまな新機能が導入されています。

  1. 取引結果を視覚的にわかりやすい形式で表示するレポート機能が追加されました。これは、取引パフォーマンスの評価、ポートフォリオの最適化、取引の安定性の向上とともにリスクの低減を実現する方法の発見に役立ちます。戦略を分析するには、[履歴]セクションに移動し、期間選択アイコンをタップしてください。次に、期間を選択し、[取引レポートを作成]をタップします。


    新しい取引レポート


    レポートは複数のタブに分かれており、それぞれに集計された情報が表示されます。

    • 概要(Summary):長期にわたる取引の概要(全体的な損益指標、入出金額、残高、成長率と配当のグラフ、その他の取引結果)。
    • 利益/損失(Profit/Loss):利益の出た取引と損失の出た取引に関するデータ。パラメータは、取引の種類(手動、アルゴリズム、コピー取引)によって分けられています。その結果は、月単位、年単位で取引額や金額を分析することができます。
    • ロング/ショート:指定期間における購入と売却のダイナミックな比率、および購入と売却の収益性
    • 銘柄:金融商品別の取引分析。ここでは、どの銘柄で利益を得たり損失を被ったりしているのか、どれくらいの頻度で取引しているのかや、取引のグラフや金額ボリュームを見ることができます。
    • リスク(Risks):戦略の主なリスク特性(ドローダウンとデポジットロードグラフ、および利益のある取引と損失のある取引の比率)。

  2. ZigZagおよびMarket Profileインジケーター、さらに新しいチャートタイプ「平均足」が追加され、市場分析とトレンドの識別が強化されました。

    新しいインジケーターを追加するには、チャートメニューを開いて[メインウィンドウ]をタップし、リストから選択してください。ZigZagは[トレンド系]、Market Profileは[ボリューム系]にあります。


    Market ProfileとZigZagインジケーター


    平均足チャートを表示するには、チャートをタップして設定にアクセスしてください。


    平均足チャート


  3. データウィンドウに取引情報が追加されました。十字線を取引を含むバーの上に移動させると、その取引の方向、チケット番号、数量、価格、損益、価格情報およびインジケーターの値が表示されます。


    拡張データウィンドウ


  4. チャート上にデータウィンドウを素早く表示できるクイックモードが追加されました。メインチャートを1秒以上タップ&ホールドすると、クロスヘアモードでデータウィンドウが表示されます。指を離すとチャートは通常モードに戻ります。この機能により、トップパネルを使用せずに、バー、インジケーター、取引の正確な値をすばやく確認できます。
  5. インジケーターのサブウィンドウに対して、サイズ変更や順序変更を行うための専用コマンドが追加されました。チャート上でサブウィンドウを長押しすることでも、同様の操作が可能です。また、編集モードにはわかりやすいアイコンが追加され、操作性が向上しています。


    インジケーターサブウィンドウのサイズ変更と順序変更のための新しいコマンド


  6. チャート上の取引履歴表示が最適化され、数千件の取引を表示しても、パフォーマンスが大きく低下することはありません。

    最新版をインストールして、拡張された取引機能をぜひご体験ください。


    12 6月 2025
    MetaTrader 5プラットフォームアップデートビルド5120:改善と修正

    端末

    1. LinuxおよびmacOS上でのグラフィカルインターフェイス表示の不具合を修正しました。
    2. プラットフォームの更新メカニズムを改善しました。MQL5標準ライブラリは、更新時にすべて上書きされるのではなく、変更のあったファイルのみが差し替えられます。
    3. アプリケーション再起動時に、全画面表示モードが自動的にリセットされるようになりました。起動ごとに完全なインターフェイスが表示されます。

    MQL5

    1. 以下の関数で、符号付き/符号なしの型キャストを伴う配列の受け渡しが可能になりました。

      • ArraySwap
      • WebRequest
      • CryptEncode
      • CryptDecode
      • StringToCharArray
      • CharArrayToString
      • StringToShortArray
      • ShortArrayToString
      • StructToCharArray
      • CharArrayToStruct

    2. TerminalInfoInteger関数を使用した、アクティブチャート上のMQLプログラムによるキー状態の取得処理を修正しました。
    3. 列挙型配列に対するArrayInitialize関数の挙動を修正しました。

    MetaEditor

    1. AIアシスタントで使用可能なモデルを更新しました。GPT-4.1および04-miniのすべてのモデルがサポートされます。
    2. MQL5 Storageにおいて、ファイルステータスの厳密な検証機能を追加しました。ファイルのハッシュがチェックされるようになり、リポジトリのバージョンと比較して実際にローカルで変更されていないファイルが、誤って赤いアイコンで表示されることがなくなりました。
    3. ユーザーインターフェイスの翻訳を更新しました。

    5 6月 2025
    新しいMetaTrader 5プラットフォームビルド5100:Gitへの移行とMQL5 Algo Forge開発者ハブ、ダークテーマ対応およびUI改善

    MetaEditor

    • MQL5 Storageを完全に改訂し、バージョン管理システムとしてSubversionをGitに置き換えました。Gitは開発者のグローバルスタンダードであり、コード管理において信頼性と柔軟性が大幅に向上します。

      • 柔軟なブランチとマージ:新機能や実験用に個別のブランチを作成し、それをメインプロジェクトに簡単に統合できます。
      • 高速なリポジトリ操作:Subversionと異なり、Gitはすべてのデータをローカルに保存するため、コミットやバージョン切り替え、差分の確認が大幅に高速化されます。
      • オフライン作業機能:サーバーへの常時接続は不要で、ローカルで変更をコミットし、都合のよいタイミングでオンラインリポジトリにプッシュできます。
      • 高度な変更履歴の追跡:バージョン履歴を簡単に確認でき、変更のタイムスタンプや作成者の追跡、過去のバージョンへのロールバックも容易です。
      • 高性能なマージ機能:高度な比較・マージツールにより、競合を最小限に抑え、共同開発を円滑に進められます。

      共同開発の新たなレベル
      Gitへの移行に伴い、プロジェクト管理用の新しいオンラインポータルである「MQL5 Algo Forge」を導入します。これは単なるプロジェクト一覧ではなく、開発者のための本格的なソーシャルネットワークであり、アルゴリズムトレーダー向けのGitHubとも言える存在です。他の開発者のフォロー、チームの作成、プロジェクト単位でのコラボレーションを容易におこなうことが可能です。




      プロジェクトの詳細を閲覧:構造、ファイル、コミット、ブランチなどを確認可能です。個々の貢献を追跡し、ドキュメントを作成し、プロジェクトをオンラインで共有できます。




      すべてのコード変更を監視:新規、変更、削除された行を検出できます。問題が発生した場合は、プロジェクト内で直接開発者にタスクを割り当てることができます。




      Gitの使いやすさを向上させるために、ナビゲータとアクティブコード編集ウィンドウを再設計しました。また、MetaEditorのツールバーに専用のGitメニューを導入しました。




      包括的なGitドキュメントは近日公開予定です。

    ターミナル

    1. 取引ターミナル、MetaEditor、ビジュアルテスターを含むすべてのコンポーネントでダークカラースキームのサポートを追加しました。ダークテーマは夜間の開発環境をより快適にします。切り替えは表示メニューからおこなうことができます。




      テーマ対応に伴い、ダイアログ、メニュー、パネル、ボタンの表示を大幅に改善し、より快適なユーザー体験を実現しました。MetaEditorでは、カーソル位置情報とテキスト入力モード(INS/OVR)インジケーターが右上に表示されるようになりました。作業スペースを確保するため、下部のステータスバーは廃止されました。

    2. 12か月間のVPSレンタルオプションを追加しました。長期ホスティングを前払いで購入することで、総費用の3分の1を節約できます。




    3. メモリ使用量を最適化しました。これによりシステムリソースの消費が減り、パフォーマンスが向上しました。
    4. 口座取引履歴の表示を最適化しました。プラットフォームは数百万件の記録を正しく表示できるようになりました。
    5. ウィンドウメニューに[デフォルトにリセット]コマンドを追加しました。このコマンドは、チャート、ナビゲータ、ストラテジーテスターなどを含むすべてのインターフェイス要素を元の位置にリセットします。
    6. 特定の条件下でポジション変更ダイアログがフリーズするエラーを修正しました。
    7. マイナス価格のポジションの値計算を修正しました。
    8. マイナス価格の取引銘柄指定における証拠金率の計算を修正しました。
    9. 現在のMFE値とMAE値の計算と取引レポートでのグラフの表示を修正しました。
    10. チャートサブウィンドウでのオシレーターのスケーリングを修正しました。オシレーターの縦軸スケールが正しく表示されるようになりました。
    11. 全画面モード切替時の注文板およびオプションボードの表示問題を修正しました。
    12. 口座の取引履歴にポジションチケットの表示を追加しました。関連する列はコンテキストメニューから有効化できます。
    13. 先物およびオプションのエクスポージャータブにおける清算価値の計算を修正しました。
    14. 新しく作成されたアカウントデータをクリップボードにコピーする際の問題を修正しました。デモまたは仮口座登録の最終ステップで、ログインIDやパスワードなどのアカウント情報をクリップボードにコピーし、別ファイルに保存できる機能が正しく動作するようになりました。macOSにも対応しています。
    15. VPSログセクションの表示を修正しました。特定の条件下でエラーが表示される問題を解消しました。
    16. LinuxでのHiDPIモニターのサポートを修正しました。
    17. ユーザーインターフェイスの翻訳を更新しました。

    MQL5

    1. 行列乗算演算子「@」を追加しました。線形代数のルールに従い、行列とベクトルの乗算や、ベクトルのスカラー(ドット)積をおこなうことができます。

      行列の乗算(行列×行列)
      matrix A(2, 3);
      matrix B(3, 2);
      matrix C = A @ B; // Result: Matrix C of size [2,2]
      行列の乗算(行列×ベクトル)
      matrix M(2, 3);
      vector V(3);
      vector R = M @ V; // Result: Vector R of 2 elements
      行列の乗算(ベクトル×行列)
      matrix M(2, 3);
      vector V(1, 2);
      vector R = V @ M; // Result: Vector R of 3 elements
      スカラー乗算(ベクトル×ベクトル)
      vector V1(1, 3), V2(1, 3);
      double r = V1 @ V2; // Result: Scalar
    2. StdVarCovメソッドに「ddof」パラメータを追加しました。このパラメータは標準偏差を計算する際に、分母から差し引く自由度の数を定義します。StdとVarのデフォルト値は0、Covのデフォルト値は1です。

      ddofが計算に与える影響:

      • デフォルトのddof=0は母集団標準偏差を計算します。
      • ddof=1の場合、標本標準偏差を計算し、有限サンプルサイズに対して調整をおこないます。これは統計学でデータの一部を分析する際によく用いられます。

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

      固有値と固有ベクトル

      • EigenTridiagonalDC:分割統治アルゴリズムを用いて、対称三重対角行列の固有値と固有ベクトルを計算します(LAPACK関数STEVD)。
      • EigenTridiagonalQR:QRアルゴリズムを用いて、対称三重対角行列の固有値と固有ベクトルを計算します(LAPACK関数STEV)。
      • EigenTridiagonalRobust:MRRR (Multiple Relatively Robust Representations)アルゴリズムを用いて、対称三重対角行列の固有値と固有ベクトルを計算します(LAPACK関数STEVR)。
      • EigenTridiagonalBisect:二分法アルゴリズムを用いて、対称三重対角行列の固有値と固有ベクトルを計算します(LAPACK関数STEVX)。
      • ReduceToBidiagonal:一般のm×n実または複素行列Aを直交変換により上/下二重対角行列Bに還元します:Q**T * A * P = B。m≥nの場合、Bは上二重対角行列です。それ以外の場合、Bは下二重対角行列です(LAPACK関数GEBRD)。
      • ReflectBidiagonalToQP:実または複素行列Aを二重対角形式に変換するReduceToBidiagonalメソッドによって定まる直行行列(複素型の場合はユニタリ行列)QおよびP**T(複素型の場合は P**H)を生成します:A = Q * B * P**T。 QとP**Tは、それぞれ初等反射行列H(i)またはG(i)の積として定義されます(LAPACK関数ORGBR、UNGBR)。
      • ReduceSymmetricToTridiagonal:実対称または複素エルミート行列Aを直交相似変換により三重対角行列Bに還元します:Q**T * A * Q = B(LAPACK関数SYTRD、HETRD)。
      • ReflectTridiagonalToQ:ReduceSymmetricToTridiagonalによって得られる、次数nの初等反射行列n−1個の積として定義される直交行列Qを生成します。

      • LinearEquationsSolution:正方係数行列Aと複数の右辺ベクトルを持つ線形方程式系の解を計算します。
      • LinearEquationsSolutionTriangular:正方三角係数行列Aと複数の右辺ベクトルを持つ線形方程式系の解を計算します。
      • LinearEquationsSolutionSy:対称行列またはエルミート共役行列Aと複数の右辺ベクトルを持つ線形方程式系の解を計算します。
      • LinearEquationsSolutionComplexSy:複素対称行列Aと複数の右辺ベクトルを持つ線形方程式系の解を計算します。
      • LinearEquationsSolutionGeTrid:対称またはエルミート共役正定値行列Aと複数の右辺ベクトルを持つ線形方程式系の解を計算します。
      • LinearEquationsSolutionSyPD:一般(非対称)三重対角係数行列Aと複数の右辺ベクトルを持つ線形方程式系の解を計算します。
      • LinearEquationsSolutionSyTridPD:対称三重対角正定値係数行列Aと複数の右辺ベクトルを持つ線形方程式系の解を計算します。
      • FactorizationQR:一般m×n行列のQR分解を計算します:A = Q * R(LAPACK関数GEQRF)。
      • FactorizationQRNonNeg:一般m×n行列のQR分解を計算します。ここで、Rは対角成分が非負の上三角行列です:A = Q * R(LAPACK関数GEQRFP)。
      • FactorizationQRPivot:一般m×n行列の列ピボット付きQR分解を計算します:A * P = Q * R(LAPACK関数GEQP3)。
      • FactorizationLQ:一般m×n行列のLQ分解を計算します:A = L * Q(LAPACK関数GELQF)。
      • FactorizationQL:一般m×n行列のQL分解を計算します:A = Q * L(LAPACK関数GEQLF)。
      • FactorizationRQ:一般m×n行列のRQ分解を計算します:A = R * Q(LAPACK関数GERQF)。
      • FactorizationPLU:部分ピボット選択と行の入れ替えを用いて、一般mxn行列AのLU分解を計算します(LAPACK関数GETRF)。
      • FactorizationPLUGeTrid:部分ピボット選択と行の入れ替えによる消去法を用いて、一般(非対称)三重対角n×n行列AのLU分解を計算します(LAPACK関数GTTRF)。
      • FactorizationLDL:Bunch-Kaufmanの対角ピボット選択法を用いて、実対称または複素エルミート行列Aの分解を計算します(LAPACK関数SYTRFおよびHETRF)。
      • FactorizationLDLSyTridPD:対称正定値または(複素データの場合)エルミート正定値の三重対角行列Aの分解を計算します(LAPACK関数PTTRF)。
      • FactorizationCholesky:実対称または複素エルミート正定値行列Aの分解を計算します(LAPACK関数POTRF)。
      • FactorizationCholeskySyPS:完全ピボット選択を伴う実対称(複素エルミート)半正定値n×n行列Aのコレスキー分解を計算します(LAPACK関数PSTRF)。

    4. ランダム関数およびベクトルや行列をランダムな値で埋めるためのRandomメソッドを追加しました。ランダム値は指定された範囲内で一様に生成されます。
      static vector vector::Random(
        const ulong   size,       // vector length
        const double  min=0.0,    // min value
        const double  max=1.0     // max value
         );
      
      static matrix matrix::Random(
        const ulong   rows,       // number of rows
        const ulong   cols        // number of columns
        const float   min=0.0,    // min value
        const float   max=1.0     // max value
         );
    5. 整数型に対する追加のエイリアスサポートを追加しました。これにより、CやC++など他の言語からのコード移植が容易になります。

      これらのエイリアスは新しい型を導入するものではなく、MQL5の既存の型に対する代替名称を提供します。基本型が使用可能なすべての文脈で利用可能です。

      • int8_t
      • uint8_t
      • int16_t
      • uint16_t
      • int32_t
      • uint32_t
      • int64_t
      • uint64_t

    6. 端末のカラースキームを検出するための新しい関数を追加しました。

      • 新しいプロパティ「TERMINAL_COLORTHEME_NAME」がENUM_TERMINAL_INFO_STRING列挙体に追加されました。このプロパティをTerminalInfoString関数と共に使用して、端末の配色を照会します。可能な値は、LightとDarkです。
      • 新しいプロパティ「THEME_COLOR_*」がENUM_TERMINAL_INFO_INTEGER列挙体に追加されました。これらをTerminalInfoInteger関数と組み合わせて使用し、特定のUI要素の色を取得します。

      配色の変更を検出するには、OnChartEventハンドラを使用します。テーマが変更されると、CHARTEVENT_CHART_CHANGEイベントが2回トリガーされます。

    7. Array::Reserveメソッドを含むコードをコンパイルするときにMetaEditorがクラッシュするバグを修正しました。Reserveメソッドは配列のサイズを変更せず、新しい要素追加時のメモリ再割り当てを防ぐために指定した要素数分の領域を確保します。
    8. 配列の末尾に新しい要素を追加するArray::Pushメソッドの動作を修正しました。問題は事前にバッファ領域を確保している配列で発生していました。
    9. OpenCL関連関数の問題を解決しました。

    MetaTester

    1. 取引戦略の最適化を加速しました。
    2. MQL5クラウドネットワークからのタスク実行時に、特定の場合にテスターエージェントが過剰なメモリを使用するバグを修正しました。

    Webターミナル

    1. アカウント接続ダイアログにおけるパスワード保存オプションの動作を修正しました。
    2. チャート移動ボタンを修正しました。一部のケースで、ボタン使用時にチャートが消える不具合がありました。
    3. リアル口座開設フォームにおける[ミドルネーム]フィールドの検証処理を修正しました。このフィールドはオプションになりました。
    4. デモ口座の開設処理を修正しました。一部のケースで、ユーザーが誤ってブローカーのWebサイトにリダイレクトされる不具合がありました。
    5. デモ口座・リアル口座の開設ボタンの表示制御を修正しました。ブローカー側で機能が無効化されている場合、ボタンが非表示になります。
    6. デモ口座開設フォーム内[入金額]フィールドの動作を修正しました。
    7. 契約仕様内[取引]フィールドの表示を修正しました。
    8. 気配値表示ウィンドウ内の[銘柄検索]フィールドを修正しました。検索モード終了用の[×]ボタンが正しく表示されるようになりました。
    9. 口座開設フォームのメール確認コードフィールドのツールチップの表示を修正しました。


    18 3月 2025
    iPhone/iPad向けMetaTrader 5:定規、チャートのテキストオブジェクト、バータイマー

    iOS向けMetaTrader 5モバイルアプリの最新バージョンでは、さまざまな便利なチャート機能が導入されているほか、重要な安定性の改善により、よりスムーズなユーザーエクスペリエンスが実現されています。

    1. チャートにカスタムラベルを作成するためのテキストオブジェクトが追加されました。チャートオブジェクトメニューを開き、[テキストを追加]をタップします。次に、希望のテキストを入力し、ラベルを配置するチャート上の点を選択します。オブジェクトには2つの点があります。1つは移動用、もう1つは方向調整用です。



      チャートにカスタムラベルを作成するためのテキストオブジェクト



      また、オブジェクトを作成した直後に画面の下部に表示される、小さなチャート上のオブジェクトメニューも追加しました。完全なオブジェクトメニューに移動せずに主要なプロパティを変更できるようになりました。

    2. 現在のバーが閉じるまでの残り時間を表示するカウントダウンタイマーが追加されました。この機能は、分足から日足までのすべての時間枠で動作します。バーのオープンとクローズに依存する戦略を持つトレーダーにとって、特に役立つ機能です。

      タイマーを有効にするには、チャート設定に移動します。カウントダウンは現在の価格の下の垂直スケールに表示されます。


      現在のバーが閉じるまでの残り時間を表示するカウントダウンタイマー



    3. クロスヘアモードが強化され、定規としても使用できるようになりました。クロスヘアを有効にし、希望する開始点に配置します。その後、終了点をタップして距離を測定します。ツールチップには、価格差、パーセンテージ、およびバーの数が表示されます。


      強化されたクロスヘアモード:定規として使用できるようになりました



    4. 取引履歴にポジションチケットの表示を追加しました。


      取引履歴にポジションチケットの表示を追加しました



    5. 取引銘柄に遅延がある場合の価格遅延表示が改善されました。この情報は現在、チャート上に表示され、気配値表示セクションのアイコンはより目立つようになりました。



      価格遅延の表示の改善



    6. 統合支払いシステムに新しいプロバイダーのサポートが追加されました。
    7. デモ口座開設時に生年月日を入力するフィールドを追加しました。
    8. チャットの改善:アバター表示の問題を修正し、ドキュメントビューアーを追加し、*.webp画像のサポートを有効にし、検索機能を改善しました。

    アプリの最新バージョンをダウンロードして、取引体験を向上させましょう。

    App StoreのMetaTrader 5
    13 12月 2024
    MetaTrader 5プラットフォームビルド4755:全般的な改善
    このアップデートでは、特定のテスト条件の組み合わせで発生していた、ストラテジー テスターのトリプル スワップの計算エラーが修正されます。さらに、プラットフォームの安定性をさらに向上させるために、いくつかのマイナーな機能強化と修正が実装されました。
    6 12月 2024
    MetaTrader 5 build 4730: OpenBLASサポートの拡張とパフォーマンス最適化

    端末

    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. ワンクリック取引の警告を表示するダイアログの配置を修正しました。
    11 10月 2024
    MetaTrader 5 build 4620:MQL5のバグ修正と新しいOpenBLASメソッド

    端末

    1. 特定の条件下で不完全なティック履歴が返されるエラーを修正しました。
    2. 英語以外の言語で銘柄を選択する際の自動補完を修正しました。検索フィールドに銘柄名を入力すると、入力した文字に基づいて関連するオプションが自動的に提案されます。検索機能は、すべてのロケールで大文字と小文字を区別せずに正しく動作するようになりました。

    MQL5

    1. 新しいOpenBLASメソッドの説明がMQL5ドキュメントに追加されました。現在、行列とベクトルの15個の新しいメソッドが利用可能であり、近日中にさらに追加される予定です。
      OpenBLASは、特にデータセットを操作する場合の高性能コンピューティングのための効率的なオープンソースソリューションです。

      関数

      アクション

      SingularValueDecompositionDC

      特異値分解、分割統治アルゴリズム。他のSVDアルゴリズムの中でも最も高速であると考えられています(LAPACK関数GESDD)

      SingularValueDecompositionQR

      特異値分解、QRアルゴリズム。古典的なSVDアルゴリズム(LAPACK関数GESVD)

      SingularValueDecompositionQRPivot

      特異値分解、ピボット付きQRアルゴリズム(LAPACK関数 GESVDQ)

      SingularValueDecompositionBisect

      特異値分解、二分アルゴリズム(LAPACK関数GESVDX)

      SingularValueDecompositionJacobiHigh

      特異値分解、Jacobi高レベルアルゴリズム(LAPACK関数GEJSV)

      SingularValueDecompositionJacobiLow

      特異値分解、Jacobi低レベルアルゴリズム(LAPACK関数GESVJ)。このメソッドは、特定のケースにおいて、他のSVDルーチンよりもはるかに高い精度で小さな特異値とその特異ベクトルを計算します。

      SingularValueDecompositionBidiagDC

      特異値分解、双対対角行列に対する分割統治アルゴリズム(LAPACK関数BDSVDX)

      SingularValueDecompositionBidiagBisect

      特異値分解、双対対角行列に対する二分法アルゴリズム(LAPACK関数BDSVDX)

      EigenSolver

      古典的なアルゴリズムを使用して正方行列の固有値と固有ベクトルを計算(LAPACK関数GEEV)

      EigenSymmetricDC

      対称行列またはエルミート行列(複素共役行列)の固有値と固有ベクトルを分割統治アルゴリズムで計算(LAPACK関数 SYEVD, HEEVD)

      SingularSpectrumAnalysisSpectrum

      固有値に基づくスペクトル成分の相対寄与率を計算するメソッド

      SingularSpectrumAnalysisForecast

      入力時系列のスペクトル成分を使用して再構築および予測されたデータを計算するためのメソッド

      SingularSpectrumAnalysisReconstructComponents

      入力時系列の再構成されたコンポーネントとその寄与を計算するためのメソッド

      SingularSpectrumAnalysisReconstructSeries

      最初のcomponent_countコンポーネントを使用して再構築された時系列を計算するメソッド

    2. matrix::CopyRatesメソッドを使用する実行可能なMQL5プログラムファイル(.ex5)の古いバージョンを実行するときに発生するエラーを修正しました。これらのエラーは、新しいバージョンでコンパイルされたファイルでは発生しませんでした。
    3. unionで許可される順序の型チェックを修正しました。

    MetaTester

    • カスタム指標の初期化解除中に特定の条件下で発生する可能性があったクラッシュを修正しました。

    4 10月 2024
    MetaTrader 5プラットフォームビルド4585:パフォーマンス向上

    端末

    • 特定の条件下でMQL5プログラムのプロファイリング停止時に発生する可能性があったクラッシュを修正しました。

    MetaEditor

    MetaTester

    • シングルパステストの再実行時に特定の条件下で発生していたクラッシュを修正しました。
    27 9月 2024
    MetaTrader 5 build 4570:MQL5のWebバージョンとOpenBLAS統合の強化

    端末

    1. 口座がシグナルにサブスクライブされている場合、MQL5取引および履歴機能へのアクセスが制限されます。

      口座でシグナルサブスクリプションが検出されると(現在の端末でコピーが有効になっているかどうかに関係なく)、オープン注文とポジションの受信、履歴の受信、取引操作の実行など、MQL5取引関数の呼び出しはすべて禁止されます。以下の対応する警告が操作ログに記録されます。
      'XXX': signal subscription detected, trading and history access functions in MQL5 and Python disabled
      制限は、Python取引関数(positions_total、positions_get、orders_total、orders_get、history_orders_total、history_orders_get、history_deals_total、history_deals_get、order_check、order_send)にも適用されます。

      口座でシグナルサブスクリプションがキャンセルされた場合、またはシグナルサブスクリプションなしで別の口座に接続すると、制限が解除され、次のメッセージが記録されます。
      'XXX': no signal subscription detected, trading and history access functions in MQL5 and Python enabled
      口座で制限がアクティブになっている場合、MQL5関数は次の応答コードを返します。

      • OrderSendとOrderSendAsync:RET_REQUEST_AT_DISABLED_CLIENT
      • OrdersTotalとPositionsTotal:0
      • PositionGetSymbol、PositionSelect、PositionSelectByTicket、PositionGetTicket:ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
      • OrderGetTicketとOrderSelect:ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
      • HistorySelect:ERR_MQLAPI_TRADE_DEAL_NOT_FOUND

    2. ティック履歴のリクエストとCSV\HTMLファイルへのエクスポートを修正、最適化、高速化しました。
    3. macOS上の取引プラットフォームでHTMLコンテンツを表示するためのMicrosoft Edge WebView2サポートを追加しました。旧来のMSHTMLに比べ、現代技術へのアクセスを提供することで、コンテンツ表示機能が大幅に拡張されます。WebView2への移行により、マーケット、シグナル、VPSなどのセクションの外観が改善され、応答性とパフォーマンスが向上しました。

    4. 内部メール送信ウィンドウのコンテキストメニューを修正しました。
    5. 取引商品選択ダイアログのフィルタリングを修正しました。 期限切れの銘柄を非表示にするためにまず銘柄名を入力する必要がなくなりました。
    6. 契約仕様ウィンドウでの証拠金要件計算を修正し、取引所株式や債券商品の誤計算を解消しました。
    7. FIFO口座の一括ポジションクローズ機能を改善しました。このような口座では、すべての利益/損失ポジション、同一方向のポジション、反対方向のポジションのクローズなど、互換性のない操作タイプは表示されなくなりました。
    8. ポジションのクローズがFIFOルールに従う口座でユーザーが反対の保留注文を出すことができない問題を修正しました。
    9. 取引所先物商品のポジションを持つ口座の清算価値の計算を修正しました。
    10. ExchangeBondsおよびExchangeMOEXBonds商品のポジションの変動利益計算を修正しました。
    11. デモ口座がない場合にプラットフォーム起動時にデモ口座を自動作成する機能を無効化しました。
    12. 口座登録時の名前とメールアドレスの検証を強化しました。
    13. ヘッジポジションの証拠金計算を修正しました。口座で変動証拠金(現在のポジションのボリューム/価値に基づいて計算)を使用する場合、特定のケースでエラーが発生する可能性がありました。
    14. デモ口座開設ダイアログの[次へ]ボタンの状態の更新を修正しました。電話またはメールの確認コードを入力した後、特定の条件下ではボタンが非アクティブのままになることがありました。
    15. ユーザーインターフェイスの翻訳を更新しました。

    MQL5

    1. OpenBLAS行列計算ライブラリとのネイティブ統合を追加しました。

      OpenBLASは、BLAS (Basic Linear Algebra Subprograms) といくつかのLAPACK関数を実装する高性能なオープンソースの線形代数ライブラリです。OpenBLASは、機械学習、数値法、シミュレーションなどの科学および工学タスクでよく使用される行列演算とベクトル演算の計算パフォーマンスを向上させるように設計されています。

      以下は、OpenBLASの主な機能です。

      • マルチスレッドサポート:OpenBLASは、並列計算に複数のプロセッサコアを効率的に使用し、マルチプロセッサシステムでの操作を大幅に高速化します。
      • プロセッサアーキテクチャの最適化:OpenBLASには、Intel、AMD、ARMなどのさまざまなプロセッサ向けに最適化されたビルドが含まれています。ライブラリは、プロセッサの特性(AVX/AVX2/AVX512などのサポートされている命令セット)を自動的に検出し、最も適切な関数の実装を選択します。
      • 広範なBLAS操作サポート:OpenBLASは、ベクトル演算(ベクトル加算やドット積など)、行列演算(乗算)、ベクトル行列演算などのコアBLAS関数を実装します。
      • LAPACK互換性:このライブラリは、線形方程式の解法、行列の固有値の計算など、より複雑な線形代数演算のためのLAPACK (Linear Algebra PACKage)関数をサポートしています。
      • ハイパフォーマンス:他のBLASライブラリと比較すると、OpenBLASは特定のプロセッサアーキテクチャ向けに手作業で最適化されているため、より優れた結果を示すことがよくあります。

      OpenBLASは数値計算を伴うアプリケーションで広く使用されています。

      • ニューラルネットワークやその他の機械学習タスクのトレーニング
      • 科学計算(例:物理プロセスのモデリング)
      • 大量のデータの処理と分析

      現在、MQL5では次のメソッドが利用可能です。

      特異値分解

      • SingularValueDecompositionDC:分割統治アルゴリズム。他のSVDアルゴリズムの中で最も高速であると考えられています(lapack関数GESDD)。
      • SingularValueDecompositionQR:QRアルゴリズム。古典的なSVDアルゴリズム(lapack関数GESVD)と見なされます。
      • SingularValueDecompositionQRPivot:ピボットアルゴリズムを使用したQR(LAPACK関数GESVDQ)。
      • SingularValueDecompositionBisect:二分アルゴリズム(LAPACK関数GESVDX)。
      • SingularValueDecompositionJacobiHigh:Jacobi高レベルアルゴリズム(LAPACK関数GESVDX)。
      • SingularValueDecompositionJacobiLow:Jacobi低レベルアルゴリズム(LAPACK関数GESVJ)。このメソッドは、特定のケースにおいて、他のSVDルーチンよりもはるかに高い精度で小さな特異値とその特異ベクトルを計算します。
      • SingularValueDecompositionBidiagDC:二重対角行列の分割統治アルゴリズム(LAPACK関数BDSVDX)。
      • SingularValueDecompositionBidiagBisect:二重対角行列の二分アルゴリズム(LAPACK関数BDSVDX)。

      固有値メソッド:

      • EigenSolver:古典的なアルゴリズム(LAPACK関数GEEV)を使用して、正規正方行列の固有値と固有ベクトルを計算します。
      • EigenSymmetricDC:分割統治アルゴリズム(LAPACK関数SYEVD、HEEVD)を使用して、対称行列またはエルミート(複素共役)行列の固有値と固有ベクトルを計算します。

      詳細なドキュメントは近日公開予定です。

    2. ENUM_SYMBOL_SWAP_MODE列挙にSYMBOL_SWAP_MODE_CURRENCY_PROFIT値を追加しました。SymbolInfoInteger関数がこの値を返す場合、スワップは利益計算通貨で請求されます。
    3. ONNXランタイムのサポートを拡張しました。新しいタイプの機械学習操作を追加し、より高度なニューラルモデルの実行が可能になりました。
    4. 一部の機能ですでに使用されている、より効率的なMQL5コンパイラへの移行を継続します。これにより、さらなる最適化とプログラム実行の高速化が可能になります。
    5. OpenBLASライブラリをサポートするために新しいデータ型を追加しました。

      • complexf:浮動小数点データで表される複素数
      • vectorcf:complexf型の要素を含むベクトル
      • matrixcf:complexf型の要素を含む行列

    6. URLフォーマット規則に違反している、リダイレクトエラーが含まれている、または代替DNS名のリストが長いWebサイトを操作する場合のWebRequest操作を改善しました。
    7. 複数の変数への行列型やベクトル型の同時割り当てに関する不具合を修正しました。

    MetaEditor

    1. AIアシスタントの利用可能なモデルを更新し、より高度なGPT-4o miniがGPT-3.5 Turboに取って代わりました。01-miniモデルも追加しました。
    2. ウォッチウィンドウで変数値が更新されない原因となっていたデバッガーエラーを修正しました。
    3. ユーザーインターフェイスの翻訳を更新しました。

    MetaTester

    1. カスタム銘柄設定での証拠金係数の保存を修正しました。
    2. 特定の条件下でテストパス間で発生する可能性があったメモリリークを修正しました。

    Web端末

    1. チャート上で正確な値を表示したり距離を測定したりするためのクロスヘアモードを追加しました。

      左側のパネルの該当するボタンをクリックしてモードを有効にします。チャート上の任意のポイントに十字線を移動すると、それぞれの軸に日付と価格が表示されます。距離を測定するには、チャート上の任意の点をクリックし、マウスボタンを押したままカーソルを別の点までドラッグします。




      ショートカットを使用することもできます。マウスの中央ボタンを押してクロスヘアを有効にし、Escキーまたは右クリックを使用して無効にします。

    2. バーの終値に基づいて作成されたシンプルな折れ線グラフを追加しました。




    3. モバイルビューでは、気配値表示セクションに追加の列を表示する機能を追加しました。設定するには、テーブルモードに切り替えて[...]をクリックします。




    4. ホットキーを追加しました。

      • Home:チャートの先頭(最も古い日付)までスクロールします
      • End:チャートの最後までスクロールします(最新の日付)
      • PageUp:チャートを1画面前へスクロールします
      • PageDown:チャートを1画面先にスクロールします

    5. アカウント接続ストレージのデータセキュリティが強化されました。
    6. チャートのスクロール、ドラッグ、スケーリング機能が改善されました。
    7. ページ上のWebプラットフォームの初期読み込みが高速化されました。
    8. バーの読み込みが最適化されました。
    9. ExchangeBondsおよびExchangeMOEXBonds商品のポジションの変動利益計算を修正しました。
    10. チャート上のワンクリック取引パネルのボリューム入力を修正しました。
    11. 板情報における注文量の更新エラーを修正しました。特定の条件下では値の更新が遅れる場合があります。
    12. 注文時の最小許容取引量チェックを修正しました。
    13. ヘッジポジションの証拠金計算を修正しました。口座で変動証拠金(現在のポジションのボリューム/価値に基づいて計算)を使用する場合、特定のケースでエラーが発生する可能性がありました。
    14. ワンクリック取引パネルの[買い]ボタンと[売り]ボタンが、数量が変更されるまで非アクティブになる可能性があるエラーを修正しました。
    21 6月 2024
    MetaTrader 5プラットフォームビルド4410:パフォーマンスの改善
    MetaTrader 5プラットフォームビルド4410:パフォーマンスの改善

    ターミナル

    • 特定の条件下でテスト開始時に発生していたターミナルのクラッシュを修正しました。

    MQL5

    Webターミナル

    1. Webターミナルとブラウザの互換性の検証を修正しました。場合によっては、ブラウザがサポートされていないことを示すメッセージが誤ってユーザーに表示されることがありました。
    2. デモ口座の開設を修正しました。
    3. マイナーな修正と改善。

    このアップデートは、Live Updateシステムを通じて提供される予定です。

    MetaTrader 5 Android

    1. タブレット版のインターフェイスを完全に再設計しました。iOS版とWeb版のプラットフォームですでに実証されているモダンなデザインが採用されいます。メインセクションは画面の下部に配置され、チャートの操作コマンドは左側に表示されます。




    2. ポジション履歴セクションにコンテキストメニューが追加され、対応する銘柄の取引ダイアログまたはチャートにすばやくアクセスできるようになりました。
    3. 取引不可能な銘柄の取引ダイアログに切り替えるコマンドを非表示にしました。
    4. MetaQuotes-Demoサーバーでの操作を修正しました。

    モバイルアプリを更新するには、Google PlayHuawei AppGalleryにアクセスする、またはAPKファイルをダウンロードしてください。

    7 6月 2024
    MetaTrader 5プラットフォームビルド4380:パフォーマンスの改善

    ターミナル

    1. 特定の条件下でLive Updateシステムの誤動作を引き起こす可能性のあるエラーを修正しました。
    2. エキスパートアドバイザーのリストを開くための新しいホットキーAlt+Xを追加しました。
    3. クラッシュログに報告されるエラーを修正しました。

    MetaTester

    1. ビットマップグラフィックオブジェクトの特定のプロパティを設定する際のエラーを修正しました。
    2. 仮想環境で動作している場合やプロセッサがAVX命令セットをサポートしていない場合は、テストエージェントのMQL5クラウドネットワークへの接続が禁止されるようになりました。

    Webターミナル

    1. チャート上のワンクリック取引パネルの操作におけるエラーを修正しました。
    2. チャート上でワンクリック取引パネルを有効にしたときに開く警告ダイアログを修正しました。
    31 5月 2024
    MetaTrader 5 Build 4350:Webプラットフォーム分析オブジェクトの追加とMetaEditorウェルカムページ

    MetaEditor

    1. アルゴリズム取引とアプリケーション開発の旅を始めるユーザーを支援するために、ウェルカムページを追加しました。



      初心者向け教材
      「はじめに」セクションでは、MQL5.comで入手可能な教育資料(言語ドキュメント、書籍、記事、開発者フォーラム、コード ベースライブラリ)を紹介しています。また、アプリケーションマーケット、フリーランス、取引シグナルなど、知識を応用して収益化できるサービスも紹介しています。

      ドキュメントと書籍のセクションでは、利用可能な学習教材の詳細な説明を見つけることができます。

      開発者向けの便利な機能
      「新着情報」セクションでは、開発者が最新情報を入手するための重要な情報がまとめられています。


      さらに、最近開いたファイルのリストもここに表示され、すぐにアクセスできます。



      マーケットで積極的にアプリケーションを販売しているユーザーにとって、「私の売上」レポートはパフォーマンスを評価するための貴重なツールとなります。以下へのアクセスが提供されます。

      • 長期にわたる包括的な売上とダウンロードの統計
      • 販売地域(製品の人気が最も高い地域についての洞察を提供)。これにより、特定の言語へのローカライズや特定地域を対象とした広告キャンペーンなど、プロジェクトのさらなる拡大のためのアイデアが提案される可能性があります。
      • 売上高と収益に基づく、最も売れている製品のデータ。グラフは、ライセンスの種類(フルライセンスまたは一定期間のレンタル)に基づいてフィルタリングできます。さらに、ここでは製品価格の変化を示すグラフを見ることができます。これらすべてが顧客を理解するのに役立ちます。
      • 各製品の詳細なダウンロードおよび販売統計


    2. 組み込み検索が改善されました。上部の検索バーは、現在のドキュメント内またはローカルファイル内のテキストの検索にのみ使用されるようになりました。教育資料やコードをグローバルに検索するには、ツールボックスの別のセクションを使用します。


    3. AI Assistantに最新の ChatGPT モデルである GPT-4o のサポートが追加されました。コードを自動的に補完し、ヒントを取得するために使用できます。MetaEditor設定で新しいモデルを選択できます。


    4. ユーザーインターフェイスの翻訳を更新しました。

    ターミナル

    1. 取引商品仕様における計算価格の表示精度が向上しました。
    2. 取引レポートのMFEおよびMAEの計算を修正しました。
    3. 経済指標カレンダーの国と通貨によるフィルタリング設定の保存と復元を修正しました。
    4. チャートへのテンプレートの適用を修正しました。チャートで取引履歴の表示が有効になっている場合、テンプレートを適用した後も対応するオブジェクトが消えなくなります。
    5. オプションボードのエラーを修正しました。ボードに銘柄を追加すると、特定の条件下でプラットフォームがフリーズする可能性がありました。
    6. ポジション編集ダイアログのエラーを修正しました。場合によっては、現在のストップロスとテイクプロフィットの値の代わりに、誤ったレベルが入力される可能性がありました。
    7. ユーザーインターフェイスの翻訳を更新しました。

    MQL5

    1. ArrayResize関数を最適化し、高速化しました。特定の条件下では、関数の実行速度が最大40%高速化されます。
    2. ONNXのサポートを更新しました。
    3. サービスアプリケーションでのMessageBox関数呼び出しを修正しました。ダイアログ内でユーザーが押したボタンに関係なく、null値が返されていました。
    4. 一部のケースでMQL5プログラムの初期化が不完全になっていた問題を修正しました。
    5. いくつかのマクロの解析エラーを修正しました。多数の定数を使用したときにエラーが発生していました。


    MetaTrader 5 Webターミナル

    1. 利用可能な分析オブジェクトのリストを拡張しました。定規を利用して時間と価格を測定したり、図形(長方形、楕円、三角形、円)を描いたり、チャートにラベルを追加したりできるようになりました。すべてのオブジェクトは左パネルにあります。


    2. オブジェクトの名前を変更する機能が追加されました 。
    3. 経済指標カレンダーとの統合を改善しました。データ要求を最適化、高速化しました。
    4. チャート操作を高速化しました。
    5. アプリケーションの起動と取引口座への接続が高速化されました。
    6. チャート上の取引操作の表示を制御する設定を修正しました。
    7. 契約仕様における証拠金要件の表示を修正しました。
    8. 履歴セクションの講座ステータスの表示を修正しました。画面が狭いデバイスでは問題が発生する可能性がありました。
    9. マーケットの深さの変更の表示を修正しました。
    22 3月 2024
    MetaTrader 5 build 4260:全般的な改善

    ターミナル

    1. 購読サービスにおいて、無料製品に申し込む際のエラーを修正しました。特定の条件下では、該当するボタンがダイアログに表示されない場合がありました。
    2. ユーザーインターフェイスの翻訳を更新しました。
    3. クラッシュログに報告されるエラーを修正しました。

    MQL5

    1. キーボードイベントのサポートを拡張しました。

      • OnChartEventハンドラにCHARTEVENT_KEYUPイベントを追加しました。主要なリリースに関連するイベントを追跡することができます。
      • デッドキーの処理を追加しました。これらは、直後に打たれたキーによって生成された文字の外観を変更するキーです。例えば、ギリシャ語のレイアウトでは、強調母音のά、έ、ύなどは、最初に「; 」を押してから母音を入力することで生成できます。このようなキーの押下は、TranslateKey関数を使って追跡することができます。
      • TranslateKey関数とTerminalInfoInteger関数を改良しました。OnChartEventでCHARTEVENT_KEYUPまたは CHARTEVENT_KEYDOWNイベントを受信すると、イベントが発生した時点の完全なキーボード状態を取得できるようになりました。例えば、ユーザーがZキーを押した場合、その瞬間にCtrlキーとShiftキーのどちらが押されたかを判断することができます。その他のイベントでは、関数は以前と同じように動作し続け、現在のキーボードの状態を返します。

    2. Alglibライブラリを更新しました。更新に伴い、CMatrixDoubleおよびCMatrixComplexクラスの以下のメソッドが修正されました。
      vector<double/complex> operator[](const int i) const;
      vector<double/complex> operator[](const ulong i) const;
      これらは、一定の戻り値を持つ単一のメソッドに取って代わられました。
      const vector<double/complex> operator[](const ulong i) const;
      この修正は、新しいAlglibのバージョンでは、mat[row][col]=xのコードが古いバージョンとは異なる動作をするため、結果の不正確な使用を捕捉するのに役立ちます。以前は、これは行列への書き込みを示していましつぁ。ここで、値は一時的なオブジェクトベクター<double/complex>に書き込まれ、記録後はすぐに破棄されます。

      戻り値にconstを追加することで、mat[row][col]=xを使用することができます。mat[row]は定数ベクトルを返すようになったので、その要素をmat[row][col]で上書きしようとするとコンパイルエラーになります。

    3. 特定の条件下でChartGet*関数が正しく動作しない可能性のあるエラーを修正しました。

    MetaEditor

    1. 書籍『MQL5を使用したアルゴリズム取引のためのニューラルネットワーク』の内容を検索できるようにしました。この新しいオプションは、以前出版された『MQL5 Programming for Traders』と同じセクションに掲載されています。



    テスター

    1. 多数のリモートエージェントを使用する際の最適化を修正しました。場合によっては、このエラーによってCPUが過剰に使用されることがあります。

    Webターミナル

    1. 取引所執行モードの商品の指値注文の設定を修正しました。これで、発注中の注文の価格が現在価格に対して変化した場合(高くなったり安くなったりした場合)、注文の種類は、他の種類の商品のように、買い指値から売り指値に切り替わることはありません。そのため、ユーザーは市場より上に買い指値注文を、市場より下に売り指値注文を出すことができ、取引価格を確実に限定することができます。
    2. 気配値表示で選択された銘柄カウンターの表示を修正しました。
    7 3月 2024
    MetaTrader 5 build 4230:ビルトインアプリケーションの増加とONNXサポートの拡張

    ターミナル

    1. 28個の新しいエキスパートアドバイザーと12個の新しい指標が標準プラットフォームパッケージに追加されました。アプリケーションは、ナビゲーターのExpert Advisors\Free RobotsセクションとIndicators\Free Indicatorsセクションで入手できます。各プログラムは、MQL5言語の学習に役立つ詳細なコメント付きのソースコードとして入手できます。

      ロボットは、3 Black Crows – 3 White Soldiers、Bullish Engulfing – Bearish Engulfing、Bullish Harami – Bearish Haramiなどのテクニカル指標とローソク足パターンに基づいて取引戦略を実行します。新しい指標は、カマリラ、デマーク、ドンチャン、フィボナッチ、ケルトナーなど、人気のあるチャネルを実装したものです。



    2. ナスダック市場データのサブスクリプションの開始に向けて準備が進められています。トレーダーはプラットフォームから直接、最大規模の取引所の1つから数百もの金融商品のリアルタイムの相場や詳細な価格履歴にアクセスできるようになります。サブスクリプションは、MetaQuotes-Demoサーバー上のデモ口座とMQL5.communityアカウントを持つユーザーであれば誰でも利用できます。



      開始するには、サブスクリプションを購入し、関連する銘柄を気配値表示に追加するだけです。これらの銘柄は通常の商品として使用できます。チャートを開いて、オブジェクトや指標を使用して分析し、ストラテジーテスターでエキスパートアドバイザーを実行します。すべての情報へのアクセスは、ブローカーと取引する通常の金融商品と同様に実装されます。

    3. 商品仕様の証拠金セクションを改善しました。このセクションには、各商品の証拠金率と計算値が掲載されています。



      特定の種類の銘柄の証拠金表示のエラーを修正しました。

    4. [ヘルプ]メニューにMQL5 Telegramチャネルへのリンクを追加しました。チャネルでは、新しいプログラミング記事のレビューや、コードベースからの無料のロボットや指標など、開発者にとって興味深いコンテンツが定期的に共有されます。重要な情報を見逃さないように、チャネルに登録して最新情報を入手してください。



    5. カスタム構成ファイルの[StartUp]セクションにShutdownterminalパラメーターのサポートが追加されました。このパラメータを使用してプラットフォームを起動し、スクリプトを使用して1回限りのタスクを実行します。たとえば、チャートのスクリーンショットを取得するスクリプトがあるとします。プラットフォームとともにこのスクリプトを起動する構成ファイルを作成できます。このファイルでShutdownTerminalを「Yes」に設定すると、スクリプトの完了直後にプラットフォームが自動的にシャットダウンされます。
    6. ネットワークプロトコルとマーケット製品の保護が強化されています。
    7. デモ口座のシグナルサービスのサポートを無効にしました。デモ口座の拡張統計にアクセスするには、新しい取引レポートを使用します。成長、バランス、資本のグラフ、方向性や商品別の取引分布図など、戦略の収益性とリスクを特徴付ける多数の指標が含まれます。
    8. [ヘルプ]メニューの証券会社契約リンクの表示を修正しました。
    9. VPSレンタルにおける最適なサーバーの選択が改善されました。
    10. ターミナル:ナビゲーターのセクション間を切り替えるときのサブスクリプションページの更新が修正されました。
    11. ターミナル:予備口座を開設する際の契約リストの更新を修正しました。
    12. ユーザーインターフェイスの翻訳を更新しました。

    MQL5

    1. ENUM_MQL_INFO_INTEGER列挙にMQL_STARTED_FROM_CONFIGプロパティを追加しました。スクリプト/エキスパートアドバイザーが構成ファイルのStartUpセクションから起動された場合はtrueを返します。これは、スクリプト/エキスパートアドバイザーがターミナルの起動に使用した構成ファイルで指定されていることを意味します。
    2. ONNXモデルのサポートを拡大し続けます。

      機械学習タスクでは、必ずしも高い計算精度が必要なわけではありません。計算を高速化するために、一部のモデルではFloat16やFloat8などの低精度のデータ型を使用します。ユーザーが関連データをモデルに入力できるようにするために、次の関数がMQL5に追加されました。
      bool ArrayToFP16(ushort &dst_array[],const float &src_array[],ENUM_FLOAT16_FORMAT fmt);
      boolArrayToFP16(ushort&dst_array[],constdouble&src_array[],ENUM_FLOAT16_FORMATfmt);
      bool ArrayToFP8(uchar &dst_array[],const float &src_array[],ENUM_FLOAT8_FORMAT fmt);
      bool ArrayToFP8(uchar &dst_array[],const double &src_array[],ENUM_FLOAT8_FORMAT fmt);
      
      bool ArrayFromFP16(float &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
      boolArrayFromFP16(double&dst_array[],constushort&src_array[],ENUM_FLOAT16_FORMATfmt);
      bool ArrayFromFP8(float &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
      bool ArrayFromFP8(double &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
      16ビットと8ビットの実数形式は異なる場合があるため、変換関数の「fmt」パラメータは、どの数値形式を処理する必要があるかを示す必要があります。16ビットバージョンの場合、新しい列挙体NUM_FLOAT16_FORMATが使用されます。現在、その値は次のとおりです。


      8ビットバージョンの場合、新しいENUM_FLOAT8_FORMAT列挙が使用されます。現在、この列挙には次の値があります。

      • FLOAT_FP8_E4M3FN:8ビット浮動小数点数(4ビット-指数、3ビット-仮数)。通常は係数として使用されます。
      • FLOAT_FP8_E4M3FNUZ:8ビット浮動小数点数(4ビット-指数、3ビット-仮数)。NaNをサポートしますが、負のゼロとInfはサポートしません。通常は係数として使用されます。
      • FLOAT_FP8_E5M2FN:8ビット浮動小数点数(5ビット-指数、2ビット-仮数)。NaNとInfをサポートします。通常、勾配に使用されます。
      • FLOAT_FP8_E5M2FNUZ:8ビット浮動小数点数(5ビット-指数、2ビット-仮数)。NaNをサポートしますが、負のゼロとInfはサポートしません。勾配にも使用されます。

    3. 機械学習で使用される新しい行列およびベクトル手法を追加しました。

      • PrecisionRecallは値を計算して適合率-再現率曲線を構築します。ClassificationScoreと同様に、このメソッドは真の値のベクトルに適用されます。
      • ReceiverOperatingCharacteristic:受信者動作特性(ROC)曲線を構築するための値を計算します。ClassificationScoreと同様に、このメソッドは真の値のベクトルに適用されます。

    4. ONNXランタイムがバージョン1.16に更新されました。リリースの詳細については、GitHubを参照してください。
    5. Python統合パッケージがバージョン5.0.4200に更新され、Python3.12のサポートが追加されました。コマンド「pip install --upgrade MetaTrader5」を使用してパッケージを更新し、最新の変更を取得します。
    6. 場合によってはOrderCalcMargin関数の動作を修正しました。
    7. ENUM_DEAL_REASON列挙に DEAL_REASON_CORPORATE_ACTIONプロパティを追加しました。これは、証券の合併または名前変更、顧客の別の口座への移管など、コーポレートアクションの結果として実行された取引を示します。
    8. Compareメソッドで複素数のベクトルと行列を比較するためのサポートが追加されました。比較には、複素数間の距離の推定が含まれます。距離はsqrt(pow(r1-r2, 2) + pow(i1-i2, 2)として計算され、すでにイプシロンと比較できる実数です。
    9. カラータイプ変数のRGB形式のテキストへの変換が修正されました。
    10. 複素固有値の場合にEigメソッドで固有ベクトルを取得した結果が返される問題を修正しました。複素数の評価のためのメソッドオーバーロードを追加しました。

    MetaEditor

    1. 最近リリースされた書籍「トレーダーのためのMQL5プログラミング」へのリンクをHelp\MQL5.communityメニューに追加しました。この書籍は検索システムにも追加されているため、MetaEditorから必要な情報を直接見つけることができます。




    2. ビルトイン検索の改善:

      • [ツールボックス]ウィンドウの検索結果セクションは、オンライン検索結果(ドキュメント、記事、書籍など)の「検​​索」と、ローカル結果の「ファイル内検索」の2つのタブに分割されています。
      • 別の検索文字列が結果セクションに追加されました。これは、MetaEditorのメインツールバーの検索バーの代わりに使用できます。

    3. コマンドラインからコマンドをコンパイルする際のAVX、AVX2、AVX512モードのサポートが追加されました。コンパイルするには、/avx、/avx2、/avx512のいずれかのキーをコマンドに追加します。
    4. データベース操作用のSQLiteエンジンがバージョン3.45に更新されました。
    5. Internet Explorerのサポートを無効にしました。現在、HTMLページの表示にはMicrosoft Edge WebView2のみが使用されています。時代遅れのMSHTMLと比較して、新しいコンポーネントは最新のテクノロジへのアクセスを提供することにより、コンテンツ表示機能を大幅に拡張します。WebView2を使用すると、一部のMetaEditorセクションの外観が改善され、パフォーマンスが向上し、より応答性の高いインターフェイスが作成されます。
    6. 関数のオートコンプリート時にまれに発生するフリーズを修正しました。
    7. クラッシュログに報告されるエラーを修正しました。
    8. 関数のオートコンプリート時にまれに発生するフリーズを修正しました。

    テスター

    1. テスト開始日がトリプルスワップ日にあたる場合のトリプルスワップの計算を修正しました。

    MetaTrader5Webターミナル

    契約仕様における証拠金要件の表示が改善されました。計算の比率と初期パラメータに加えて、仕様には最終証拠金値が表示されるようになりました。証拠金の値がポジションのボリュームに依存する場合、対応するレベルがダイアログに表示されます。



    証拠金は仕様ウィンドウが開いた時点の商品価格に基づいて計算され、リアルタイムでは更新されません。したがって、値は参考値として考慮する必要があります。現在の価格に基づいて値を再計算するには、商品仕様を再度開きます。
    18 1月 2024
    MetaTrader 5 build 4150:MQL5の取引レポートのエクスポートと新しい機械学習メソッド

    ターミナル

    1. 取引レポートのHTMLおよびPDFファイルへのエクスポートを追加しました。このオプションを使えば、取引実績を同僚や投資家と簡単に共有できます。ファイルメニューとレポートメニューに新しいエクスポートコマンドが追加されました。




    2. 気配値表示ウィンドウの現在の状態をCSVファイルに保存する機能を追加しました。これをおこなうには、コンテキストメニューのエクスポートを選択します。ファイルには、エクスポート時に選択したメトリクスが保存されます。より多くのデータを保存するには、コンテキストメニューから追加の列を有効にします。




    3. 契約仕様における証拠金要件の表示が改善されました。計算の比率や初期パラメータの代わりに、仕様に最終証拠金値が表示されます。証拠金の値がポジションのボリュームに依存する場合、対応するレベルがダイアログに表示されます。



      証拠金は仕様ウィンドウが開いた時点の商品価格に基づいて計算され、リアルタイムでは更新されません。したがって、値は参考値として考慮する必要があります。現在の価格に基づいて値を再計算するには、商品仕様を再度開きます。

    4. デモ口座のシグナルサービスのサポートを無効にしました。デモ口座の拡張統計にアクセスするには、新しい取引レポートを使用します。成長、バランス、資本のグラフ、方向性や商品別の取引分布図など、戦略の収益性とリスクを特徴付ける多数の指標が含まれます。
    5. 逆指値注文のテイクプロフィットおよびストップロスを編集する際の潜在的な利益/損失の値の表示を修正しました。
    6. 決済システムの運用に関する修正と改善。
    7. *.set ファイルから気配値表示に銘柄のセット を読み込むするときの重複チェックを修正しました。
    8. ParallelsのWebインストーラーを修正しました。M1/M2/M3を備えたmacOS上でこの仮想化システムを使用すると、プラットフォームが正しくインストールされるようになりました。
    9. ユーザーインターフェイスの翻訳を更新しました。
    10. クラッシュログに報告されるエラーを修正しました。

    MQL5

    1. 機械学習で利用される行列やベクトルを操作する新しいメソッドを追加しました。

      • ConfusionMatrix:誤差行列を計算します。このメソッドは、予測値のベクトルに適用されます。
      • ConfusionMatrixMultilabel:各ラベルの誤差行列を計算します。このメソッドは、予測値のベクトルに適用されます。
      • ClassificationMetric:分類行列を計算して、実際のデータと比較して予測データの品質を評価します。このメソッドは、予測値のベクトルに適用されます。
      • ClassificationScore:分類行列を計算して、実際のデータと比較して予測データの品質を評価します。このメソッドは真の値のベクトルに適用されます。
       
    2. FileWrite関数によるUTF-8形式のテキストファイルへのデータ保存を修正しました。
    3. Signal*関数が無効化・非推奨にされ、空のシグナルセットを返すようになりました。

    MetaEditor

    1. プロファイリングのためのサンプリングレートを向上しました。プロファイラーがアプリケーションの状態を1秒間に10,000回キャプチャするようになり、関数の実行速度をより正確に測定できるようになりました。
    2. 自動コーディングアシスタントAI Assistantの使用可能モデルを更新しました。ChatGPT-4 Turboモデルを追加し、古い実装を削除しました。
    3. 選択されたテキスト断片内の単語を置換する際のエラーを修正しました。

    テスター

    1. 汎用最適化モードで発生する可能性のあるフォワードテストのフリーズを修正しました。
    2. MQL5プログラムの取引履歴を利用した操作を最適化・高速化しました。
    3. クローズ・バイ・オペレーションの利益計算を修正しました。メインテスト銘柄と一致しない取引商品でエラーが発生することがありました。

    Webターミナル

    1. ブローカー側で関連プロパティが変更された場合、取引銘柄のプロパティが更新されるように修正しました。
    2. チャート上のローソク足実体の表示を修正しました。チャートに小さな実体が表示されないことがありました。
    3. 口座開設フォームの「国」フィールドの動作を修正しました。
    20 10月 2023
    MetaTrader 5 build 4040:改善と修正

    ターミナル

    1. 新しい取引報告書の改善。成長グラフとドローダウン計算の最初の値の表示を修正しました。



    2. 口座を開設する際、トレーダーは社内のメールシステムを通じていくつかのメッセージを受け取ります。これらは、プラットフォームの機能およびビルトインサービスに関する資格情報および有用な情報を提供します。これらのメールを更新・改善し、50ヶ国語に翻訳し、デザインも一新しました。
    3. 口座入出金ページを最適化しました。
    4. ターミナル:新規注文時の出来高変更エラーを修正しました。取引商品の設定の組み合わせによっては、このフィールドを編集することができませんでした。
    5. デモ口座開設ダイアログのブローカー契約リンクの表示を修正しました。
    6. ユーザーインターフェイスの翻訳を更新しました。

    MQL5

    1. 特定の条件下で、MQL5プログラムが起動時にクラッシュする可能性のあるエラーを修正しました。

    MetaTrader 5 Webターミナル

    1. 取引履歴のストップロスとテイクプロフィットの表示を修正しました。
    2. ロギングを改善しました。新しいログメッセージは、接続の成功と失敗に関する情報を表示します。
    3. 気配値表示のコンテキストメニュー操作を修正しました。
    4. いた情報から取引する際の操作結果通知の表示を修正しました。
    5. 取引ダイアログを呼び出した際に、指標サブウィンドウがチャートから削除されてしまうエラーを修正しました。
    6. 分析オブジェクトの上に表示される取引レベルのチャート上でのドラッグを修正しました。
    29 9月 2023
    MetaTrader 5 build 4000 : 取引レポートとWebターミナルの改善

    ターミナル

    1. 新しい取引レポートに、月次の資金増加額の表示を追加しました。メトリックスを表示するには、サマリーレポートを開き、バランスモードを選択します。



    2. 新しい取引レポートの表示を修正・改善しました。
    3. ONNXランタイムがバージョン1.16に更新されました。リリースの詳細についてはGitHubを参照してください。
    4. ユーザーインターフェイスの翻訳を更新しました。

    MetaTrader 5 Webターミナル

    1. パスワード変更ダイアログと口座開設ダイアログの表示を修正しました。
    2. 履歴でのストップロスとテイクプロフィットの値を修正しました。関連するレベルの修正後にエラーが発生することがありました。
    3. リスク警告ダイアログにスクロールを追加しました。
    4. ユーザーインターフェイスの翻訳を更新しました。
    5. その他の改善と修正。
    21 9月 2023
    MetaTrader 5 build 3980:改善と修正

    ターミナル

    1. 新しい取引レポートの改善。スワップ総額と銘柄別利益チャートの表示を修正しました。
    2. 入出金ページの最適化。決済システムとの新しいプラットフォーム統合の詳細については、ビルド3950のリリースノートをご覧ください。
    3. ストラテジーテスターを含むプラットフォーム全体の金融操作の再計算を最適化。利益、証拠金、その他多くのパラメータがより速く計算されるようになりました。
    4. ユーザーインターフェイスの翻訳を更新しました。

    MQL5

    1. complex、vector<complex>、matrix<complex>型にConjugateメソッドを追加しました。これらは複素数の共役演算を実装しています。。
      //+------------------------------------------------------------------+
      //| スクリプトプログラム開始関数                                     |
      //+------------------------------------------------------------------+
      void OnStart()
        {
         complex a=1+1i;
         complex b=a.Conjugate();
         Print(a, "  ", b);
         /*
         (1,1)  (1,-1)
         */
      
         vectorc va= {0.1+0.1i, 0.2+0.2i, 0.3+0.3i};
         vectorc vb=va.Conjugate();
         Print(va, "  ", vb);
         /*
         [(0.1,0.1),(0.2,0.2),(0.3,0.3)]  [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
         */
      
         matrixc ma(2, 3);
         ma.Row(va, 0);
         ma.Row(vb, 1);
         matrixc mb=ma.Conjugate();
         Print(ma);
         Print(mb);
         /*
         [[(0.1,0.1),(0.2,0.2),(0.3,0.3)]
          [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]]
      
         [[(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
          [(0.1,0.1),(0.2,0.2),(0.3,0.3)]]
         */
         
         ma=mb.Transpose().Conjugate();
         Print(ma);
         /*
         [[(0.1,0.1),(0.1,-0.1)]
          [(0.2,0.2),(0.2,-0.2)]
          [(0.3,0.3),(0.3,-0.3)]]
         */
        }
    2. ONNXモデル出力で「Sequence of maps」型を取り扱うようになりました。

      出力レイヤーにMapシーケンスを提供するONNXモデル(ONNX_TYPE_MAPのONNX_TYPE_SEQUENCE)の場合、構造体の動的配列または固定配列を出力パラメータとして渡さなければなりません。この構造体の最初の2つのフィールドは、ONNX_TYPE_MAPのキーと値の型に一致し、固定配列または動的配列でなければなりません。

      以下のPythonスクリプトで作成されたiris.onnxモデルをみてみましょう。
      from sys import argv
      data_path=argv[0]
      last_index=data_path.rfind("\\")+1
      data_path=data_path[0:last_index]
      
      from sklearn.datasets import load_iris
      iris_dataset = load_iris()
      from sklearn.model_selection import train_test_split
      X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)
      from sklearn.neighbors import KNeighborsClassifier
      knn = KNeighborsClassifier(n_neighbors=1)
      knn.fit(X_train, y_train)
      
      # ONNXフォーマットに変換
      from skl2onnx import convert_sklearn
      from skl2onnx.common.data_types import FloatTensorType
      initial_type = [('float_input', FloatTensorType([None, 4]))]
      onx = convert_sklearn(knn, initial_types=initial_type)
      path = data_path+"iris.onnx"
      with open(path, "wb") as f:
          f.write(onx.SerializeToString())
      作成したonnxファイルをMetaEditorで開きます。

      MetaEditorでONNXモデルを見る


      Mapシーケンスはoutput_probabilityとして渡されます。これは、INT64型(MQL5ではlongに相当)のキーとfloat型の値を持ちます。この出力からデータを受け取るには、以下の構造体を宣言します。
      struct MyMap
        {
         long              key[];
         float             value[];
        };
      ここでは、適切な型の動的配列を使用しました。この場合、このモデルのMapは常に3つのキーと値のペアを含むので、固定配列を使用することができます。

      Mapシーケンスが返されるので、output_probability出力からデータを受け取るためのパラメータとして、そのような構造体の配列を渡す必要があります。この配列は、特定のモデルの特性に応じて、動的または静的にすることができます。例:
      //--- 出力層output_probabilityからデータを受け取る配列を宣言する 
      MyMap output_probability[];
      
      ...
      
      //--- 実行中のモデル
      OnnxRun(model,ONNX_DEBUG_LOGS,float_input,output_label,output_probability);

    MetaEditor

    1. ONNXモデルビューアの出力タイプの表示を修正しました。

    MetaTrader 5 Webターミナル ビルド3980

    1. Webターミナルのメインメニューに「Contact Broker」セクションを追加しました。
    2. SSL認証のエラー処理を追加。この認証タイプはWebターミナルではサポートされていません。代わりにワンタイムパスワードを使うことができます。
    3. メインメニューのデスクトッププラットフォームダウンロードリンクを修正しました。
    4. 口座管理ダイアログを修正。ブローカーがデモまたはリアル口座開設オプションを提供していない場合、関連するメニュー項目は非表示になります。
    前へ12345678910111213141516