MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
知っておくべきMQL5ウィザードのテクニック(第84回):ストキャスティクスとFrAMAのパターンの使用 - 結論

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

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

MQL5取引ツール(第10回):視覚的なレベルとパフォーマンス指標を備えた戦略追跡システムの構築

移動平均線のクロスオーバーシグナルを検知し、長期移動平均線でフィルタリングした上で、利益確定(TP)や損切り(SL)をポイント単位で設定して取引をシミュレーションまたは実行し、結果をモニタリングするMQL5戦略トラッカーシステムを開発します。
preview
市場シミュレーション(第9回):ソケット(III)

市場シミュレーション(第9回):ソケット(III)

本日の記事は前回の記事の続編です。今回はエキスパートアドバイザー(EA)の実装を取り上げ、特にサーバー側コードがどのように実行されるかに焦点を当てます。前回の記事で示したコードだけでは、すべてを期待どおりに動作させるには不十分であるため、もう少し深く掘り下げる必要があります。そのため、これから起こることをよりよく理解するには、両方の記事を読む必要があります。
preview
取引におけるニューラルネットワーク:ウェーブレット変換とマルチタスクアテンションを用いたモデル(最終回)

取引におけるニューラルネットワーク:ウェーブレット変換とマルチタスクアテンションを用いたモデル(最終回)

前回の記事では、Multitask-Stockformerフレームワークを検討しました。このフレームワークは、ウェーブレット変換とマルチタスク自己アテンション(Self-Attention)モデルを組み合わせたものです。本記事では、このフレームワークのアルゴリズムをさらに実装し、実際の過去データを用いてその有効性を評価していきます。
preview
MQL5での取引戦略の自動化(第30回):視覚的フィードバックによるプライスアクションAB-CDハーモニックパターンの作成

MQL5での取引戦略の自動化(第30回):視覚的フィードバックによるプライスアクションAB-CDハーモニックパターンの作成

本記事では、MQL5で弱気、強気双方のAB=CDハーモニックパターンを、ピボットポイントとフィボナッチ比率に基づいて識別し、正確なエントリー、ストップロス、テイクプロフィットレベルを用いて取引を自動化するAB=CDパターンエキスパートアドバイザー(EA)を開発します。さらに、チャートオブジェクトによる視覚的フィードバックによって、トレーダーの洞察を強化します。
preview
機械学習の限界を克服する(第8回):ノンパラメトリックな戦略選択

機械学習の限界を克服する(第8回):ノンパラメトリックな戦略選択

データ駆動型アプローチを用いて強力な取引戦略を自動的に発見するために、ブラックボックスモデルをどのように設定するかを解説します。相互情報量を利用して学習しやすいシグナルを優先的に選択することで、従来の手法よりも優れた、よりスマートで適応的なモデルを構築することができます。また読者は、表面的な指標に過度に依存するという一般的な落とし穴を避け、意味のある統計的洞察に基づいた戦略を開発する方法についても学ぶことができます。
preview
リプレイシステムの開発(第60回):サービスの再生(I)

リプレイシステムの開発(第60回):サービスの再生(I)

これまで長い間インジケーターだけに取り組んできましたが、今度はサービスを再び稼働させて、提供されたデータに基づいてチャートがどのように構築されるかを確認するときが来ました。しかし、すべてがそれほど単純ではないので、先に何が待ち受けているのかを理解するために注意深くならなければなりません。
preview
初級から中級まで:テンプレートとtypename(III)

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

本記事では、トピックの第一部について解説します。この内容は初心者にとって理解がやや難しい部分があります。さらなる混乱を避けて正しく理解していただくために、説明を段階的に分けて進めます。本記事ではその第一段階に焦点を当てます。ただし、記事の最後では行き詰まりに見えるかもしれませんが、実際には次の記事でより理解しやすくなる状況への一歩を踏み出す形になります。
preview
取引におけるニューラルネットワーク:マルチエージェント自己適応モデル(MASA)

取引におけるニューラルネットワーク:マルチエージェント自己適応モデル(MASA)

マルチエージェント自己適応(MASA: Multi-Agent Self-Adaptive)フレームワークについて紹介します。本フレームワークは、強化学習と適応戦略を組み合わせ、変動の激しい市場環境においても収益性とリスク管理のバランスを実現します。
preview
取引におけるニューラルネットワーク:予測符号化を備えたハイブリッド取引フレームワーク(StockFormer)

取引におけるニューラルネットワーク:予測符号化を備えたハイブリッド取引フレームワーク(StockFormer)

本記事では、予測符号化と強化学習(RL)アルゴリズムを組み合わせたハイブリッド取引システム「StockFormer」について解説します。本フレームワークは、統合型のDiversified Multi-Head Attention (DMH-Attn)機構を備えた3つのTransformerブランチを使用しています。DMH-Attnは、従来のAttentionモジュールを改良したもので、マルチヘッドのFeed-Forwardブロックを組み込むことにより、異なるサブスペースにわたる多様な時系列パターンを捉えることが可能です。
preview
MQL5における二変量コピュラ(第1回):依存関係モデリングのための正規コピュラおよびtコピュラの実装

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

本記事は、MQL5における二変量コピュラ(Bivariate Copula)の実装を紹介する連載の第1回です。本記事では、正規コピュラおよびtコピュラ(スチューデントtコピュラ)の実装コードを取り上げます。また、統計的コピュラの基礎概念や関連トピックについても解説します。本記事で紹介するコードは、Hudson and Thamesが提供するArbitragelab Pythonパッケージを参考にしています。
preview
古典的な戦略を再構築する(第14回):複数戦略分析

古典的な戦略を再構築する(第14回):複数戦略分析

本記事では、取引戦略のアンサンブル構築と、MT5遺伝的最適化を用いた戦略パラメータの調整について、引き続き検討していきます。本日はPythonでデータを分析し、モデルがどの戦略が優れているかをより正確に予測でき、市場リターンを直接予測するよりも高い精度を達成できることを示しました。しかし、統計モデルを用いてアプリケーションをテストしたところ、パフォーマンスは著しく低下しました。その後、遺伝的最適化が相関性の高い戦略を優先していたことが判明し、私たちは投票の重みを固定し、インジケーター設定の最適化に焦点を当てるよう方法を修正しました。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第15回):線形系同定

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

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

知っておくべきMQL5ウィザードのテクニック(第66回):FrAMAのパターンとForce Indexを内積カーネルで使用する

FrAMAインジケーターとForce Indexオシレーターは、トレンドと出来高のツールであり、エキスパートアドバイザー(EA)を開発する際に組み合わせることができます。前回の記事では、このペアを紹介し、機械学習の適用可能性を検討しました。畳み込みニューラルネットワークを使用しており、内積カーネルを利用して、これらのインジケーターの入力に基づいた予測をおこないます。これは、MQL5ウィザードと連携してEAを組み立てるカスタムシグナルクラスファイルで実行されます。
preview
データサイエンスとML(第43回):潜在ガウス混合モデル(LGMM)を用いた指標データにおける隠れパターン検出

データサイエンスとML(第43回):潜在ガウス混合モデル(LGMM)を用いた指標データにおける隠れパターン検出

チャートを見ていて、奇妙な感覚を覚えたことはありませんか。表面のすぐ下にパターンが隠されている気がして、もし解読できれば価格がどこに向かうか分かるかもしれない、そんな秘密のコードが存在するかもしれないという感覚です。ここで紹介するのがLGMM、マーケットの隠れたパターンを検出するモデルです。これは機械学習モデルで、隠れた市場のパターンを識別する手助けをします。
preview
古典的な戦略を再構築する(第13回):クロスオーバー戦略を新たな次元へ(その2)

古典的な戦略を再構築する(第13回):クロスオーバー戦略を新たな次元へ(その2)

本記事では、移動平均クロスオーバー戦略に対してさらなる改善を加え、ラグをより実用的で信頼性の高い水準まで低減する方法について検討します。データサイエンスの知見を活用しながら議論を進めます。一般に、データを高次元へ射影することで、機械学習モデルの性能が向上する場合があることはよく知られています。本記事では、この考え方がトレーダーにとって実際に何を意味するのかを示し、MetaTrader 5ターミナルを用いてどのように活用できるかを説明します。
preview
迅速な取引判断を極める:実行麻痺を克服する

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

UT BOT ATRトレーリングインジケーターは、個人向けにカスタマイズ可能なインジケーターであり、短期売買において素早い意思決定を好むトレーダー(スキャルパー)にとって非常に効果的です。また、長期取引をおこなうトレーダー(ポジショントレーダー)にとっても重要かつ非常に有効であることが実証されています。
preview
プライスアクション分析ツールキットの開発(第45回):MQL5で動的水準分析パネルを作成する

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

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

MQL5でボラティリティモデルを構築する(第I回):初期実装

本記事では、Pythonのarchパッケージに類似した機能を持つ、ボラティリティモデリング用のMQL5ライブラリを提示します。このライブラリは現在、一般的な条件付き平均モデル(HAR、AR、一定平均、ゼロ平均)および条件付き分散モデル(一定分散、ARCH、GARCH)をサポートしています。
preview
MetaTrader 5用シグマスコアインジケーター:単純な統計的異常検出器

MetaTrader 5用シグマスコアインジケーター:単純な統計的異常検出器

MetaTrader 5用の実践的なSigma Score(シグマスコア)インジケーターをゼロから構築し、その指標が本質的に何を測定しているのかを理解します。シグマスコアとは、対数収益率のz得点(直近の値動きが過去の平均から標準偏差でどれだけ乖離しているか)を表すものです。OnInit()、OnCalculate()、OnDeinit()の各コードブロックを一つずつ丁寧に解説しながら実装を進めます。さらに、±2といった閾値の解釈方法や、このシグマスコアを「市場ストレスメーター」として活用し、平均回帰戦略およびモメンタム戦略の双方に応用する方法についても説明します。
preview
Python + MetaTrader 5:データ、機能、プロトタイプのための高速研究フレームワーク

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

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

円探索アルゴリズム(CSA)

本記事では、円の幾何学的性質に基づいた新しいメタヒューリスティック最適化アルゴリズム「円探索アルゴリズム(Circle Search Algorithm, CSA)」を紹介します。本アルゴリズムは、最適解を探索するために点を接線に沿って移動させる原理を使用し、大域探索と局所探索のフェーズを組み合わせています。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(V) - イベントリマインダーシステム

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(V) - イベントリマインダーシステム

本ディスカッションでは、News Headline EAに表示される経済指標カレンダーイベントに対して、精緻化されたイベント通知ロジックを統合することで得られる追加的な改善について検討します。この強化により、主要な今後のイベント直前にユーザーがタイムリーに通知を受け取れるようになります。詳細については、本ディスカッションでご確認ください。
preview
取引におけるニューラルネットワーク:対照パターンTransformer(最終回)

取引におけるニューラルネットワーク:対照パターンTransformer(最終回)

本連載の前回の記事では、Atom-Motif Contrastive Transformer (AMCT)フレームワークについて取り上げました。これは、対照学習を用いて、基本要素から複雑な構造に至るまでのあらゆるレベルで重要なパターンを発見することを目的とした手法です。この記事では、MQL5を用いたAMCTアプローチの実装を引き続き解説していきます。
preview
共和分株式による統計的裁定取引(第7回):スコアリングシステム2

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

平均回帰戦略、特に共和分に基づく統計的裁定取引において取引対象となる株式バスケットの選定に使用する、追加の2つのスコアリング基準について解説します。前回の記事では、流動性および共和分ベクトルの強度、ならびに時間足とルックバック期間という戦略的基準を紹介しました。本記事ではそれを補完する形で、共和分ベクトルの安定性および平均回帰に要する時間、いわゆる半減期を取り上げます。また、新しいフィルタを適用したバックテスト結果の考察と、その再現に必要なファイルも提供します。
preview
取引におけるニューラルネットワーク:2次元接続空間モデル(最終回)

取引におけるニューラルネットワーク:2次元接続空間モデル(最終回)

革新的なChimeraフレームワークの探求を続けます。このフレームワークは、ニューラルネットワーク技術を用いて多次元時系列を解析する二次元状態空間モデル(2D-SSM)です。この手法は、高い予測精度と低い計算コストを両立します。
preview
プライスアクション分析ツールキットの開発(第57回):MQL5による市場状態分類モジュールの開発

プライスアクション分析ツールキットの開発(第57回):MQL5による市場状態分類モジュールの開発

確定済み価格データを用いて価格挙動を解釈するMQL5向けの市場状態分類モジュールを開発および解説します。ボラティリティの収縮および拡大、ならびに構造的一貫性を分析することにより、市場環境をコンプレッション、トランジション、エクスパンション、トレンドとして分類し、プライスアクション分析のための明確な文脈把握の枠組みを提供します。
preview
取引におけるニューラルネットワーク:Adam-mini最適化によるメモリ消費量の削減

取引におけるニューラルネットワーク:Adam-mini最適化によるメモリ消費量の削減

モデルの訓練と収束プロセスの効率を向上させるためのアプローチの1つが、最適化手法の改良です。Adam-miniは、従来のAdamアルゴリズムを改良し、より効率的な適応型最適化を実現することを目的とした手法です。
preview
取引所価格のバイナリコードの分析(第1回):テクニカル分析の新たな視点

取引所価格のバイナリコードの分析(第1回):テクニカル分析の新たな視点

本記事では、価格変動をバイナリコードに変換するという新しい視点からテクニカル分析にアプローチします。筆者は、シンプルな値動きから複雑な市場パターンに至るまで、あらゆる市場行動を「0」と「1」のシーケンスとして符号化できることを示します。
preview
フラクタルベースアルゴリズム(FBA)

フラクタルベースアルゴリズム(FBA)

最適化問題を解くための、フラクタルアプローチに基づく新しいメタヒューリスティック手法を紹介します。本アルゴリズムは、探索空間を分割しながら有望な領域を順次特定し分割していくことで、自己相似的なフラクタル構造を形成し、計算資源を最も有望な領域へ集中的に投入します。さらに、より良い解を指向する独自の突然変異メカニズムにより、探索空間における探索と活用の最適なバランスを実現し、アルゴリズムの効率を大幅に向上させています。
preview
共和分株式による統計的裁定取引(第5回):スクリーニング

共和分株式による統計的裁定取引(第5回):スクリーニング

本記事では、共和分関係にある株式を用いた統計的裁定(アービトラージ)取引戦略のための資産スクリーニングプロセスを提案しています。本システムは、資産のセクターや業界といった経済的要因による通常のフィルタリングから始まり、スコアリングシステムのための基準リストで終わります。スクリーニングに使用される各統計検定(ピアソン相関、エングル=グレンジャー共和分、ジョハンセン共和分、ADF/KPSSの定常性検定)について、それぞれPythonクラスが開発されました。これらのPythonクラスは提供されており、さらに著者によるAIアシスタントを用いたソフトウェア開発に関する個人的なコメントも付されています。
preview
ラリー・ウィリアムズの『市場の秘密』(第3回):MQL5で非ランダムな市場の動きを証明する

ラリー・ウィリアムズの『市場の秘密』(第3回):MQL5で非ランダムな市場の動きを証明する

MQL5を使用してラリー・ウィリアムズによる市場挙動の実験を再現することで、金融市場が本当にランダムなのかどうかを検証します。本記事では、カスタムエキスパートアドバイザー(EA)を用い、シンプルなプライスアクションテストを通じて統計的な市場バイアスを明らかにする方法を解説します。
preview
初級から中級まで:共用体(I)

初級から中級まで:共用体(I)

この記事では、union(共用体)とは何かを見ていきます。ここでは実験を通じて、unionを使用できる最初の構文について分析していきます。ただし、ここで紹介するのは一連の概念や情報の中核部分にすぎません。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
初級から中級まで:浮動小数点

初級から中級まで:浮動小数点

この記事は浮動小数点数の概念に関する簡単な入門です。本稿の内容は非常に複雑ですので、注意深く丁寧に読んでください。浮動小数点システムをすぐに完全に理解できるとは思わないでください。浮動小数点は、実際に使って経験を積むことで少しずつ理解できるようになります。しかし、この記事を読むことで、なぜアプリケーションの結果が期待と異なる場合があるのか、その理由を理解する手助けになるでしょう。
preview
取引におけるニューラルネットワーク:双曲潜在拡散モデル(最終回)

取引におけるニューラルネットワーク:双曲潜在拡散モデル(最終回)

HypDiffフレームワークで提案されているように、双曲潜在空間における初期データのエンコーディングに異方性拡散プロセスを用いることで、現在の市場状況におけるトポロジー的特徴を保持しやすくなり、分析の質を向上させることができます。前回の記事では、提案されたアプローチの実装をMQL5を用いて開始しました。今回はその作業を継続し、論理的な完結に向けて進めていきます。
preview
ブラックホールアルゴリズム(BHA)

ブラックホールアルゴリズム(BHA)

ブラックホールアルゴリズム(BHA)は、ブラックホールの重力原理に着想を得た最適化アルゴリズムです。本記事では、BHAがどのようにして優れた解を引き寄せ、局所最適解への陥り込みを回避するのか、そしてなぜこのアルゴリズムが複雑な問題を解くための強力なツールとなっているのかを解説します。シンプルな発想がいかにして最適化の世界で大きな成果を生み出すのかを見ていきましょう。
preview
外国為替におけるフィボナッチ(第1回):価格と時間の関係を調べる

外国為替におけるフィボナッチ(第1回):価格と時間の関係を調べる

市場はフィボナッチに基づく関係性をどのように観測しているのでしょうか。各項が直前の2つの項の和になっているこの数列(1, 1, 2, 3, 5, 8, 13, 21...)は、ウサギの個体数の増加を説明するだけのものではありません。私たちは、「世界のあらゆるものは数の一定の関係に従う」というピタゴラス派の仮説を考察します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第8回):複数戦略分析(2)

MQL5で自己最適化エキスパートアドバイザーを構築する(第8回):複数戦略分析(2)

次のフォローアップディスカッションにぜひご参加ください。今回は、これまでの2つの取引戦略を統合し、アンサンブル取引戦略(複合戦略)を作成する方法を解説します。複数の戦略を組み合わせる際のさまざまな手法を紹介するとともに、パラメータ空間の制御方法についても説明します。これにより、パラメータの数が増えても、効果的な最適化が可能な状態を保つことができます。
preview
MetaTrader 5機械学習の設計図(第4回):金融機械学習パイプラインの隠れた欠陥 - ラベルの同時発生

MetaTrader 5機械学習の設計図(第4回):金融機械学習パイプラインの隠れた欠陥 - ラベルの同時発生

金融機械学習における重大な欠陥であるラベルの同時発生が、過学習や実運用でのパフォーマンス低下を引き起こす問題をどのように修正するかを解説します。トリプルバリア法を使用すると、学習用ラベルが時間的に重複し、ほとんどの機械学習アルゴリズムにおける核心的な独立同分布(IID)の仮定に違反します。本記事では、サンプル重み付けを用いた実践的な解決策を提示します。具体的には、売買シグナル間の時間的重複を定量化し、各観測値が持つ固有情報を反映したサンプル重みを計算し、scikit-learnでこれらの重みを実装することで、より堅牢な分類器を構築する方法を学びます。これらの手法を習得することで、取引モデルの堅牢性、信頼性、収益性を向上させることができます。
preview
古典的な戦略を再構築する(第14回):移動平均クロスオーバーの徹底解説

古典的な戦略を再構築する(第14回):移動平均クロスオーバーの徹底解説

本記事では、古典的な移動平均クロスオーバー戦略を改めて取り上げ、ノイズが多く変動の激しい市場環境においてなぜこの戦略がうまく機能しないのかを検証します。そのうえで、シグナル品質を向上させ、弱いまたは収益性の低い取引を除外するための5つの代替フィルタリング手法を紹介します。また、統計モデルが人間の直感や従来のルールでは捉えきれない誤差をどのように学習し、補正できるかについても説明します。読者は、時代遅れの戦略をどのように現代化するか、また金融モデリングにおいてRMSEのような指標に過度に依存することの落とし穴について理解を深めることができます。