MetaTrader 5 build 4570:MQL5のWebバージョンとOpenBLAS統合の強化
端末
- 口座がシグナルにサブスクライブされている場合、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
- ティック履歴のリクエストとCSV\HTMLファイルへのエクスポートを修正、最適化、高速化しました。
- macOS上の取引プラットフォームでHTMLコンテンツを表示するためのMicrosoft Edge WebView2サポートを追加しました。旧来のMSHTMLに比べ、現代技術へのアクセスを提供することで、コンテンツ表示機能が大幅に拡張されます。WebView2への移行により、マーケット、シグナル、VPSなどのセクションの外観が改善され、応答性とパフォーマンスが向上しました。
- 内部メール送信ウィンドウのコンテキストメニューを修正しました。
- 取引商品選択ダイアログのフィルタリングを修正しました。 期限切れの銘柄を非表示にするためにまず銘柄名を入力する必要がなくなりました。
- 契約仕様ウィンドウでの証拠金要件計算を修正し、取引所株式や債券商品の誤計算を解消しました。
- FIFO口座の一括ポジションクローズ機能を改善しました。このような口座では、すべての利益/損失ポジション、同一方向のポジション、反対方向のポジションのクローズなど、互換性のない操作タイプは表示されなくなりました。
- ポジションのクローズがFIFOルールに従う口座でユーザーが反対の保留注文を出すことができない問題を修正しました。
- 取引所先物商品のポジションを持つ口座の清算価値の計算を修正しました。
- ExchangeBondsおよびExchangeMOEXBonds商品のポジションの変動利益計算を修正しました。
- デモ口座がない場合にプラットフォーム起動時にデモ口座を自動作成する機能を無効化しました。
- 口座登録時の名前とメールアドレスの検証を強化しました。
- ヘッジポジションの証拠金計算を修正しました。口座で変動証拠金(現在のポジションのボリューム/価値に基づいて計算)を使用する場合、特定のケースでエラーが発生する可能性がありました。
- デモ口座開設ダイアログの[次へ]ボタンの状態の更新を修正しました。電話またはメールの確認コードを入力した後、特定の条件下ではボタンが非アクティブのままになることがありました。
- ユーザーインターフェイスの翻訳を更新しました。
MQL5
- 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)を使用して、対称行列またはエルミート(複素共役)行列の固有値と固有ベクトルを計算します。
詳細なドキュメントは近日公開予定です。
- ENUM_SYMBOL_SWAP_MODE列挙にSYMBOL_SWAP_MODE_CURRENCY_PROFIT値を追加しました。SymbolInfoInteger関数がこの値を返す場合、スワップは利益計算通貨で請求されます。
- ONNXランタイムのサポートを拡張しました。新しいタイプの機械学習操作を追加し、より高度なニューラルモデルの実行が可能になりました。
- 一部の機能ですでに使用されている、より効率的なMQL5コンパイラへの移行を継続します。これにより、さらなる最適化とプログラム実行の高速化が可能になります。
- OpenBLASライブラリをサポートするために新しいデータ型を追加しました。
- complexf:浮動小数点データで表される複素数
- vectorcf:complexf型の要素を含むベクトル
- matrixcf:complexf型の要素を含む行列
- URLフォーマット規則に違反している、リダイレクトエラーが含まれている、または代替DNS名のリストが長いWebサイトを操作する場合のWebRequest操作を改善しました。
- 複数の変数への行列型やベクトル型の同時割り当てに関する不具合を修正しました。
MetaEditor
- AIアシスタントの利用可能なモデルを更新し、より高度なGPT-4o miniがGPT-3.5 Turboに取って代わりました。01-miniモデルも追加しました。
- ウォッチウィンドウで変数値が更新されない原因となっていたデバッガーエラーを修正しました。
- ユーザーインターフェイスの翻訳を更新しました。
MetaTester
- カスタム銘柄設定での証拠金係数の保存を修正しました。
- 特定の条件下でテストパス間で発生する可能性があったメモリリークを修正しました。
Web端末
- チャート上で正確な値を表示したり距離を測定したりするためのクロスヘアモードを追加しました。
左側のパネルの該当するボタンをクリックしてモードを有効にします。チャート上の任意のポイントに十字線を移動すると、それぞれの軸に日付と価格が表示されます。距離を測定するには、チャート上の任意の点をクリックし、マウスボタンを押したままカーソルを別の点までドラッグします。

ショートカットを使用することもできます。マウスの中央ボタンを押してクロスヘアを有効にし、Escキーまたは右クリックを使用して無効にします。
- バーの終値に基づいて作成されたシンプルな折れ線グラフを追加しました。

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

- ホットキーを追加しました。
- Home:チャートの先頭(最も古い日付)までスクロールします
- End:チャートの最後までスクロールします(最新の日付)
- PageUp:チャートを1画面前へスクロールします
- PageDown:チャートを1画面先にスクロールします
- アカウント接続ストレージのデータセキュリティが強化されました。
- チャートのスクロール、ドラッグ、スケーリング機能が改善されました。
- ページ上のWebプラットフォームの初期読み込みが高速化されました。
- バーの読み込みが最適化されました。
- ExchangeBondsおよびExchangeMOEXBonds商品のポジションの変動利益計算を修正しました。
- チャート上のワンクリック取引パネルのボリューム入力を修正しました。
- 板情報における注文量の更新エラーを修正しました。特定の条件下では値の更新が遅れる場合があります。
- 注文時の最小許容取引量チェックを修正しました。
- ヘッジポジションの証拠金計算を修正しました。口座で変動証拠金(現在のポジションのボリューム/価値に基づいて計算)を使用する場合、特定のケースでエラーが発生する可能性がありました。
- ワンクリック取引パネルの[買い]ボタンと[売り]ボタンが、数量が変更されるまで非アクティブになる可能性があるエラーを修正しました。