MQL4とMQL5のプログラム記事

icon

取引戦略をプログラミングするためのMQL5言語を、ほとんどがコミュニティメンバーによって書かれた数多くの公開記事で学びます。記事は統合、テスター、取引戦略等のカテゴリに分けられていて、プログラミングに関連する疑問への解答を素早く見つけることができます。

新着記事をフォローして、フォーラムでディスカッションしてください。

新しい記事を追加
最新 | ベスト
preview
ロイヤルフラッシュ最適化(RFO)

ロイヤルフラッシュ最適化(RFO)

オリジナルの「ロイヤルフラッシュ最適化」アルゴリズムは、最適化問題を解決するための新しいアプローチを提示しています。この手法では、遺伝的アルゴリズムで一般的に用いられる古典的な二進符号化を、ポーカーの原理に着想を得たセクターベースのアプローチに置き換えています。RFOは、基本原理を単純化することで、効率的かつ実用的な最適化手法が実現できることを示しています。本記事では、アルゴリズムの詳細な解析とテスト結果を紹介します。
preview
取引におけるニューラルネットワーク:階層型ダブルタワーTransformer(最終回)

取引におけるニューラルネットワーク:階層型ダブルタワーTransformer(最終回)

複雑な多変量時系列の分析および予測を目的に設計された、Hidformer階層型ダブルタワーTransformerモデルの構築を引き続き進めます。本記事では、これまでに着手した作業を論理的な結論へと導き、実際の履歴データを用いてモデルを検証します。
preview
弁証法的探索(DA)

弁証法的探索(DA)

本記事では、弁証法の考え方に着想を得た大域最適化手法である弁証法的アルゴリズム(Dialectical Algorithm, DA)を紹介します。このアルゴリズムは、集団を「思索的思考者(speculative thinkers)」と「実践的思考者(practical thinkers)」に独自に分割する点が特徴です。テストでは、低次元問題において最大98%の高い性能を示し、全体的な効率は57.95%に達しました。本記事ではこれらの指標を解説し、アルゴリズムの詳細な説明とさまざまな関数に対する実験結果を提示します。
preview
金融時系列予測のための生物学的ニューロン

金融時系列予測のための生物学的ニューロン

時系列予測のために生物学的に正しいニューロンシステムを構築します。ニューラルネットワークのアーキテクチャにプラズマ的な環境を導入することで、一種の「集合知」が生まれます。そこでは、各ニューロンが直接的な結合だけでなく、長距離の電磁相互作用を通じてもシステム全体の動作に影響を与えます。このようなニューラル脳モデリングシステムが市場においてどのような性能を発揮するのかを見ていきます。
preview
取引におけるニューラルネットワーク:階層型ダブルタワーTransformer (Hidformer)

取引におけるニューラルネットワーク:階層型ダブルタワーTransformer (Hidformer)

階層型ダブルタワーTransformer (Hidformer: Hierarchical Double-Tower Transformer)フレームワークについて紹介します。このフレームワークは時系列予測およびデータ分析向けに開発されました。Hidformerの開発者は、Transformerアーキテクチャに対して複数の改良を提案しており、その結果、予測精度の向上と計算リソースの削減を実現しています。
preview
Pythonを使用したボラティリティ予測インジケーターの作成

Pythonを使用したボラティリティ予測インジケーターの作成

本記事では、二値分類を使って将来の極端なボラティリティを予測します。さらに、機械学習を活用した極端ボラティリティ予測インジケーターの開発もおこないます。
preview
市場シミュレーション(第6回):MetaTrader 5からExcelへの情報の転送

市場シミュレーション(第6回):MetaTrader 5からExcelへの情報の転送

多くの人、特にプログラマーではない人は、MetaTrader 5と他のプログラムとの間で情報をやり取りすることは非常に難しいと感じます。その代表的な例がExcelです。多くの人がExcelをリスク管理や運用管理のための手段として利用しています。Excelは非常に優れたプログラムであり、VBAプログラマーでなくても比較的容易に習得できます。ここでは、MetaTrader 5とExcelの間に接続を確立する方法について説明します。方法は非常にシンプルなものです。
preview
リスク管理(第2回):グラフィカルインターフェースでのロット計算の実装

リスク管理(第2回):グラフィカルインターフェースでのロット計算の実装

本記事では、前回の記事で紹介した内容をさらに発展させ、MQL5の強力なグラフィカルコントロールライブラリを使って実際にGUIを作成する方法を解説します。ステップごとに、完全に動作するGUIを作る過程を追いながら、各メソッドの仕組みや役割、そしてその背後にある考え方についても丁寧に説明します。また、記事の最後には、作成したパネルをテストして、正しく機能することを確認します。
preview
市場シミュレーション(第5回):C_Ordersクラスの作成(II)

市場シミュレーション(第5回):C_Ordersクラスの作成(II)

本記事では、Chart Tradeとエキスパートアドバイザー(EA)が連携して、ユーザーが保有しているすべてのポジションを決済する要求をどのように処理するのかを解説します。一見すると単純な処理に思えるかもしれませんが、実際には注意すべきいくつかの複雑な点があります。
preview
初級から中級まで:テンプレートとtypename(V)

初級から中級まで:テンプレートとtypename(V)

本記事では、テンプレートの最後の簡単な使用例を探り、コード内でtypenameを使用する利点と必要性についても解説します。最初は少し難しく感じるかもしれませんが、テンプレートやtypenameを後で正しく使うためには、しっかり理解しておくことが重要です。
preview
取引におけるニューラルネットワーク:暗号通貨市場向けメモリ拡張コンテキスト認識学習(最終回)

取引におけるニューラルネットワーク:暗号通貨市場向けメモリ拡張コンテキスト認識学習(最終回)

MacroHFTフレームワークは、高頻度暗号資産取引(HFT)のために、文脈認識型強化学習とメモリ機構を用いて動的な市場環境に適応します。本記事の最後では、実装した手法を実際の過去データで検証し、その有効性を評価します。
preview
取引におけるニューラルネットワーク:暗号通貨市場向けメモリ拡張コンテキスト認識学習(MacroHFT)

取引におけるニューラルネットワーク:暗号通貨市場向けメモリ拡張コンテキスト認識学習(MacroHFT)

MacroHFTフレームワークは、マクロ経済データと適応型エージェントを用いて、高頻度暗号資産取引の意思決定を改善するために、コンテキスト認識型強化学習とメモリを応用するものです。
preview
市場シミュレーション(第4回):C_Ordersクラスの作成(I)

市場シミュレーション(第4回):C_Ordersクラスの作成(I)

本記事では、取引サーバーに注文を送信できるようにするためのC_Ordersクラスの作成を開始します。これは少しずつ進めていきますが、目的は、メッセージングシステムを通じてこれがどのようにおこなわれるのかを詳細に説明することです。
preview
取引におけるニューラルネットワーク:概念強化を備えたマルチエージェントシステム(最終回)

取引におけるニューラルネットワーク:概念強化を備えたマルチエージェントシステム(最終回)

FinConフレームワークの著者によって提案されたアプローチの実装を続けます。FinConは、大規模言語モデル(LLM)をベースとしたマルチエージェントシステムです。本日は、必要なモジュールを実装し、実際の過去データを用いたモデルの包括的なテストをおこないます。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第16回):教師あり学習を用いた線形システム同定

MQL5で自己最適化エキスパートアドバイザーを構築する(第16回):教師あり学習を用いた線形システム同定

線形システム同定は、教師あり学習アルゴリズムにおける誤差補正の学習と組み合わせることができます。これにより、統計的モデリング手法に依存したアプリケーションを構築しつつも、モデルが前提とする厳格な仮定の脆弱性を必ずしも引き継ぐことなく設計することが可能になります。従来の教師あり学習アルゴリズムには多くの要件がありますが、それらはフィードバックコントローラーと組み合わせることで補完でき、モデルを補正しながら現在の市場環境に適応させることができます。
preview
取引におけるニューラルネットワーク:概念強化を備えたマルチエージェントシステム(FinCon)

取引におけるニューラルネットワーク:概念強化を備えたマルチエージェントシステム(FinCon)

FinConフレームワークは、大規模言語モデル(LLM)をベースにしたマルチエージェントシステムです。概念的言語強化を活用して意思決定とリスク管理を改善し、さまざまな金融タスクで効果的に機能するよう設計されています。
preview
初心者からエキスパートへ:パラメータ制御ユーティリティ

初心者からエキスパートへ:パラメータ制御ユーティリティ

従来のEAやインジケーターの入力プロパティを、リアルタイムで操作可能なオンチャートのコントロールインターフェースへと変換することを想像してみてください。本記事は、これまでに取り組んできたMarket Periods Synchronizerインジケーターでの基礎的な成果を土台とし、上位足(HTF)の市場構造を可視化し、管理する手法を大きく進化させるものです。ここでは、その概念を完全にインタラクティブなユーティリティへと昇華させ、動的な操作性と強化されたマルチタイムフレーム(MTF)のプライスアクションの可視化を、チャート上に直接統合したダッシュボードとして実装します。この革新的なアプローチが、トレーダーとツールの関わり方をどのように変えていくのか、一緒に見ていきましょう。
preview
リスク管理(第1回):リスク管理クラス構築の基礎

リスク管理(第1回):リスク管理クラス構築の基礎

本記事では、取引におけるリスク管理の基礎を解説し、適切なロットサイズやストップロスを計算するための最初の関数の作成方法を学びます。さらに、これらの機能がどのように動作するのかを、各ステップを追いながら詳しく説明します。本記事の目的は、自動売買においてこれらの概念をどのように適用するかを明確に理解することです。最後に、インクルードファイルを使用したシンプルなスクリプトを作成し、すべてを実践に落とし込みます。
preview
取引におけるニューラルネットワーク:金融市場向けマルチモーダルツール拡張エージェント(FinAgent)

取引におけるニューラルネットワーク:金融市場向けマルチモーダルツール拡張エージェント(FinAgent)

FinAgentを紹介します。FinAgentは、マーケットの動向や過去の取引パターンを反映するさまざまなタイプのデータを分析できるマルチモーダル金融取引エージェントのフレームワークです。
preview
取引におけるニューラルネットワーク:金融市場向けマルチモーダルツール拡張エージェント(最終部)

取引におけるニューラルネットワーク:金融市場向けマルチモーダルツール拡張エージェント(最終部)

マルチモーダル市場の動向データと過去の取引パターンを分析するために設計されたマルチモーダル金融取引エージェント「FinAgent」のアルゴリズム開発を続けます。
preview
多通貨エキスパートアドバイザーの開発(第21回):重要な実験の準備とコードの最適化

多通貨エキスパートアドバイザーの開発(第21回):重要な実験の準備とコードの最適化

さらなる前進のためには、自動最適化を定期的に再実行し、新しいエキスパートアドバイザー(EA)を生成することで結果を改善できるかどうかを検証することが有益でしょう。パラメータ最適化の利用を巡る多くの議論における最大の障害は、取得したパラメータを将来の期間において、収益性およびドローダウンを所定の水準に保ったまま、どれだけ長く取引に使用できるのかという点です。そして、そもそもそれは可能なのかという問題でもあります。
preview
取引におけるニューラルネットワーク:層状メモリを持つエージェント(最終回)

取引におけるニューラルネットワーク:層状メモリを持つエージェント(最終回)

引き続き、FinMemフレームワークの構築に取り組みます。本フレームワークは、人間の認知プロセスを模した層状メモリアプローチを用いることで、複雑な金融データを効果的に処理できるだけでなく、新しいシグナルに適応することも可能にします。その結果、動的に変化する市場における投資判断の精度と有効性が大幅に向上します。
preview
共和分株式による統計的裁定取引(第6回):スコアリングシステム

共和分株式による統計的裁定取引(第6回):スコアリングシステム

本記事では、共和分株式の統計的裁定取引に基づく平均回帰戦略のスコアリングシステムを提案します。流動性や取引コストから、共和分ベクトルの数(ランク)や回帰までの時間に至るまでの基準を示しつつ、時間足やルックバック期間のような戦略的基準も考慮し、スコアランキングを正しく評価する前に検討しています。バックテストの再現に必要なファイルも提供され、その結果についてもコメントしています。
preview
プライスアクション分析ツールキットの開発(第47回):MetaTrader 5で外国為替セッションとブレイクアウトを追跡する

プライスアクション分析ツールキットの開発(第47回):MetaTrader 5で外国為替セッションとブレイクアウトを追跡する

世界中の市場セッションは1日の取引のリズムを形成しており、それらの重なりを理解することは、エントリーやエグジットのタイミングを見極めるうえで非常に重要です。本記事では、これらの世界的な取引時間をチャート上で視覚的に再現するインタラクティブな取引セッションEAを構築します。このEAは、アジア、東京、ロンドン、ニューヨークの各セッションを色分けされた矩形として自動的に描画し、各市場の開始と終了に応じてリアルタイムで更新します。また、チャート上のトグルボタン、動的な情報パネル、そしてライブのステータスやブレイクアウトメッセージを表示するスクロール式のティッカーヘッドラインも搭載しています。複数のブローカーでテストされたこのEAは、精度とデザイン性を兼ね備えており、ボラティリティの移行を視覚的に把握し、セッション間のブレイクアウトを特定し、グローバル市場の動きを常に意識したトレードを可能にします。
preview
迅速な取引判断を極める:実行麻痺を克服する

迅速な取引判断を極める:実行麻痺を克服する

UT BOT ATRトレーリングインジケーターは、個人向けにカスタマイズ可能なインジケーターであり、短期売買において素早い意思決定を好むトレーダー(スキャルパー)にとって非常に効果的です。また、長期取引をおこなうトレーダー(ポジショントレーダー)にとっても重要かつ非常に有効であることが実証されています。
preview
機械学習の限界を克服する(第6回):効果的なメモリクロスバリデーション

機械学習の限界を克服する(第6回):効果的なメモリクロスバリデーション

本記事では、時系列クロスバリデーションにおける従来のアプローチと、その前提に疑問を投げかける新しい考え方を比較します。特に、市場環境が時間とともに変化するという点を十分に扱えていないという、古典的手法の弱点に焦点を当てます。これらの問題を踏まえ、Effective Memory Cross-Validation (EMCV)という、ドメインを意識した検証手法を紹介します。このアプローチは、「過去データは多ければ多いほど良い」という長年の常識を見直すものです。
preview
MQL5入門(第25回):チャートオブジェクトで取引するEAの構築(II)

MQL5入門(第25回):チャートオブジェクトで取引するEAの構築(II)

本記事では、チャートオブジェクト、特にトレンドラインと連携するエキスパートアドバイザー(EA)を構築し、ブレイクアウトおよび反転の取引機会を検出し、実行する方法を解説します。EAが有効なシグナルをどのように判定するのか、取引頻度をどのように制御するのか、そしてユーザーが選択した取引戦略との一貫性をどのように維持するのかを学ぶことができます。
preview
ダイナミックスイングアーキテクチャ:スイングから自動売買までの市場構造認識

ダイナミックスイングアーキテクチャ:スイングから自動売買までの市場構造認識

本記事では、市場のスイングを高精度で捉え、自動売買を実現する完全自動化MQL5システムを紹介します。従来の固定ローソク足数に基づくスイングインジケーターとは異なり、このシステムは進行中の市場構造に動的に適応し、スイングハイおよびスイングローをリアルタイムで検出します。これにより、形成されつつあるトレンドの値動きを的確に捉え、取引機会を逃さず捕捉することが可能です。
preview
知っておくべきMQL5ウィザードのテクニック(第85回):ストキャスティクスとFrAMAのパターンを用いたβ-VAEによる推論

知っておくべきMQL5ウィザードのテクニック(第85回):ストキャスティクスとFrAMAのパターンを用いたβ-VAEによる推論

本記事は、ストキャスティクスとフラクタル適応型移動平均の組み合わせを紹介した「第84回」の続きです。今回は推論フェーズでの学習結果の活用に焦点を移し、前回の記事で取り上げた低調なパターンの成績を改善できるかどうかを検討します。ストキャスティクスとFrAMAは、モメンタムとトレンドを補完する関係にあります。推論フェーズでの学習結果の活用では、以前に考察したβ変分オートエンコーダ(β-VAE)のアルゴリズムを再度利用します。また、いつものように、MQL5ウィザードとの統合を目的として設計されたカスタムシグナルクラスの実装も継続します。
preview
プライスアクション分析ツールキットの開発(第46回):MQL5におけるスマートな可視化を備えたインタラクティブフィボナッチリトレースメントEAの設計

プライスアクション分析ツールキットの開発(第46回):MQL5におけるスマートな可視化を備えたインタラクティブフィボナッチリトレースメントEAの設計

フィボナッチツールは、テクニカル分析で最も人気のあるツールのひとつです。本記事では、価格の動きに応じて動的に反応するリトレースメントおよびエクステンションレベルを描画し、リアルタイムアラート、スタイリッシュなライン、ニュース風のスクロールヘッドラインを提供するインタラクティブフィボナッチEAの作成方法をご紹介します。このEAのもうひとつの大きな利点は柔軟性です。チャート上で高値(A)と安値(B)のスイング値を直接入力できるため、分析したい価格範囲を正確にコントロールできます。
preview
MQL標準ライブラリエクスプローラー(第2回):ライブラリコンポーネントの接続

MQL標準ライブラリエクスプローラー(第2回):ライブラリコンポーネントの接続

本記事では、MQL5標準ライブラリを用いてエキスパートアドバイザー(EA)を効率的に構築するために、クラス構造をどのように読み解くべきかを整理します。標準ライブラリは高い拡張性と機能性を備えていますが、その全体像が見えにくく、体系的な指針がないまま複雑なツールキットを渡されたように感じることも少なくありません。そこで本記事では、実際の開発現場でクラスを確実に連携させるための、簡潔かつ再現性の高い統合手順を紹介します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第15回):線形系同定

MQL5で自己最適化エキスパートアドバイザーを構築する(第15回):線形系同定

取引戦略の改善は困難な課題です。その大きな理由の一つは、戦略がどこで、なぜ誤作動しているのかを私たち自身が十分に理解できていない点にあります。本記事では、制御理論の一分野である線形系同定を紹介します。線形帰還系(フィードバックシステム)は、データから学習することでシステムの誤差を特定し、その挙動を意図した結果へと導くことができます。これらの手法は、必ずしも完全に解釈可能な説明を与えるものではありませんが、制御系が存在しない状態と比べれば、はるかに有用です。本記事では、線形系同定がどのようにアルゴリズムトレーダーを支援し、取引アプリケーションを制御下に保つことができるのかを探っていきます。
preview
知っておくべきMQL5ウィザードのテクニック(第84回):ストキャスティクスとFrAMAのパターンの使用 - 結論

知っておくべきMQL5ウィザードのテクニック(第84回):ストキャスティクスとFrAMAのパターンの使用 - 結論

ストキャスティクスとフラクタル適応型移動平均(FrAMA: Fractal Adaptive Moving Average)は、互いに補完し合う特性を持っており、MQL5のエキスパートアドバイザー(EA)で使えるインジケーターペアの1つです。この組合せについては前回の記事で紹介しましたが、今回はその締めくくりとして、残る5つのシグナルパターンを検討していきます。これらの検証にあたっては、これまでと同様にMQL5ウィザードを用いて構築およびテストをおこないます。
preview
MQL5入門(第24回):チャートオブジェクトで取引するEAの構築

MQL5入門(第24回):チャートオブジェクトで取引するEAの構築

本記事では、チャート上に描かれたサポートラインやレジスタンスラインを検出し、それに基づいて自動で取引を実行するエキスパートアドバイザー(EA)の作成方法を解説します。
preview
MQL5における二変量コピュラ(第1回):依存関係モデリングのための正規コピュラおよびtコピュラの実装

MQL5における二変量コピュラ(第1回):依存関係モデリングのための正規コピュラおよびtコピュラの実装

本記事は、MQL5における二変量コピュラ(Bivariate Copula)の実装を紹介する連載の第1回です。本記事では、正規コピュラおよびtコピュラ(スチューデントtコピュラ)の実装コードを取り上げます。また、統計的コピュラの基礎概念や関連トピックについても解説します。本記事で紹介するコードは、Hudson and Thamesが提供するArbitragelab Pythonパッケージを参考にしています。
preview
MQL5入門(第23回):オープニングレンジブレイクアウト戦略の自動化

MQL5入門(第23回):オープニングレンジブレイクアウト戦略の自動化

この記事では、MQL5でオープニングレンジブレイクアウト(ORB)エキスパートアドバイザー(EA)を作成する方法を解説します。EAが市場の初期レンジからのブレイクアウトをどのように検知し、それに応じてポジションを建てるかを説明します。また、建てるポジションの数を制御したり、指定した時間で自動的に取引を停止する方法についても学べます。
preview
プライスアクション分析ツールキットの開発(第45回):MQL5で動的水準分析パネルを作成する

プライスアクション分析ツールキットの開発(第45回):MQL5で動的水準分析パネルを作成する

この記事では、ワンクリックで任意の価格水準をテストできる強力なMQL5ツールについて説明します。テストしたい価格を入力して分析ボタンを押すと、EAは過去のデータを瞬時にスキャンし、チャート上でその水準に触れた箇所やブレイクアウトをハイライト表示します。また、統計情報を整理されたダッシュボードに表示し、価格がその水準にどの程度反応したか、ブレイクしたか、サポートとして機能したか、レジスタンスとして働いたかを一目で確認できます。以下では、詳細な手順について解説します。
preview
MQL5入門(第22回):5-0ハーモニックパターンを用いたエキスパートアドバイザーの構築

MQL5入門(第22回):5-0ハーモニックパターンを用いたエキスパートアドバイザーの構築

本記事では、MQL5において5-0ハーモニックパターンを検出して取引する方法、その妥当性をフィボナッチ比率で検証する方法、そしてチャート上に表示する方法について解説します。
preview
機械学習の限界を克服する(第5回):時系列交差検証の簡単な概要

機械学習の限界を克服する(第5回):時系列交差検証の簡単な概要

本連載では、機械学習を活用した取引戦略を実運用に展開する際に、アルゴリズムトレーダーが直面する課題について考察します。私たちのコミュニティには、より深い技術的理解を必要とするがゆえに、見過ごされがちな課題がいくつも存在します。本日の議論は、機械学習における交差検証の盲点を検討するための足がかりとなるものです。交差検証はしばしば定型的な手順として扱われますが、不注意に実施すると、誤解を招く、あるいは最適とは言えない結果を容易に生み出してしまいます。本記事では、その隠れた盲点をより深く考察する準備として、時系列交差検証の基本を簡単に振り返ります。
preview
初心者からエキスパートへ:市場期間同期化ツール

初心者からエキスパートへ:市場期間同期化ツール

本ディスカッションでは、上位時間足から下位時間足への同期をおこなうツールを紹介します。このツールは、上位時間足の期間にまたがる市場パターンを分析する際の課題を解決することを目的としています。MetaTrader 5に標準搭載されている期間マーカーは、制限が多く柔軟性に欠けるため、非標準の時間足には対応しにくいことがあります。そこで私たちは、MQL5言語を活用して、下位時間足のチャート上で上位時間足の構造を動的かつ視覚的に表示できるインジケーターを開発しました。このツールは、詳細な市場分析に非常に役立ちます。その機能や実装方法について詳しく知りたい方は、ぜひディスカッションにご参加ください。