MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
MQL5でカスタムインジケータを作成する(第7回):セッション分析のためのハイブリッドTime Price Opportunity (TPO)マーケットプロファイル

MQL5でカスタムインジケータを作成する(第7回):セッション分析のためのハイブリッドTime Price Opportunity (TPO)マーケットプロファイル

ハイブリッドTime Price Opportunity (TPO)マーケットプロファイル用のカスタムインジケータをMQL5で開発します。このインジケータは、タイムゾーン調整に対応し、イントラデイ、日足、週足、月足、固定期間など、複数のセッション時間足をサポートします。このインジケータでは、価格をグリッド化し、各セッションの高値、安値、始値、終値などのデータを追跡します。また、TPOカウントに基づいて、ポイントオブコントロール(PoC)やバリューエリア(VA)などの主要要素を計算します。さらに、TPO文字、単独プリント、VA、PoC、終値マーカーの色をカスタマイズ可能にし、チャート上にプロファイルを視覚的に描画することで、詳細なセッション分析を可能にします。
preview
MQL5標準ライブラリエクスプローラー(第8回):CFileTxtによるハイブリッド取引ジャーナルの記録

MQL5標準ライブラリエクスプローラー(第8回):CFileTxtによるハイブリッド取引ジャーナルの記録

本記事では、MQL5標準ライブラリのファイル操作クラスを活用し、Excel対応のCSVファイルを自動生成する堅牢なレポートモジュールを構築します。その過程において、手動操作とアルゴリズム起点の取引アクションを明確に区別し、信頼性が高く監査可能な取引レポートの基盤を整えます。
preview
MQL5取引ツールのアクセシビリティ課題を克服する(第1回):MQL5インジケータに状況対応型音声アラートを追加する方法

MQL5取引ツールのアクセシビリティ課題を克服する(第1回):MQL5インジケータに状況対応型音声アラートを追加する方法

本記事では、標準的なターミナルアラートの枠を超え、MQL5のリソース管理機能を活用して状況に応じた音声フィードバックを実現する、アクセシビリティを重視した拡張手法を紹介します。一般的な通知音ではなく、「何が起こったのか」と「なぜ起こったのか」を音声で伝えることで、トレーダーは視覚情報だけに頼ることなく市場イベントを把握できます。このアプローチは、特に視覚障害のあるトレーダーにとって有用ですが、ハンズフリーで操作したい多忙なユーザーやマルチタスク環境で取引を行うユーザーにもメリットがあります。
preview
MQL5経済指標カレンダーを用いたニュースフィルタリング(第1回):MQL5におけるニュース前・ニュース後ウィンドウの実装

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

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

MQL5入門(第40回):MQL5におけるファイル処理入門(II)

MQL5で、指定した期間の口座履歴を読み取り、構造化されたレコードをファイルに書き込むことで、CSV形式の取引ジャーナルを作成します。約定数の取得、チケット番号の取得、銘柄や注文タイプの判別、そしてエントリー(ロット、時間、価格、SL/TP)および決済(時間、価格、利益、結果)データの取得方法を、動的配列を使用して解説します。その結果、分析やレポート作成に適した、整理された永続的なログを作成できます。
preview
MQL5でのスイング極値とプルバック(第2回):EAによる戦略の自動化

MQL5でのスイング極値とプルバック(第2回):EAによる戦略の自動化

下位足の市場構造を基盤とし、そのシグナル運用を上位足で統合・調整する本インジケーターは、価格が統計的に反転しやすくなるスイングの極値を検出します。価格の行き過ぎ(オーバーエクステンション)とプルバックゾーンを視覚化し、平均回帰の動きを早い段階で把握できるようにします。
preview
MQL5入門(第41回)MQL5におけるファイル処理入門(III)

MQL5入門(第41回)MQL5におけるファイル処理入門(III)

MQL5でCSVファイルを読み込み、取引データを動的配列に整理する方法を学びます。ファイル内の要素数を数える方法、すべてのデータを1つの配列に格納する方法、さらに各列を専用の配列へ分割する方法をステップごとに解説します。これにより、高度な分析やトレードパフォーマンスの可視化へ進むための基礎を構築できます。
preview
MQL5取引ツール(第19回):チャート描画用のインタラクティブなツールパレットの構築

MQL5取引ツール(第19回):チャート描画用のインタラクティブなツールパレットの構築

ドラッグによる移動やリサイズが可能なパネル、テーマ切り替え機能を備えた、チャート描画用のインタラクティブなツールパレットをMQL5で構築します。また、十字カーソル、トレンドライン、ライン、矩形、フィボナッチ、テキスト、矢印などのツール用ボタンを追加し、マウスイベントを処理してツールの有効化や操作ガイドを実現します。このシステムは、カスタマイズ可能なUIを通じてリアルタイムなチャート操作をサポートし、トレード分析をより効率的におこなえるようにします。
preview
MQL5入門(第42回):MQL5におけるファイル処理入門(IV)

MQL5入門(第42回):MQL5におけるファイル処理入門(IV)

CSV形式の取引履歴を読み込み、Profit($)の値と総取引数を抽出し、累積残高推移を計算するMQL5インジケータの作成方法を紹介します。算出した累積残高曲線は、インジケータ専用のサブウィンドウにプロットし、Y軸は値の範囲に応じて自動的にスケーリングされます。また、表示位置を分かりやすくするために、水平軸と垂直軸も描画します。インジケータはタイマーによって定期的に更新され、新しい取引が追加された場合にのみ再描画します。さらに、オプションとして各取引の利益または損失を数値ラベルとして表示できるため、パフォーマンスやドローダウンをチャート上で直接確認・分析できます。
preview
共和分株式による統計的裁定取引(最終回):特化型データベースを用いたデータ分析

共和分株式による統計的裁定取引(最終回):特化型データベースを用いたデータ分析

統計的裁定取引のデータ処理において、SQLite (OLTP)とDuckDB (OLAP)を組み合わせて活用する方法を紹介します。DuckDBのカラム指向エンジン、ASOF JOIN、配列関数を利用することで、気配値と約定の時点対応付けやRWEC (Rolling Windows Eigenvector Comparison)などの中核処理を高速化できます。実際の測定では、入力データが大きくなるにつれて、SQLiteと比較して2倍から23倍の高速化が確認されました。これにより、クエリはよりシンプルになり、分析処理も高速化される一方で、実際の取引執行は引き続きSQLiteに任せることができます。
preview
MQL5取引ツール(第21回):回帰グラフにサイバーパンクテーマを追加する

MQL5取引ツール(第21回):回帰グラフにサイバーパンクテーマを追加する

MQL5の回帰グラフ描画ツールを拡張し、ネオングロー、アニメーション、ホログラフィックエフェクトを備えたサイバーパンクテーマを追加することで、より没入感のある可視化を実現します。テーマの切り替え機能、星が瞬く動的な背景、発光する枠線、ネオンカラーのポイントやラインを実装するとともに、従来の標準テーマとの互換性も維持します。このデュアルテーマシステムにより、リアルタイム更新やインタラクティブな操作に対応しながら、未来的なデザインでペア分析をより魅力的に行えるようになります。
preview
プライスアクション分析ツールキットの開発(第62回):MQL5による適応型平行チャネル検出とブレイクアウトシステムの構築

プライスアクション分析ツールキットの開発(第62回):MQL5による適応型平行チャネル検出とブレイクアウトシステムの構築

MQL5における適応型平行チャネル検出およびブレイクアウトシステムについて解説します。スイングポイントの検出方法、チャネルの構築と動的な再計算の仕組み、さらに永続的なシグナルを用いたブレイクアウトの確認および可視化について説明します。このフレームワークは、トレンドラインの幾何学的構造、ATRベースのフィルタリング、リテストによる検証を統合することで、プロフェッショナルなチャート分析およびトレード判断に活用できる、信頼性の高いリアルタイムのプライスアクション分析を提供します。
preview
ラリー・ウィリアムズの『市場の秘密』(第13回):隠れスマッシュデー反転パターンの自動化

ラリー・ウィリアムズの『市場の秘密』(第13回):隠れスマッシュデー反転パターンの自動化

ラリー・ウィリアムズの隠れスマッシュデー反転を対象とした、透明性の高いMQL5エキスパートアドバイザー(EA)を構築します。シグナルは新しいバーの開始時のみ生成されます。まずセットアップバーを判定し、その次のセッションがその極値の外側でクローズしたことを確認してからシグナルを確定します。リスク管理では、ATRベースまたはストラクチャーベースのストップロスを選択でき、あらかじめ定義したリスクリワード比に基づいて利益確定を設定します。ポジションサイズは固定ロットまたは口座残高に対する割合から算出でき、さらに売買方向フィルタと「同時保有は1ポジションのみ」というルールを組み合わせることで、再現性の高いバックテストを実現します。
preview
MQL5取引ツールのアクセシビリティ課題を克服する(第2回):Pythonのテキスト読み上げエンジンでEAを音声対応にする

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

テキスト読み上げ(TTS)技術を使用し、PythonとMQL5を連携させてエキスパートアドバイザー(EA)を音声対応にする方法について説明します。この記事を読み終える頃には、動的な市場情報を音声で伝えるEAの実装例を手にすることができます。TTSの活用方法、WebRequest関数の使い方、そしてPythonライブラリがMQL5言語とどのように統合され、実際に音声を活用できるトレードツールを構築できるかを理解できます。
preview
取引規律をコードに組み込む(第2回):MQL5で口座全体の全取引に対応する日次取引制限エンフォーサーを構築する

取引規律をコードに組み込む(第2回):MQL5で口座全体の全取引に対応する日次取引制限エンフォーサーを構築する

取引ルールを遵守できるようにするため、1日の取引制限を強制するシステムを開発しました。このシステムは、口座全体で実行されたすべての取引を監視し、設定された制限に到達すると自動的に介入して、それ以降の取引活動を防止します。制御機能をプラットフォームに直接組み込むことで、市場からのプレッシャーが高まった状況でも、規律を維持できるようにします。
preview
プライスアクション分析ツールキットの開発(第63回):MQL5での上昇・下降ウェッジ検出の自動化

プライスアクション分析ツールキットの開発(第63回):MQL5での上昇・下降ウェッジ検出の自動化

連載「プライスアクション分析ツールキットの開発」の今回の記事では、上昇ウェッジおよび下降ウェッジパターンをリアルタイムで自動検出するMQL5インジケーターを開発します。このシステムは、ピボット構造を確認し、境界線の収束を数学的に検証し、パターン同士の重複を防止しながら、ブレイクアウトおよび失敗条件を正確な視覚的フィードバックとともに監視します。クリーンなオブジェクト指向アーキテクチャを使用して構築されたこの実装は、主観的なウェッジ認識を、規律あるプライスアクション分析を強化するために設計された、状態を認識して扱える構造化分析コンポーネントへと変換します。
preview
MQL5標準ライブラリエクスプローラー(第9回):ALGLIBによる多発するMAクロスオーバーシグナルのフィルタ処理

MQL5標準ライブラリエクスプローラー(第9回):ALGLIBによる多発するMAクロスオーバーシグナルのフィルタ処理

横ばいの価格変動中、トレーダーは複数の移動平均クロスオーバーによって過剰なシグナルに直面します。今回は、ALGLIBがどのように生の価格データを前処理し、フィルタ処理済みのクロスオーバー系列を生成するのかについて説明します。また、これらのレイヤーは発生時にアラートを生成することもできます。数学ライブラリをMQL5プログラムでどう活用できるのかを一緒に見ていきましょう。
preview
ダイナミックマルチペアEAの形成(第7回):リアルタイムトレードフィルタリングのためのクロスペア相関マッピング

ダイナミックマルチペアEAの形成(第7回):リアルタイムトレードフィルタリングのためのクロスペア相関マッピング

このパートでは、複数銘柄型エキスパートアドバイザー(EA)にリアルタイム相関行列を統合し、冗長な取引やリスクが積み重なるポジションを防ぐ仕組みを構築します。複数ペア間の相互関係を動的に測定することで、EAは既存エクスポージャーと競合するエントリーをフィルタリングし、ポートフォリオ全体のバランスを改善します。その結果、システミックリスクを低減し、より質の高いトレード判断を実現します。