MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
プライスアクション分析ツールキットの開発(第22回):Correlation Dashboard

プライスアクション分析ツールキットの開発(第22回):Correlation Dashboard

このツールは、複数の通貨ペア間のリアルタイム相関係数を計算し表示するCorrelation Dashboardです。ペア同士がどのように連動して動くかを可視化することで、プライスアクション分析に有益な文脈を加え、市場間のダイナミクスを先読みする手助けとなります。ここでは、その機能と活用方法を紹介します。
preview
ダイナミックスイングアーキテクチャ:スイングから自動売買までの市場構造認識

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

本記事では、市場のスイングを高精度で捉え、自動売買を実現する完全自動化MQL5システムを紹介します。従来の固定ローソク足数に基づくスイングインジケーターとは異なり、このシステムは進行中の市場構造に動的に適応し、スイングハイおよびスイングローをリアルタイムで検出します。これにより、形成されつつあるトレンドの値動きを的確に捉え、取引機会を逃さず捕捉することが可能です。
preview
古典的な戦略を再構築する(第7回):USDJPYにおける外国為替市場とソブリン債務分析

古典的な戦略を再構築する(第7回):USDJPYにおける外国為替市場とソブリン債務分析

本日の記事では、今後の為替レートと国債の関係を分析します。債券は、最も人気のある固定利付証券の1つであり、今回の議論の焦点となります。AIを使用して従来の戦略を改善できるかどうかを一緒に検討しましょう。
preview
プライスアクション分析ツールキットの開発(第31回):Python Candlestick Recognitionエンジン(I) - 手動検出

プライスアクション分析ツールキットの開発(第31回):Python Candlestick Recognitionエンジン(I) - 手動検出

ローソク足パターンはプライスアクション取引において基本的な要素であり、市場の反転や継続の可能性を示す貴重な手がかりを提供します。信頼できるツールを想像してみてください。このツールは、新しい価格バーが生成されるたびにそれを監視し、包み足、ハンマー、十字線、スターなどの主要な形成を特定し、重要な取引セットアップが検出された際に即座に通知します。これがまさに私たちが開発した機能です。このシステムは、取引初心者の方から経験豊富なプロフェッショナルまで幅広く活用できます。ローソク足パターンをリアルタイムで通知することで、取引の実行に集中し、より自信を持って効率的に取引をおこなうことが可能になります。以下では、本ツールの動作方法と、どのように取引戦略を強化できるかについて詳しく説明します。
preview
プライスアクション分析ツールキットの開発(第32回):Python Candlestick Recognitionエンジン(II) - Ta-Libを用いた検出

プライスアクション分析ツールキットの開発(第32回):Python Candlestick Recognitionエンジン(II) - Ta-Libを用いた検出

本記事では、Pythonでローソク足パターンを手動で検出していた前回の方法から一歩進み、TA-Libを活用した自動検出手法へと移行します。TA-Libは、60種類以上の異なるローソク足パターンを認識できる強力なテクニカル分析ライブラリです。これらのパターンは、市場の反転やトレンド継続の可能性を読み取る上で有用なインサイトを提供します。ぜひ最後までお読みください。
preview
リプレイシステムの開発(第45回):Chart Tradeプロジェクト(IV)

リプレイシステムの開発(第45回):Chart Tradeプロジェクト(IV)

この記事の主な目的は、C_ChartFloatingRADクラスの紹介と説明です。Chart Trade指標は、非常に興味深い方法で機能しています。チャート上のオブジェクトの数はまだ少ないものの、期待通りの機能を実現しています。指標の値は編集可能ですが、その実現方法については疑問が残るかもしれません。この記事を読めば、これらの疑問が解消されるでしょう。
preview
知っておくべきMQL5ウィザードのテクニック(第16回):固有ベクトルによる主成分分析

知っておくべきMQL5ウィザードのテクニック(第16回):固有ベクトルによる主成分分析

データ分析における次元削減技術である主成分分析について、固有値とベクトルを用いてどのように実装できるかを考察します。いつものように、MQL5ウィザードで使用可能なExpertSignalクラスのプロトタイプの開発を目指します。
preview
スイングエントリーモニタリングEAの開発

スイングエントリーモニタリングEAの開発

年末が近づくと、多くの長期トレーダーは市場の過去を振り返り、その動きや傾向を分析して、将来の動向を予測しようとします。この記事では、MQL5を用いて長期エントリーの監視をおこなうエキスパートアドバイザー(EA)の開発について解説します。手動取引や自動監視システムの不在によって、長期的な取引チャンスを逃してしまうという課題に取り組むことが本稿の目的です。今回は、特に取引量の多い通貨ペアの一つを例に挙げ、効果的な戦略を立案しながらソリューションを構築していきます。
preview
プライスアクション分析ツールキットの開発(第4回):Analytics Forecaster EA

プライスアクション分析ツールキットの開発(第4回):Analytics Forecaster EA

チャート上に表示された分析済みのメトリックを見るだけにとどまらず、Telegramとの統合によってブロードキャストを拡張するという、より広い視点へと移行しています。この機能強化により、Telegramアプリを通じて、重要な結果がモバイルデバイスに直接配信されるようになります。この記事では、この新たな取り組みを一緒に探っていきましょう。
preview
MQL5での取引戦略の自動化(第18回):Envelopes Trend Bounce Scalping - コア基盤とシグナル生成(その1)

MQL5での取引戦略の自動化(第18回):Envelopes Trend Bounce Scalping - コア基盤とシグナル生成(その1)

本記事では、MQL5でのEnvelopes Trend Bounce Scalpingエキスパートアドバイザー(EA)のコア基盤を構築します。シグナル生成のためにエンベロープやその他のインジケーターを初期化します。また、次回の取引実行に備えてバックテストの設定をおこないます。
preview
平均足を使ったプロフェッショナルな取引システムの構築(第1回):カスタムインジケーターの開発

平均足を使ったプロフェッショナルな取引システムの構築(第1回):カスタムインジケーターの開発

本記事は、MQL5でカスタムインジケーターを作成するための実践的なスキルとベストプラクティスを解説する、2部構成シリーズの第1回目です。この記事では平均足を題材として、平均足チャートの理論、平均足の計算方法、そしてテクニカル分析への応用を順に紹介します。中心となるのは、完全に機能する平均足インジケーターをゼロから構築するためのステップバイステップガイドであり、各コードの意図を理解できるように丁寧な説明を加えています。この基礎知識は、第2回で取り組む「平均足ロジックを用いたエキスパートアドバイザーの構築」へとつながります。
preview
リプレイシステムの開発(第62回):サービスの再生(III)

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

この記事では、実際のデータを使用する際にアプリケーションのパフォーマンスに影響を及ぼす可能性のある「ティック過剰」の問題について取り上げます。このティック過剰は、1分足を適切なタイミングで構築するうえで支障となることがよくあります。
preview
行列分解:基本

行列分解:基本

ここでの目的は教訓を得ることなので、できるだけシンプルに話を進めたいと思います。具体的には、必要な行列の乗算だけを実装します。行列とスカラーの乗算をシミュレートするにはこれで十分であることが今日わかるでしょう。行列分解を実装する際に多くの人が直面する最大の課題は、スカラーの分解と異なり、因子の順序が結果に影響を与えるため、行列の場合はその点に注意が必要だということです。
preview
取引におけるニューラルネットワーク:独立したチャネルへのグローバル情報の注入(InjectTST)

取引におけるニューラルネットワーク:独立したチャネルへのグローバル情報の注入(InjectTST)

最新のマルチモーダル時系列予測方法のほとんどは、独立チャネルアプローチを使用しています。これにより、同じ時系列の異なるチャネルの自然な依存関係が無視されます。2つのアプローチ(独立チャネルと混合チャネル)を賢く使用することが、モデルのパフォーマンスを向上させる鍵となります。
preview
取引におけるニューラルネットワーク:階層型ベクトルTransformer (HiVT)

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

マルチモーダル時系列の高速かつ正確な予測のために開発された階層的ベクトルTransformer (HiVT: Hierarchical Vector Transformer)メソッドについて詳しく説明します。
preview
従来の機械学習手法を使用した為替レートの予測:ロジットモデルとプロビットモデル

従来の機械学習手法を使用した為替レートの予測:ロジットモデルとプロビットモデル

この記事では、為替レートの予測を目的とした取引用EAの構築を試みます。アルゴリズムは、ロジスティック回帰およびプロビット回帰といった古典的な分類モデルに基づいています。取引シグナルのフィルターとして、尤度比検定が用いられます。
preview
高度なICT取引システムの開発:オーダーブロックインジケーターでのシグナルの実装

高度なICT取引システムの開発:オーダーブロックインジケーターでのシグナルの実装

この記事では、板情報(オーダーブックの数量)に基づいてオーダーブロックインジケーターを開発し、バッファを使用して最適化し、精度を向上させる方法を学習します。これにより、プロジェクトの現段階が終了し、リスク管理クラスとインジケーターによって生成されたシグナルを使用する取引ボットの実装を含む次の段階の準備が整います。
preview
JSONをマスターする:MQL5で独自のJSONリーダーをゼロから作成する

JSONをマスターする:MQL5で独自のJSONリーダーをゼロから作成する

オブジェクトと配列の処理、エラーチェック、シリアル化を備えたMQL5でカスタムJSONパーサーを作成する手順をステップバイステップで説明します。MetaTrader5でJSONを処理するためのこの柔軟なソリューションを使用して、取引ロジックと構造化データを橋渡しするための実用的な洞察を得ることができます。
preview
MQL5での取引戦略の自動化(第17回):ダイナミックダッシュボードで実践するグリッドマーチンゲールスキャルピング戦略

MQL5での取引戦略の自動化(第17回):ダイナミックダッシュボードで実践するグリッドマーチンゲールスキャルピング戦略

本記事では、グリッドマーチンゲールスキャルピング戦略(Grid-Mart Scalping Strategy)を探究し、MQL5による自動化と、リアルタイム取引インサイトを提供するダイナミックダッシュボードの構築をおこないます。本戦略のグリッド型マーチンゲールロジックとリスク管理機能を詳述し、さらに堅牢なパフォーマンスのためのバックテストおよび実運用展開についても案内します。
preview
知っておくべきMQL5ウィザードのテクニック(第33回):ガウス過程カーネル

知っておくべきMQL5ウィザードのテクニック(第33回):ガウス過程カーネル

ガウス過程カーネルは正規分布の共分散関数であり、予測において役割を果たす可能性があります。MQL5のカスタムシグナルクラスで、このユニークなアルゴリズムを探求し、プライムエントリシグナルやエグジットシグナルとして活用できるかを検証しました。
preview
MQL5取引ツールキット(第5回):ポジション関数による履歴管理EX5ライブラリの拡張

MQL5取引ツールキット(第5回):ポジション関数による履歴管理EX5ライブラリの拡張

エクスポート可能なEX5関数を作成して、過去のポジションデータを効率的にクエリおよび保存する方法を解説します。このステップバイステップのガイドでは、直近にクローズされたポジションの主要なプロパティを取得するモジュールを開発し、HistoryManagement EX5ライブラリを拡張していきます。対象となるプロパティには、純利益、取引時間、ピップ単位でのストップロスやテイクプロフィット、利益値、その他多くの重要な情報が含まれます。
preview
MQL5でカレンダーベースのニュースイベントブレイクアウトエキスパートアドバイザーを開発する

MQL5でカレンダーベースのニュースイベントブレイクアウトエキスパートアドバイザーを開発する

ボラティリティは、影響力の大きいニュースイベントの周辺でピークに達する傾向があり、大きなブレイクアウトの機会を生み出します。本記事では、カレンダーを基にしたブレイクアウト戦略の実装プロセスについて説明します。カレンダーデータを解釈・保存するためのクラスの作成、これを活用した現実的なバックテストの開発、そして最終的にライブ取引用の実行コードの実装までを一貫して解説します。
preview
MQL5経済指標カレンダーを使った取引(第7回):リソースベースのニュースイベント分析による戦略テストの準備

MQL5経済指標カレンダーを使った取引(第7回):リソースベースのニュースイベント分析による戦略テストの準備

この記事では、MQL5の取引システムをストラテジーテスターでの検証に対応するため、経済指標カレンダーのデータをリソースとして埋め込み、ライブ環境ではないテスト分析に活用する方法を解説します。イベントの読み込みと、時間・通貨・影響度に基づくフィルタリングを実装し、最終的にストラテジーテスター内でその動作を検証します。これにより、ニュースに基づいた戦略の効果的なバックテストが可能になります。
preview
リプレイシステムの開発(第77回):新しいChart Trade (IV)

リプレイシステムの開発(第77回):新しいChart Trade (IV)

この記事では、通信プロトコルを作成する際に考慮すべきいくつかの対策や注意点について説明します。内容は比較的シンプルでわかりやすいものなので、詳細には触れません。しかし、この記事の内容を理解することで、今後の展開が把握しやすくなります。
preview
多通貨エキスパートアドバイザーの開発(第4回):仮想注文の保留と状況の保存

多通貨エキスパートアドバイザーの開発(第4回):仮想注文の保留と状況の保存

多通貨EAの開発を始めてから、すでに一定の成果を上げ、コードの改良を何度か繰り返すことができました。ただし、EAは保留中注文を扱うことができず、端末の再起動後に動作を再開することができませんでした。これらの機能を追加しましょう。
preview
Candlestick Trend Constraintモデルの構築(第8回):エキスパートアドバイザー(EA)の開発 (II)

Candlestick Trend Constraintモデルの構築(第8回):エキスパートアドバイザー(EA)の開発 (II)

独立したEAについて考えてみましょう。前回は、リスクとリターンのジオメトリを描くために独立したスクリプトと連携する、指標ベースのEAについて説明しました。今回は、すべての機能を1つのプログラムに統合したMQL5 EAのアーキテクチャについて解説します。
preview
MQL5で取引管理者パネルを作成する(第7回):信頼できるユーザー、回復、暗号化

MQL5で取引管理者パネルを作成する(第7回):信頼できるユーザー、回復、暗号化

チャートの更新や管理パネル(Admin Panel) EAとのチャットに新しいペアを追加する際、または端末を再起動するたびにトリガーされるセキュリティプロンプトは、時に煩わしく感じられることがあります。このディスカッションでは、ログイン試行回数を追跡して信頼できるユーザーを識別する機能を検討し、実装します。一定回数の試行に失敗した場合、アプリケーションは高度なログイン手続きに移行し、パスコードを忘れたユーザーが回復できるようにします。さらに、管理パネルに暗号化を効果的に統合してセキュリティを強化する方法についても取り上げます。
preview
MQL5で取引管理者パネルを作成する(第11回):最新機能通信インターフェース(I)

MQL5で取引管理者パネルを作成する(第11回):最新機能通信インターフェース(I)

本日は、コミュニケーションパネルのメッセージングインターフェースを、現代の高性能なコミュニケーションアプリの標準に合わせて強化することに焦点を当てます。この改善は、CommunicationsDialogクラスの更新によって実現されます。この記事とディスカッションでは、主要な知見を紹介しつつ、MQL5を用いたインターフェースプログラミングの次のステップを整理していきます。
preview
MQL5取引ツール(第1回):インタラクティブで視覚的なペンディングオーダー取引アシスタントツールの構築

MQL5取引ツール(第1回):インタラクティブで視覚的なペンディングオーダー取引アシスタントツールの構築

この記事では、FX取引におけるペンディングオーダーの設置を簡素化するために開発した、MQL5によるインタラクティブ取引アシスタントツール(Trade Assistant Tool)について紹介します。まず概念設計を説明し、チャート上でエントリー、ストップロス、テイクプロフィット水準を視覚的に設定できるユーザーフレンドリーなGUIに焦点を当てます。さらに、MQL5での実装およびバックテストのプロセスを詳述し、このツールの信頼性を確認します。そして、後続のパートで発展的な機能を追加するための基盤を整えます。
preview
MQL5サービスからPythonアプリケーションへのMetaTraderティック情報アクセス(ソケット使用)

MQL5サービスからPythonアプリケーションへのMetaTraderティック情報アクセス(ソケット使用)

場合によっては、MQL5言語だけではすべてをプログラムできないことがあります。また、既存の高度なライブラリをMQL5に移植することは可能であっても、非常に時間がかかります。本記事では、MetaTraderのティック情報(Bid、Ask、時刻など)をMetaTraderサービスを経由してPythonアプリケーションに送信し、Windows OSへの依存を回避する方法を紹介します。
preview
チャート同期でテクニカル分析を簡単にする

チャート同期でテクニカル分析を簡単にする

「Chart Synchronization for Easier Technical Analysis」は、単一の銘柄に対してすべてのチャート時間足でトレンドライン、四角形、インジケーターなどの一貫したグラフィックオブジェクトが表示されるようにするツールです。パン、ズーム、銘柄変更などの操作はすべての同期したチャートに反映されるため、トレーダーは複数の時間足で同じプライスアクションの文脈をシームレスに確認し、比較できます。
preview
リプレイシステムの開発 - 市場シミュレーション(第21回):FOREX (II)

リプレイシステムの開発 - 市場シミュレーション(第21回):FOREX (II)

FOREX市場で作業するためのシステムを構築し続けます。この問題を解決するためには、まず、前のバーを読み込む前にティックの読み込みを宣言しなければなりません。これによって問題は解決されますが、同時にユーザーは構成ファイルの構造に従わざるを得なくなります。これは個人的にはあまり意味がありません。なぜなら、構成ファイルの内容を分析し、実行する役割を担うプログラムを設計することで、ユーザーが必要な要素を好きな順番で宣言できるようになるからです。
preview
不一致問題(Disagreement Problem):AIにおける複雑性の説明可能性を深く掘り下げる

不一致問題(Disagreement Problem):AIにおける複雑性の説明可能性を深く掘り下げる

説明可能性という波乱の海を航海しながら、人工知能(AI)の謎の核心に飛び込みましょう。モデルがその内部構造を隠す領域において、私たちの探求は、機械学習の回廊にこだまする「不一致問題」を明らかにします。
preview
彗尾アルゴリズム(CTA)

彗尾アルゴリズム(CTA)

この記事では、ユニークな宇宙物体である彗星と、太陽に接近する際に形成されるその印象的な尾にインスパイアされた「彗尾最適化アルゴリズム(CTA: Comet Tail Algorithm)」について考察します。このアルゴリズムは、彗星とその尾の運動の概念に基づき、最適化問題の最適解を見つけることを目的としています。
preview
アーチェリーアルゴリズム(AA)

アーチェリーアルゴリズム(AA)

この記事では、アーチェリーに着想を得た最適化アルゴリズムについて詳しく検討し、有望な「矢」の着地点を選定するメカニズムとしてルーレット法の活用に焦点を当てます。この手法により、解の質を評価し、さらなる探索に最も有望な位置を選び出すことが可能になります。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第5回):自己適応型取引ルール

MQL5で自己最適化エキスパートアドバイザーを構築する(第5回):自己適応型取引ルール

インジケーターを安全に使用する方法を定義したベストプラクティスに従うのは、必ずしも容易ではありません。市場の動きが穏やかな状況では、インジケーターが意図した通りのシグナルを発しないことがあり、その結果、アルゴリズム取引における貴重なチャンスを逃してしまう可能性があります。本稿では、この問題に対する潜在的な解決策として、利用可能な市場データに応じて取引ルールを適応させることが可能な取引アプリケーションの構築方法を提案します。
preview
ALGLIBライブラリの最適化手法(第1回):

ALGLIBライブラリの最適化手法(第1回):

この記事では、MQL5におけるALGLIBライブラリの最適化手法について紹介します。記事には、最適化問題を解決するためにALGLIBを使用するシンプルで分かりやすい例が含まれており、これらの手法をできるだけ身近に感じられるように構成されています。BLEIC、L-BFGS、NSといったアルゴリズムのつながりを詳しく見ていき、それらを使って簡単なテスト問題を解いてみます。
preview
MQL5でかぎ足をマスターする(第1回):インジケーターの作成

MQL5でかぎ足をマスターする(第1回):インジケーターの作成

MQL5で完全なかぎ足エンジンを構築する方法を学びましょう。価格の反転の構築、動的な線分の生成、そしてかぎ足の構造をリアルタイムで更新する方法を扱います。本連載第1回では、MetaTrader 5上にかぎ足を直接描画する方法を解説します。これにより、トレーダーはトレンドの転換や市場の強さを明確に把握できるようになり、第2部で扱うかぎ足ベースの自動売買ロジックの準備が整います。
preview
ディープラーニングを用いたCNA(因果ネットワーク分析)、SMOC(確率モデル最適制御)、ナッシュゲーム理論の例

ディープラーニングを用いたCNA(因果ネットワーク分析)、SMOC(確率モデル最適制御)、ナッシュゲーム理論の例

以前の記事で発表されたこれら3つの例にディープラーニング(DL)を加え、以前の結果と比較します。目的は、他のEAにディープラーニングを追加する方法を学ぶことです。
preview
3D反転パターンに基づくアルゴリズム取引

3D反転パターンに基づくアルゴリズム取引

3Dバーによる自動売買の新しい世界を発見します。多次元の価格バー上で自動売買ロボットはどのように見えるのでしょうか。3Dバーの「黄色のクラスタ」はトレンドの反転を予測できるのでしょうか。多次元取引はどのように見えるのでしょうか。