MQL5言語を使ったMetaTrader 5の統合に関する記事

icon

トレーダーはしばしば革新的なアプローチを要する、興味深いチャレンジに出会います。このカテゴリは、価格データとトレーディング結果を評価し、分析し、処理するための、決して思いもしなかったソリューションを提供する記事を特集します。記事は様々な統合ソリューションについて書かれており、データベースとICQの結合、OpenCLの使用、そしてソーシャルネットワーク、DelphiとC#の使用を含んでいます。

特別に用意された数学的なニューラルなパッケージ、さらにはもっと多くのものをどのように使うかを知るために読み進んでください。作者になりMQL5.communityのメンバーと独自のアイデアを共有してください。

新しい記事を追加
最新 | ベスト
preview
MQL5とデータ処理パッケージの統合(第8回):グラフニューラルネットワークによる流動性ゾーンの検出

MQL5とデータ処理パッケージの統合(第8回):グラフニューラルネットワークによる流動性ゾーンの検出

市場構造をMQL5上でグラフとして表現し、スイングハイとスイングローを特徴量を持つノードとして扱い、それらをエッジで接続する方法を紹介します。また、潜在的な流動性ゾーンをスコアリングするためのGNN(Graph Neural Network:グラフニューラルネットワーク)の学習、モデルのONNX形式へのエクスポート、さらにエキスパートアドバイザー(EA)内でリアルタイム推論を実行する方法についても解説します。読者は、データパイプラインの構築、モデルの統合、チャート上への流動性ゾーンの可視化、そしてそのシグナルをルールベースの売買執行へ活用する方法を学びます。
preview
MetaTrader 5機械学習の設計図(第8回):パージ済み交差検証と試行枝刈りを用いたベイズ最適化によるハイパーパラメータ最適化

MetaTrader 5機械学習の設計図(第8回):パージ済み交差検証と試行枝刈りを用いたベイズ最適化によるハイパーパラメータ最適化

GridSearchCVとRandomizedSearchCVは、金融機械学習(金融ML)における本質的な制約を共有しています。それは、各試行が独立しているため、計算資源を増やしても探索そのものが賢くならないという点です。本記事では、TPE (Tree-structured Parzen Estimator)を用いるOptunaを、PurgedKFold交差検証、HyperbandPrunerによる早期終了、および学習用重みと評価用重みを分離する二重重み規約と統合する方法を紹介します。その結果として、フォールド単位で枝刈りをおこなう目的関数、モデルのハイパーパラメータと重み付けスキームを同時に最適化する提案層、金融タスク向けに調整されたプルーナー、SQLiteをバックエンドとする、再開可能なオーケストレーター、Optunaの結果をscikit-learnのcv_results_形式へ変換するコンバータの5つの要素から構成されるシステムが得られます。さらに本記事では、Timothy Mastersが示した境界についても説明します。すなわち、「統計的な目的関数では誘導的な探索が有益である一方、金融目的関数では逆に有害となる」という考え方です。
preview
グラフ理論:取引における深さ優先探索(DFS)の応用

グラフ理論:取引における深さ優先探索(DFS)の応用

深さ優先探索(DFS)を市場構造に適用し、スイングハイとスイングローをグラフのノードとしてモデル化します。そして、条件が有効である限り、1つの構造的な経路を深く追跡します。重要なスイングがブレイクされた場合、アルゴリズムはバックトラックし、別の分岐を探索します。読者は、構造的バイアスを形式化し、現在の経路が流動性プールや需給ゾーンなどのターゲットと整合しているかを検証するための実践的なフレームワークを学ぶことができます。
preview
KnitPkgを用いたMQL5向けパッケージベース開発手法

KnitPkgを用いたMQL5向けパッケージベース開発手法

MetaTrader向けにMQLを用いた高い信頼性と生産性を備えた開発を実現するため、MQL5/MQL4向けのプロジェクトマネージャであるKnitPkgを利用した、再利用可能な「パッケージ」を中心とする開発手法を紹介します。パッケージは、他のパッケージを構成する土台として利用できるだけでなく、EAやインジケータなど、MetaTraderプラットフォーム上で直接動作する最終成果物の基盤としても活用できます。
preview
MQL5取引ツールのアクセシビリティ課題を克服する(第2回):Pythonのテキスト読み上げエンジンでEAを音声対応にする

MQL5取引ツールのアクセシビリティ課題を克服する(第2回):Pythonのテキスト読み上げエンジンでEAを音声対応にする

テキスト読み上げ(TTS)技術を使用し、PythonとMQL5を連携させてエキスパートアドバイザー(EA)を音声対応にする方法について説明します。この記事を読み終える頃には、動的な市場情報を音声で伝えるEAの実装例を手にすることができます。TTSの活用方法、WebRequest関数の使い方、そしてPythonライブラリがMQL5言語とどのように統合され、実際に音声を活用できるトレードツールを構築できるかを理解できます。
preview
Neuro-Structural Trading Engine (NSTE)(第I回):プロップファーム対応マルチ口座システムの構築方法

Neuro-Structural Trading Engine (NSTE)(第I回):プロップファーム対応マルチ口座システムの構築方法

プロップファームの制約を遵守しながら、MetaTrader 5上で暗号資産CFDを運用するマルチ口座アルゴリズム取引システムアーキテクチャを提示します。システムは、「固定ドルリスク」「1口座につき1スクリプト」「設定の一元管理」という3つの基本原則を定義した上で、PythonとMQL5の役割分担、60秒ごとの処理ループ、JSONベースのシグナル連携について詳しく解説します。さらに、ロットサイズの実践的な計算方法、安全性を確保するためのチェック機構、ポジション管理パターンについても紹介し、信頼性の高い運用を実現するための構成を示します。
preview
MQL5経済指標カレンダーを用いたニュースフィルタリング(第1回):MQL5におけるニュース前・ニュース後ウィンドウの実装

MQL5経済指標カレンダーを用いたニュースフィルタリング(第1回):MQL5におけるニュース前・ニュース後ウィンドウの実装

本システムでは、Webリクエストや外部DLLを使用せず、MQL5のみでカレンダー連動型ニュースフィルタを構築します。第1回は、経済イベントの読み込みとキャッシュ処理、通貨を基準とした銘柄へのイベント紐付け、重要度レベルによるフィルタリング、ニュース前後の監視時間(ウィンドウ)の設定、そしてニュース発生中の新規トレード制限について解説します。また、必要に応じてニュース前に保有ポジションを決済する機能も実装します。この結果、不要な取引停止を減らし、ボラティリティが高まる局面でのエントリーを保護する、設定可能でプロップファーム向けにも適したリスク管理機能を実現できます。
preview
MQL5とデータ処理パッケージの統合(第7回):銘柄間連携のためのマルチエージェント環境の構築

MQL5とデータ処理パッケージの統合(第7回):銘柄間連携のためのマルチエージェント環境の構築

マルチエージェント取引のための完全なPython–MQL5統合について解説します。内容には、MT5データ取得、インジケーター計算、各エージェントによる意思決定、そして単一のアクションを出力する重み付きコンセンサス処理が含まれます。シグナルはJSON形式で保存され、Flaskによって提供され、MQL5のエキスパートアドバイザー(EA)によって取得されて実行されます。実行時には、ポジションサイズを計算し、ATRに基づくSL/TPも設定されます。Flaskのルートは、安全なライフサイクル制御とステータス監視のための機能を提供します。
preview
Python-MetaTrader 5ストラテジーテスター(第5回):複数銘柄および複数時間足ストラテジーテスター

Python-MetaTrader 5ストラテジーテスター(第5回):複数銘柄および複数時間足ストラテジーテスター

銘柄および時間足を横断してスケーラブルに動作するMetaTrader 5互換のバックテストワークフローを紹介します。本システムでは、HistoryManagerを用いてデータ取得を並列化し、すべての時間足からバーおよびティックデータを同期し、スレッドごとに銘柄分離されたOnTickハンドラを実行します。モデリングモードが速度と精度に与える影響、ターミナルデータに依存すべき場面、イベント駆動型更新によるI/O削減手法、そして複数通貨自動売買ロボットの構築方法について学びます。
preview
MetaTrader 5機械学習の設計図(第7回):散発的な実験から再現可能な結果へ

MetaTrader 5機械学習の設計図(第7回):散発的な実験から再現可能な結果へ

本連載の最新回では、個々の機械学習手法の解説から一歩進み、多くのクオンツトレーダーを悩ませている「リサーチの混沌(Research Chaos)」という問題に焦点を当てます。本記事では、場当たり的なノートブックでの実験から脱却し、再現性・追跡可能性・効率性を備えた、本番運用レベルのパイプラインへ移行する方法について説明します。
preview
バックトラッキング探索アルゴリズム(BSA)

バックトラッキング探索アルゴリズム(BSA)

もし最適化アルゴリズムが過去の探索経路を記憶し、その記憶を使ってより良い解を見つけられるとしたらどうでしょうか。BSAはまさにそれを実現し、探索と実績のある探索方向の再利用をバランスよく両立させます。本記事では、そのアルゴリズムの秘密を解き明かします。シンプルなアイデア、最小限のパラメータ、そして安定した結果が特徴です。
preview
イルカエコーロケーションアルゴリズム(DEA)

イルカエコーロケーションアルゴリズム(DEA)

本記事ではDEAアルゴリズムについて詳しく解説します。DEAは、イルカがエコーロケーション(反響定位)を用いて獲物を探す独特の能力に着想を得たメタヒューリスティック最適化手法です。数学的基礎からMQL5での実装、さらには解析や従来アルゴリズムとの比較まで、この比較的新しい手法がなぜ最適化問題に取り組む研究者の手法群に加える価値がある理由を詳しく見ていきます。
preview
機械学習を用いたフラクタルパターンの検出と分類

機械学習を用いたフラクタルパターンの検出と分類

本記事では、フラクタル解析と機械学習を用いた市場予測という興味深いテーマを取り上げます。これらは、金融価格チャート上に形成される多様なフラクタル構造を探究するための第一歩に過ぎません。本記事では、相関を用いてパターンを検出し、CatBoostアルゴリズムでそれらを分類します。
preview
機械学習を用いたフラクタル市場構造入門

機械学習を用いたフラクタル市場構造入門

本記事では、金融時系列を自己相似的なフラクタル構造という観点から考察します。市場の価格変動が自己相似フラクタルとして捉えられる可能性を支持する類似性が多数存在することから、このような構造の予測可能性の地平線について考えることができます。
preview
共分散行列適応進化戦略(CMA-ES)

共分散行列適応進化戦略(CMA-ES)

目的関数の幾何構造を捉えるように学習する、最も興味深い非勾配最適化アルゴリズムの一つを扱います。CMA-ESの古典的実装に対してわずかな修正を加えたもの、すなわち正規分布を冪分布に置き換える手法に焦点を当てます。アルゴリズムの背後にある数理を徹底的に解説し、さらに実装面についても検討します。また、CMA-ESがどのような問題で無類の性能を発揮し、どのような状況では使用を避けるべきかについても確認します。
preview
市場シミュレーション(第24回):SQL入門(VII)

市場シミュレーション(第24回):SQL入門(VII)

前回の記事では、SQLに必要な導入を完了しました。SQLについて何を説明したいのかは、十分に明確にできたと思います。これは、市場のリプレイ/シミュレーションシステムの構築を見に来る人であれば誰でも、そこで何が起きているのかを少なくともある程度イメージできるようにするためのものでした。重要な点は、SQLが完全に処理できることをわざわざプログラミングする意味はないということです。
preview
イーグル戦略最適化(ES)

イーグル戦略最適化(ES)

イーグル戦略最適化(ES)は、鷲の狩猟行動に着想を得た最適化アルゴリズムです。マンテーニャ法によるレヴィ飛行を用いた大域探索と、ホタルアルゴリズムによる集中的な局所探索(local exploitation)を交互に実行することで、探索と活用のバランスを実現します。本アルゴリズムは、数学的根拠に基づく探索戦略と、2つの自然現象を統合したバイオインスパイアードなアプローチを兼ね備えています。
preview
PPPとIMFデータを用いた公正な為替レートの算出

PPPとIMFデータを用いた公正な為替レートの算出

Pythonを用いた購買力平価(PPP)ベースの為替レート分析システムの構築。IMFデータを用いて、5つの方法によって理論為替レートを計算するアルゴリズムを開発しました。本記事は、ファンダメンタルな通貨分析、経済データの処理、トレードシステムとの統合に関する実践的なガイドです。完全なコードはオープンソースとして公開されています。
preview
Pythonを用いたIMFデータの取得

Pythonを用いたIMFデータの取得

PythonでIMFデータを取得する:マクロ経済に基づく通貨戦略に活用するためのIMF(国際通貨基金)データマイニング。マクロ経済は、一般のトレーダーおよびアルゴリズムトレーダーにどのように役立つのでしょうか。
preview
生物地理学に基づく最適化(BBO)

生物地理学に基づく最適化(BBO)

生物地理学に基づく最適化(BBO, Biogeography-Based Optimization)は、群島内の島々の間で発生する種の移住という自然現象に着想を得た、洗練された大域的最適化手法です。このアルゴリズムは、シンプルでありながら強力な考え方に基づいています。すなわち、良質な解はその特徴を他の解へ伝播し、低品質な解は新たな特徴を積極的に取り込むことで、最良の解から最悪の解へと情報が自然に流れるようになります。さらに、適応的な突然変異オペレーターによって探索と活用の優れたバランスが実現されます。BBOはさまざまな最適化問題に対して高い効率を示しています。
preview
金融時系列における共形予測の考察

金融時系列における共形予測の考察

共形予測(Conformal Prediction)と、それを実装するMAPIEライブラリについて考察します。このアプローチは機械学習における最も現代的な手法の一つであり、既存のさまざまな機械学習モデルに対するリスク管理に焦点を当てることを可能にします。共形予測それ自体は、データ内のパターンを見つける方法ではありません。これは、既存のモデルが個々のサンプルを予測する際の信頼度を判定するだけであり、信頼性の高い予測を選別できるようにします。
preview
市場シミュレーション(第23回):SQL入門(VI)

市場シミュレーション(第23回):SQL入門(VI)

本記事では、データベースを可視化し、その構造をどのように理解するかについて見ていきます。これを実現するために、データベースの内部構造を分析します。一見すると不要な作業のように思えるかもしれませんが、本気でデータベース管理者を目指すのであれば、これは十分に意味のある作業です。実際、データベースの保守や設計を生業としている人もいます。
preview
PythonによるCFTCデータマイニングとAIモデルの構築

PythonによるCFTCデータマイニングとAIモデルの構築

CFTCデータのマイニングを試み、Pythonを通じてCOTおよびTFFレポートをダウンロードし、これらをMetaTrader 5の相場データおよびAIモデルと統合して、予測を得てみましょう。FX市場におけるCOTレポートとは何でしょうか。また、COTおよびTFFレポートをどのように予測に活用するのでしょうか。
preview
多通貨エキスパートアドバイザーの開発(第27回):複数行テキスト表示コンポーネント

多通貨エキスパートアドバイザーの開発(第27回):複数行テキスト表示コンポーネント

テキストをチャート上に表示する必要がある場合は、Comment()関数を使用できます。しかし、この関数の機能には多くの制限があります。そこで本記事では、独自コンポーネントとして、複数行テキストの表示、柔軟なフォント設定、さらに、画面全体を占めるスクロール機能対応ダイアログウィンドウを作成します。
preview
MQL5コミュニティOAuthを利用した外部アプリケーション連携

MQL5コミュニティOAuthを利用した外部アプリケーション連携

OAuth 2.0の認可コードフローを使用してAndroidアプリに[Sign in with MQL5]を追加する方法を学びます。このガイドでは、アプリ登録、エンドポイント、リダイレクトURI、カスタムタブ、ディープリンク処理、およびHTTPS経由で認可コードをアクセストークンに交換するPHPバックエンドについて説明します。実際のMQL5ユーザーを認証し、ランクやレピュテーションなどのプロファイルデータにアクセスできるようになります。
preview
MQL5入門(第38回):MQL5のAPIとWebRequest関数の習得(XII)

MQL5入門(第38回):MQL5のAPIとWebRequest関数の習得(XII)

MetaTrader 5とBinanceの間に実用的な橋渡しを構築します。WebRequestを使用して30分足のデータ(kline)を取得し、JSONからOHLCおよび時刻データを抽出したうえで、確定済みのローソク足のみを使用して強気の包み足パターンを確認します。その後、クエリ文字列を組み立て、HMAC-SHA256署名を計算し、X-MBX-APIKEYを追加して認証済み注文を送信します。これにより、データ取得から注文執行までを網羅した、分かりやすいエンドツーエンドのEAワークフローを実現できます。
preview
グラフ理論:取引における幅優先探索(BFS)/ja/応用

グラフ理論:取引における幅優先探索(BFS)/ja/応用

幅優先探索(BFS)はレベル順トラバーサルを用い、価格スイングを時間/ja/経過とともに進化する有向グラフとして市場構造をモデル化します。過去/ja/ローソク足またはセッションを階層ごとに分析することで、BFSはより直近/ja/価格挙動を優先しつつ、より長期/ja/市場文脈も反映します。
preview
初心者からエキスパートへ:サプライ&デマンドゾーンの統計的検証

初心者からエキスパートへ:サプライ&デマンドゾーンの統計的検証

サプライ&デマンド取引戦略の背後にある、見落とされがちな統計的基盤を明らかにします。MQL5とPythonをJupyter Notebookワークフローで連携させることで、マーケットに対する視覚的な仮定を定量的な洞察へと変換する体系的なデータ駆動型リサーチをおこないます。本記事では、データ収集からPythonによる統計分析、アルゴリズム設計、テスト、最終的な結論に至るまで、一連の研究プロセスを解説します。手法と結果の詳細については、本文をご参照ください。
preview
MQL5入門(第37回):MQL5のAPIとWebRequest関数の習得(XI)

MQL5入門(第37回):MQL5のAPIとWebRequest関数の習得(XI)

MQL5を使用してBinance APIに認証付きリクエストを送信し、アカウント内の全資産の残高情報を取得する方法を解説します。APIキー、サーバー時刻、署名を利用して安全にアカウント情報へアクセスし、そのレスポンスをファイルへ保存して後で活用する方法を学びます。
preview
Python-MetaTrader 5ストラテジーテスター(第1回):取引シミュレーター

Python-MetaTrader 5ストラテジーテスター(第1回):取引シミュレーター

MetaTrader5のPythonモジュールは、Pythonを使ってMetaTrader5アプリで取引を発注するための便利な手段を提供しています。しかし、このモジュールには大きな問題があります。それは、MetaTrader5アプリに存在するストラテジーテスター機能が備わっていないことです。本連載では、Python環境で取引戦略をバックテストするためのフレームワークを構築していきます。
preview
OpenCLを用いたMQL5におけるCPUからGPUへの実践的移行パス

OpenCLを用いたMQL5におけるCPUからGPUへの実践的移行パス

MQL5でCPUからGPUへの移行方法を実用的に構築する方法を解説します。本記事では、コンテキストの初期化、バッファ構造の設計、大規模バッチ処理、カーネルの起動、データ転送の最小化に焦点を当てます。また、典型的なエラーとその解決方法についても取り上げます。ローソク足パターンの例を通じて、このアプローチの実用的な効果も示します。
preview
ルーチン作業なしのアルゴリズム取引:MetaTrader 5におけるSQLiteを用いた高速取引分析

ルーチン作業なしのアルゴリズム取引:MetaTrader 5におけるSQLiteを用いた高速取引分析

本記事では、MQL5におけるSQLiteを用いた取引ジャーナル管理のための「最小実用構成」を紹介します。内容には、取引、シグナル、イベント用テーブル構造、インデックス設計、プリペアドステートメントによる高速かつ安全なデータ記録、さらに標準的な分析用SQLクエリが含まれます。また、MetaTrader 5の統計ダッシュボードとの統合方法や、MetaEditor上でデータベースを操作する手法についても解説します。このアプローチにより、取引ジャーナルの自動化、計算処理の高速化、そしてEAコードを複雑化させることなく高度な分析を実現できます。
preview
Python + MetaTrader 5:データ、機能、プロトタイプのための高速研究フレームワーク

Python + MetaTrader 5:データ、機能、プロトタイプのための高速研究フレームワーク

本記事では、PythonとMetaTrader 5の統合によって、研究の柔軟性と取引実行を単一のワークフローに統合できることを示しています。Pythonはデータ分析、特徴量選択、モデル学習に使用され、MetaTrader 5はテストおよび取引自動化に使用されます。このアプローチにより、ソリューションを実運用へ移行するプロセスが簡素化され、再現性が向上し、トレードシステムの開発がより迅速かつ構造化されます。
preview
決定論的振動型探索(DOS)

決定論的振動型探索(DOS)

決定論的振動型探索(DOS, Deterministic Oscillatory Search)アルゴリズムは、乱数を使用せずに勾配法と群知能アルゴリズムの利点を組み合わせた、革新的な大域最適化手法です。適応度の振動と勾配状態メカニズムによって、DOSは複雑な探索空間を決定論的に探索することができます。
preview
市場シミュレーション(第20回):SQL入門(III)

市場シミュレーション(第20回):SQL入門(III)

約10件程度のレコードを含むデータベースでも操作をおこなうことはできますが、15,000件を超えるレコードを含むファイルを使って作業したほうが、内容をはるかに理解しやすくなります。つまり、そのようなデータベースを手作業で作成しようとすると、膨大な作業になってしまうということです。しかし、教育目的で利用可能な、そのようなデータベースをダウンロードできる場所を見つけるのは簡単ではありません。ですが、実際にはその必要はありません。MetaTrader 5を使えば、自分たちでデータベースを作成できるからです。本日の記事では、その方法について見ていきます。
preview
市場シミュレーション(第19回):SQL入門(II)

市場シミュレーション(第19回):SQL入門(II)

最初のSQLに関する記事でも説明したように、SQLにすでに組み込まれていることを実現するために、わざわざ時間をかけて手続きをプログラミングする意味はありません。しかし、基礎を理解していなければ、SQLを使って何かをおこなうことも、このツールが提供する機能を十分に活用することもできません。そこで今回の記事では、データベースにおける基本的な作業をどのようにおこなうかを見ていきます。
preview
MQL5における建値機能の実装(第1回):基底クラスと固定ポイントの建値モード

MQL5における建値機能の実装(第1回):基底クラスと固定ポイントの建値モード

本記事では、MQL5言語を用いた自動売買戦略における建値(損益分岐点)機能の実装について解説します。まず、建値モードとは何か、その仕組みや実装パターンについて簡単に説明します。 その後、前回のリスク管理に関する記事で作成したOrder Blocksエキスパートアドバイザーに、この機能を統合していきます。さらに、その有効性を検証するため、同一条件下で2種類のバックテストを実施します。1つはブレイクイーブン機能を有効化した場合、もう1つは無効化した場合です。
preview
価格変動の角度分析:金融市場予測のためのハイブリッドモデル

価格変動の角度分析:金融市場予測のためのハイブリッドモデル

金融市場の角度分析とは何でしょうか。プライスアクションにおける「角度」をどのように活用すれば、機械学習によって67%の予測精度を達成できるのでしょうか。さらに、角度特徴量を用いた回帰モデルと分類モデルをどのように統合し、実用可能なアルゴリズムへと落とし込むことができるのでしょうか。ギャンはこれとどのような関係があるのでしょうか。価格変動の角度が機械学習において有効な指標である理由は何でしょうか。
preview
市場シミュレーション(第18回):SQL入門(I)

市場シミュレーション(第18回):SQL入門(I)

使用するSQLプログラムがMySQLであっても、SQL Server、SQLite、OpenSQL、あるいはその他のものであっても問題ではありません。これらはすべて共通点を持っており、その共通要素がSQL言語です。たとえMySQL Workbenchを使用しない場合でも、MetaEditorやMQL5を通じてデータベースを直接操作し、MetaTrader 5上で操作することが可能です。ただしそのためにはSQLの知識が必要になります。ここでは、その基本を学習します。
preview
多通貨エキスパートアドバイザーの開発(第26回):取引商品の情報提供

多通貨エキスパートアドバイザーの開発(第26回):取引商品の情報提供

多通貨EAの開発へと進む前に、まずはこれまで構築してきたライブラリを用いて、新しいプロジェクトを作成する段階へ移行してみましょう。この例では、ソースコードの管理方法をどのように整理するのが最も適切か、そしてMetaQuotesの新しいコードリポジトリを活用することで、どのような利点が得られるのかを示していきます。