MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
PythonでリモートFXリスク管理システムを構築する

PythonでリモートFXリスク管理システムを構築する

Pythonで動作するリモートの外国為替リスク管理システムを構築しており、サーバーにも段階的に展開しています。本記事を通して、プログラムでFXのリスクを管理する方法や、FXの資金を無駄にしない方法を学んでいきます。
preview
MQL5経済指標カレンダーを使った取引(第10回):シームレスなニュースナビゲーションのためのドラッグ可能ダッシュボードとインタラクティブホバー効果

MQL5経済指標カレンダーを使った取引(第10回):シームレスなニュースナビゲーションのためのドラッグ可能ダッシュボードとインタラクティブホバー効果

本記事では、MQL5経済カレンダーを強化し、ドラッグ可能なダッシュボードを導入してインターフェースの位置を自由に変更できるようにし、チャートの視認性を高めます。また、ボタンのホバー効果を実装して操作性を高め、動的に変化するスクロールバーによってスムーズなナビゲーションを実現します。
preview
プライスアクション分析ツールキットの開発(第57回):MQL5による市場状態分類モジュールの開発

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

確定済み価格データを用いて価格挙動を解釈するMQL5向けの市場状態分類モジュールを開発および解説します。ボラティリティの収縮および拡大、ならびに構造的一貫性を分析することにより、市場環境をコンプレッション、トランジション、エクスパンション、トレンドとして分類し、プライスアクション分析のための明確な文脈把握の枠組みを提供します。
preview
初級から中級まで:テンプレートとtypename(III)

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

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

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

本連載の前回の記事では、Atom-Motif Contrastive Transformer (AMCT)フレームワークについて取り上げました。これは、対照学習を用いて、基本要素から複雑な構造に至るまでのあらゆるレベルで重要なパターンを発見することを目的とした手法です。この記事では、MQL5を用いたAMCTアプローチの実装を引き続き解説していきます。
preview
取引におけるニューラルネットワーク:Segment Attentionを備えたパラメータ効率重視Transformer (PSformer)

取引におけるニューラルネットワーク:Segment Attentionを備えたパラメータ効率重視Transformer (PSformer)

この記事では、新しいPSformerフレームワークを紹介します。これは、従来のTransformerアーキテクチャを多変量時系列予測の問題に適応させたものです。本フレームワークは、パラメータ共有(PS)機構とSegment Attention機構(SegAtt)の2つの主要な革新に基づいています。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第15回):線形系同定

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

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

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

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

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

この記事では、union(共用体)とは何かを見ていきます。ここでは実験を通じて、unionを使用できる最初の構文について分析していきます。ただし、ここで紹介するのは一連の概念や情報の中核部分にすぎません。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
取引におけるニューラルネットワーク:マルチエージェント自己適応モデル(MASA)

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

マルチエージェント自己適応(MASA: Multi-Agent Self-Adaptive)フレームワークについて紹介します。本フレームワークは、強化学習と適応戦略を組み合わせ、変動の激しい市場環境においても収益性とリスク管理のバランスを実現します。
preview
取引所価格のバイナリコードの分析(第1回):テクニカル分析の新たな視点

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

本記事では、価格変動をバイナリコードに変換するという新しい視点からテクニカル分析にアプローチします。筆者は、シンプルな値動きから複雑な市場パターンに至るまで、あらゆる市場行動を「0」と「1」のシーケンスとして符号化できることを示します。
preview
外国為替におけるフィボナッチ(第1回):価格と時間の関係を調べる

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

市場はフィボナッチに基づく関係性をどのように観測しているのでしょうか。各項が直前の2つの項の和になっているこの数列(1, 1, 2, 3, 5, 8, 13, 21...)は、ウサギの個体数の増加を説明するだけのものではありません。私たちは、「世界のあらゆるものは数の一定の関係に従う」というピタゴラス派の仮説を考察します。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(IX) - ニュース取引のための単一チャートでのマルチペア管理

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(IX) - ニュース取引のための単一チャートでのマルチペア管理

ニュース取引では、ボラティリティが高まるため、非常に短時間で複数のポジションや通貨ペアを管理する必要があります。本記事では、News Headline EAにこの機能を統合することで、マルチペア取引の課題にどのように対応できるかを解説します。MQL5を用いたアルゴリズム取引により、マルチペア取引を効率的かつ強力に実現する方法を一緒に探っていきます。
preview
最適化におけるカスタム基準への新しいアプローチ(第1回):活性化関数の例

最適化におけるカスタム基準への新しいアプローチ(第1回):活性化関数の例

これは、カスタム基準に関する数学的考察をおこなう連載記事の第1回目です。特に、ニューラルネットワークで使用される非線形関数、実装用のMQL5コード、さらにターゲットオフセットや補正オフセットの活用に焦点を当てています。
preview
ニューロボイド最適化アルゴリズム2 (NOA2)

ニューロボイド最適化アルゴリズム2 (NOA2)

新しい独自最適化アルゴリズムNOA2 (Neuroboids Optimization Algorithm 2)は、群知能の原理とニューラルネットワークによる制御を組み合わせています。NOA2は、ニューラルボイド群の動作メカニズムに適応型ニューラルシステムを統合し、探索中にエージェント自身が行動を自己修正できるよう設計されています。現在も開発中のアルゴリズムですが、複雑な最適化問題の解決に有望な結果を示しています。
preview
定量的トレンド分析:Pythonで統計情報を収集する

定量的トレンド分析:Pythonで統計情報を収集する

外国為替市場における定量的トレンド分析とは何でしょうか。本記事では、EURUSD通貨ペアにおけるトレンド、その大きさ、分布に関する統計を収集します。利益を生む取引用エキスパートアドバイザー(EA)の開発に、定量的トレンド分析がどのように役立つかも示します。
preview
データサイエンスとML(第43回):潜在ガウス混合モデル(LGMM)を用いた指標データにおける隠れパターン検出

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

チャートを見ていて、奇妙な感覚を覚えたことはありませんか。表面のすぐ下にパターンが隠されている気がして、もし解読できれば価格がどこに向かうか分かるかもしれない、そんな秘密のコードが存在するかもしれないという感覚です。ここで紹介するのがLGMM、マーケットの隠れたパターンを検出するモデルです。これは機械学習モデルで、隠れた市場のパターンを識別する手助けをします。
preview
MetaTraderとGoogleシートがPythonAnywhereで融合:安全なデータフローのガイド

MetaTraderとGoogleシートがPythonAnywhereで融合:安全なデータフローのガイド

本記事では、MetaTraderのデータをGoogleスプレッドシートに安全にエクスポートする方法を紹介します。Googleスプレッドシートはクラウドベースで、保存されたデータにいつでもどこからでもアクセスできるため、非常に有用なソリューションです。トレーダーはGoogleスプレッドシートにエクスポートされた取引データや関連情報にいつでもアクセスでき、将来の取引に向けた分析を自由におこなうことができます。
preview
知っておくべきMQL5ウィザードのテクニック(第84回):ストキャスティクスとFrAMAのパターンの使用 - 結論

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

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

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

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

血液型遺伝最適化(BIO)

人間の血液型の遺伝システムに着想を得た、新しい集団最適化アルゴリズム「血液型遺伝最適化(BIO)」を紹介します。このアルゴリズムでは、各解がそれぞれ固有の「血液型」を持ち、その血液型が進化の方法を決定します。自然界において子の血液型が特定の遺伝ルールに従って受け継がれるように、BIOでは新しい解が継承と突然変異の仕組みを通じて特性を獲得します。
preview
フラクタルベースアルゴリズム(FBA)

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

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

ログレコードをマスターする(第7回):チャートにログを表示する方法

MetaTraderのチャート上に、フレームやタイトル、自動スクロール機能を備えたログ表示エリアを構築し、整理された形でログを確認する方法を解説します。本記事では、MQL5を用いてビジュアルログシステムを実装する手順を紹介します。これにより、ロボットの動作をリアルタイムで効率的に監視することが可能になります。
preview
MQL5での取引戦略の自動化(第29回):プライスアクションに基づくガートレーハーモニックパターンシステムの作成

MQL5での取引戦略の自動化(第29回):プライスアクションに基づくガートレーハーモニックパターンシステムの作成

本記事では、MQL5で弱気、強気双方のガートレーハーモニックパターンを、ピボットポイントとフィボナッチ比率に基づいて識別し、正確なエントリー、ストップロス、テイクプロフィットレベルを使用して取引を自動化するガートレーパターンシステムを開発します。また、XABCDパターン構造やエントリーレベルを表示するために、三角形やトレンドラインなどのチャートオブジェクトを使った視覚的フィードバックでトレーダーの洞察力を高めます。
preview
共和分株式による統計的裁定取引(第5回):スクリーニング

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

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

流動性狩りの最適化:流動性狩りと市場構造転換の違いを見極める

流動性狩り後のトレードセットアップをどのように活用するかを明確に解説することを目的とした、トレンドフォロー型EAに関する記事です。本記事では、流動性狩りおよび流動性一掃をトレードのエントリー条件として最適に活用したいトレーダー向けに特別に設計されたEAについて詳しく解説します。また、流動性狩りと市場構造転換を正しく区別する方法、それぞれが発生した際にどのように検証し活用すべきかについても取り上げます。これにより、両者を混同することで生じる損失を軽減することを目指します。
preview
MQL5取引ツール(第18回):向き制御対応の角丸吹き出し

MQL5取引ツール(第18回):向き制御対応の角丸吹き出し

角丸長方形と三角形のポインタを組み合わせることで、MQL5における角丸の吹き出しを作成する方法を紹介します。また、ポインタの向きを上、下、左、右に制御する方法についても解説します。さらに、形状のジオメトリの事前計算、スーパーサンプリングによる塗りつぶし、頂点部の丸みを持たせた円弧処理、および継ぎ目を滑らかに接続するための拡張比を用いた分割枠線の描画について詳しく説明します。サイズ、角丸半径、色、不透明度、線の太さなどを自由に設定できるコードを提供しており、トレーディングインターフェースのアラートやツールチップなどにそのまま利用できます。
preview
取引におけるニューラルネットワーク:予測符号化を備えたハイブリッド取引フレームワーク(StockFormer)

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

本記事では、予測符号化と強化学習(RL)アルゴリズムを組み合わせたハイブリッド取引システム「StockFormer」について解説します。本フレームワークは、統合型のDiversified Multi-Head Attention (DMH-Attn)機構を備えた3つのTransformerブランチを使用しています。DMH-Attnは、従来のAttentionモジュールを改良したもので、マルチヘッドのFeed-Forwardブロックを組み込むことにより、異なるサブスペースにわたる多様な時系列パターンを捉えることが可能です。
preview
迅速な取引判断を極める:実行麻痺を克服する

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

UT BOT ATRトレーリングインジケーターは、個人向けにカスタマイズ可能なインジケーターであり、短期売買において素早い意思決定を好むトレーダー(スキャルパー)にとって非常に効果的です。また、長期取引をおこなうトレーダー(ポジショントレーダー)にとっても重要かつ非常に有効であることが実証されています。
preview
取引戦略の開発:バタフライオシレーター法

取引戦略の開発:バタフライオシレーター法

魅力的な数学概念であるバタフライ曲線を、実践的な取引ツールへと応用する方法を紹介します。バタフライオシレーターを構築し、それを基盤とした基本的な取引戦略を開発します。この戦略は、オシレーター特有の周期的シグナルと移動平均による従来型のトレンド確認を効果的に組み合わせることで、潜在的な市場エントリーポイントを特定するための体系的なアプローチを実現します。
preview
取引におけるニューラルネットワーク:双曲潜在拡散モデル(最終回)

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

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

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

革新的なChimeraフレームワークの探求を続けます。このフレームワークは、ニューラルネットワーク技術を用いて多次元時系列を解析する二次元状態空間モデル(2D-SSM)です。この手法は、高い予測精度と低い計算コストを両立します。
preview
共和分株式による統計的裁定取引(第6回):スコアリングシステム

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

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

MQL5標準ライブラリエクスプローラー(第5回):マルチシグナルEA

本セッションでは、MQL5標準ライブラリを使用して、複数のシグナルを組み合わせた高度なエキスパートアドバイザー(EA)を構築します。このアプローチにより、組み込みシグナルと独自ロジックをシームレスに統合し、柔軟かつ強力な取引アルゴリズムの構築方法を示します。詳細については、続きをご覧ください。
preview
取引におけるニューラルネットワーク:Adam-mini最適化によるメモリ消費量の削減

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

モデルの訓練と収束プロセスの効率を向上させるためのアプローチの1つが、最適化手法の改良です。Adam-miniは、従来のAdamアルゴリズムを改良し、より効率的な適応型最適化を実現することを目的とした手法です。
preview
多通貨エキスパートアドバイザーの開発(第21回):重要な実験の準備とコードの最適化

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

さらなる前進のためには、自動最適化を定期的に再実行し、新しいエキスパートアドバイザー(EA)を生成することで結果を改善できるかどうかを検証することが有益でしょう。パラメータ最適化の利用を巡る多くの議論における最大の障害は、取得したパラメータを将来の期間において、収益性およびドローダウンを所定の水準に保ったまま、どれだけ長く取引に使用できるのかという点です。そして、そもそもそれは可能なのかという問題でもあります。
preview
古典的な戦略を再構築する(第14回):移動平均クロスオーバーの徹底解説

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

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

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

階層的ベクトルTransformer法の研究を引き続き進めていきます。本記事では、モデルの構築を完了し、実際の履歴データを用いて訓練およびテストをおこないます。
preview
古典的な戦略を再構築する(第21回):ボリンジャーバンドとRSIのアンサンブル戦略の発見

古典的な戦略を再構築する(第21回):ボリンジャーバンドとRSIのアンサンブル戦略の発見

EURUSD市場を対象としたアンサンブル型アルゴリズム取引戦略の開発について説明します。この戦略は、ボリンジャーバンドとRSI(相対力指数)を組み合わせたものです。初期のルールベース戦略は高品質なシグナルを生成した一方で、取引頻度が低く、収益性にも限界がありました。その後、複数の戦略バリエーションを反復的に評価した結果、市場に対する理解の誤り、ノイズの増加、パフォーマンスの劣化といった問題が明らかになりました。これらの課題に対し、統計的学習アルゴリズムを適切に活用し、モデリング対象をテクニカル指標へと再定義し、適切なスケーリングを適用したうえで、機械学習による予測と従来の取引ルールを組み合わせることで、最終的には許容可能なシグナル品質を維持しながら、収益性と取引頻度の大幅な改善を達成しました。
preview
MQL5における取引戦略の自動化(第47回):ヘッジ機能を備えたNick Rypock Trailing Reverse (NRTR)

MQL5における取引戦略の自動化(第47回):ヘッジ機能を備えたNick Rypock Trailing Reverse (NRTR)

MQL5でNick Rypock Trailing Reverse (NRTR)取引システムを開発します。このシステムは、NRTRチャネルインジケータを用いて反転シグナルを検出し、トレンドフォロー型のエントリーを実現します。また、買いポジションと売りポジションの両方に対応したヘッジ機能も備えています。さらに、エクイティまたは口座残高に基づく自動ロット計算、ATR倍率を用いた固定または動的なストップロスおよびテイクプロフィット設定、ならびにポジション数制限などのリスク管理機能も実装します。