MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):自己適応型取引ルール(II)

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

本記事では、より良い売買シグナルを得るために、RSIのレベルと期間を最適化する方法を探ります。最適なRSI値を推定する手法や、グリッドサーチと統計モデルを用いた期間選定の自動化について紹介します。最後に、Pythonによる分析を活用しながら、MQL5でソリューションを実装します。私たちのアプローチは、複雑になりがちな問題をシンプルに解決することを目指した、実用的かつ分かりやすいものです。
preview
MQL5での取引戦略の自動化(第12回):Mitigation Order Blocks (MOB)戦略の実装

MQL5での取引戦略の自動化(第12回):Mitigation Order Blocks (MOB)戦略の実装

本記事では、スマートマネー取引向けにオーダーブロックの自動検出をおこなうMQL5取引システムを構築します。戦略のルールを明確にし、そのロジックをMQL5で実装し、さらに取引を効果的に執行するためにリスク管理も統合します。最後に、システムのパフォーマンスを評価するためにバックテストをおこない、最適な結果を得るための改良を加えます。
preview
データサイエンスとML(第35回):MQL5でのNumPy活用術 - 少ないコードで複雑なアルゴリズムを構築する技法

データサイエンスとML(第35回):MQL5でのNumPy活用術 - 少ないコードで複雑なアルゴリズムを構築する技法

NumPyライブラリは、Pythonプログラミング言語においてほぼすべての機械学習アルゴリズムの中核を支えています。本記事では、高度なモデルやアルゴリズムの構築を支援するために、複雑なコードをまとめたモジュールを実装していきます。
preview
プライスアクション分析ツールキットの開発(第18回):クォーターズ理論の紹介(III) - Quarters Board

プライスアクション分析ツールキットの開発(第18回):クォーターズ理論の紹介(III) - Quarters Board

この記事では、元のQuarters Scriptを改良し、「Quarters Board」というツールを導入しています。これにより、コードを編集し直すことなく、チャート上でクォーターレベルを直接オン・オフできるようになります。特定のレベルを簡単に有効化・無効化できるほか、エキスパートアドバイザー(EA)はトレンド方向に関するコメントも提供し、市場の動きをより理解しやすくします。
preview
ダーバスボックスブレイクアウト戦略における高度な機械学習技術の探究

ダーバスボックスブレイクアウト戦略における高度な機械学習技術の探究

ニコラス・ダーバスによって考案された「ダーバスボックスブレイクアウト戦略」は、株価が一定の「ボックス」レンジを上抜けたときに強い上昇モメンタムが示唆されることから、買いシグナルを見極めるためのテクニカル取引手法です。本記事では、この戦略コンセプトを例として用い、機械学習の3つの高度な技術を探っていきます。それは、取引をフィルタリングするのではなくシグナルを生成するために機械学習モデルを使用すること、離散的ではなく連続的なシグナルを用いること、異なる時間枠で学習されたモデルを使って取引を確認すること、の3点です。
preview
知っておくべきMQL5ウィザードのテクニック(第57回):移動平均とストキャスティクスを用いた教師あり学習

知っておくべきMQL5ウィザードのテクニック(第57回):移動平均とストキャスティクスを用いた教師あり学習

移動平均線やストキャスティクスは非常に一般的なテクニカル指標ですが、その「遅行性」のために一部のトレーダーから敬遠されがちです。この3部構成のミニシリーズでは、機械学習の3つの主要なアプローチを軸に、この偏見が本当に正当なものなのか、それとも実はこれらの指標に優位性が隠れているのかを検証していきます。検証には、ウィザードで組み立てられたエキスパートアドバイザー(EA)を用います。
preview
MQL5における予測および分類評価のためのリサンプリング手法

MQL5における予測および分類評価のためのリサンプリング手法

本記事では、1つのデータセットを訓練(学習)用と検証用の両方として使用するモデル評価手法について、理論と実装の両面から検討します。
preview
初心者からエキスパートへ:サポートとレジスタンスの強度指標(SRSI)

初心者からエキスパートへ:サポートとレジスタンスの強度指標(SRSI)

本記事では、MQL5プログラミングを活用して市場の価格レベルを正確に特定し、弱いレベルと強いレベルを見分ける方法についての知見を共有します。さらに、実用的なサポートおよびレジスタンス強度インジケーター(SRSI)を完全に開発していきます。
preview
最適化におけるカスタム基準への新しいアプローチ(第1回):活性化関数の例

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

これは、カスタム基準に関する数学的考察をおこなう連載記事の第1回目です。特に、ニューラルネットワークで使用される非線形関数、実装用のMQL5コード、さらにターゲットオフセットや補正オフセットの活用に焦点を当てています。
preview
受信者動作特性曲線の紹介

受信者動作特性曲線の紹介

ROC曲線は、分類器の性能を評価するために使用されるグラフ表現です。ROC曲線は比較的単純に見えますが、実際に使用する際には、よくある誤解や陥りやすい落とし穴があります。この記事の目的は、分類器の性能評価を理解しようとする実務者に向けて、ROC曲線を紹介することです。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5インターフェイス設計における最新の進展を、再設計されたコミュニケーションパネルの公開とともに詳しく解説します。また、モジュール化の原則に基づいて新しい管理パネルを構築するシリーズも引き続き展開していきます。この記事では、CommunicationsDialogクラスを段階的に開発し、それをDialogクラスから継承する方法を丁寧に解説します。さらに、開発には配列およびListViewクラスを活用します。MQL5開発スキルを高めるための実用的な知見を得るために、ぜひ記事を読み、コメント欄でディスカッションにご参加ください。
preview
データサイエンスとML(第34回):時系列分解、株式市場を核心にまで分解

データサイエンスとML(第34回):時系列分解、株式市場を核心にまで分解

ノイズが多く、予測が難しいデータで溢れる世界では、意味のあるパターンを特定するのは困難です。この記事では、データをトレンド、季節パターン、ノイズといった主要な要素に分解する強力な分析手法「季節分解」について解説します。こうしてデータを分解することで、隠れた洞察を見つけ、より明確で解釈しやすい情報を得ることが可能になります。
preview
MQL5での取引戦略の自動化(第11回):マルチレベルグリッド取引システムの開発

MQL5での取引戦略の自動化(第11回):マルチレベルグリッド取引システムの開発

本記事では、MQL5を使用してマルチレベルのグリッド取引システムEAを開発し、グリッド取引戦略の背後にあるアーキテクチャとアルゴリズム設計に焦点を当てます。複数層にわたるグリッドロジックの実装と、市場のさまざまな状況に対応するためのリスク管理手法について探ります。最後に、自動売買システムの構築・テスト・改善をおこなうための詳細な説明と実践的なヒントを提供します。
preview
MQL5取引ツールキット(第8回):コードベースにHistory Manager EX5ライブラリを実装して使用する方法

MQL5取引ツールキット(第8回):コードベースにHistory Manager EX5ライブラリを実装して使用する方法

MetaTrader 5口座の取引履歴を処理するために、MQL5ソースコード内で「History Manager EX5」ライブラリを簡単にインポートして活用する方法を、本連載の最終回となるこの記事で解説します。MQL5ではシンプルな1行の関数呼び出しで、取引データの管理や分析を効率的におこなうことが可能です。さらに、取引履歴の分析スクリプトを複数作成する方法や、実用的なユースケースとして、価格ベースのエキスパートアドバイザー(EA)の開発方法についても学んでいきます。このEAは、価格データとHistory Manager EX5ライブラリを活用し、過去のクローズ済み取引に基づいて取引判断をおこない、取引量の調整やリカバリーストラテジーの実装をおこないます。
preview
プライスアクション分析ツールキットの開発(第17回):TrendLoom EAツール

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

プライスアクションを観察し、取引をおこなう立場から言うと、複数の時間枠でトレンドが確認された場合、その方向にトレンドが継続することがよくあります。ただし、トレンドがどれくらい続くかは一定ではなく、ポジションを長期で保有するのか、それともスキャルピングのような短期取引をおこなうのかといったトレーダーのスタイルによって異なります。トレンド確認に使用する時間枠の選択は非常に重要な役割を果たします。以下の記事では、ワンクリックや定期的な更新によって、複数の時間足にわたる全体的なトレンドを自動で分析できる便利なシステムを紹介しています。ぜひご覧ください。
preview
プライスアクション分析ツールキットの開発(第16回):クォーターズ理論の紹介(II) - Intrusion Detector EA

プライスアクション分析ツールキットの開発(第16回):クォーターズ理論の紹介(II) - Intrusion Detector EA

前回の記事では、「Quarters Drawer」というシンプルなスクリプトを紹介しました。このツールを基盤として、今回はさらに一歩進め、これらのクォーターを監視し、市場がどのように反応するかを見極めるためのモニター型エキスパートアドバイザー(EA)を作成します。本記事では、ゾーン検出ツールの開発プロセスについて紹介します。
preview
知っておくべきMQL5ウィザードのテクニック(第56回):ビル・ウィリアムズフラクタル

知っておくべきMQL5ウィザードのテクニック(第56回):ビル・ウィリアムズフラクタル

ビル・ウィリアムズによるフラクタルは、最初にチャート上で目にしたときには見落とされがちな強力なインジケーターです。一見するとチャートが煩雑に見え、鋭さに欠けるように思えるかもしれません。この記事では、このインジケーターの覆いを取り払い、そのさまざまなパターンがどのように機能するのかを、MQL5ウィザードで組み上げたエキスパートアドバイザー(EA)によるフォワードウォークテストを通じて検証していきます。
preview
HarmonyOS NEXTデバイスにMetaTrader 5などのMetaQuotesアプリをインストールする

HarmonyOS NEXTデバイスにMetaTrader 5などのMetaQuotesアプリをインストールする

HarmonyOS NEXTデバイスでMetaTrader 5やその他のMetaQuotesアプリをDroiTong(卓易通)を使って簡単にインストールできます。スマートフォンやノートパソコン向けの詳細なステップバイステップガイドです。
preview
MQL5入門(第13回):初心者のためのカスタムインジケーター作成ガイド(II)

MQL5入門(第13回):初心者のためのカスタムインジケーター作成ガイド(II)

この記事では、カスタムの平均足インジケーターをゼロから作成する方法を解説し、カスタムインジケーターをエキスパートアドバイザー(EA)に組み込む方法も紹介します。インジケーターの計算方法、取引実行ロジック、リスク管理の手法についても取り上げ、自動売買戦略の向上を目指します。
preview
PythonとMQL5による多銘柄分析(第3回):三角為替レート

PythonとMQL5による多銘柄分析(第3回):三角為替レート

トレーダーは、誤ったシグナルによるドローダウンに直面することが多い一方で、確認を待ちすぎることで、有望な機会を逃すこともあります。本稿では、ドル建て銀価格(XAGUSD)、ユーロ建て銀価格(XAGEUR)、およびEURUSD為替レートを用いた三角裁定取引戦略を紹介し、市場のノイズをフィルタリングする方法を解説します。市場間の相関関係を活用することで、隠れた市場センチメントをリアルタイムで捉え、エントリータイミングをより洗練させることが可能になります。
preview
外国為替平均回帰戦略のためのカルマンフィルター

外国為替平均回帰戦略のためのカルマンフィルター

カルマンフィルターは、価格変動のノイズを除去して金融時系列の真の状態を推定するために、アルゴリズム取引で用いられる再帰的なアルゴリズムです。新しい市場データに基づいて予測を動的に更新するため、平均回帰のような適応型戦略において非常に有用です。本記事ではまず、カルマンフィルターの計算方法と実装について紹介します。次に、このフィルターをクラシックな平均回帰型の外国為替(FX)戦略に適用する例を示します。最後に、異なる通貨ペアにおいてカルマンフィルターと移動平均を比較し、さまざまな統計分析をおこないます。
preview
MQL5での取引戦略の自動化(第10回):トレンドフラットモメンタム戦略の開発

MQL5での取引戦略の自動化(第10回):トレンドフラットモメンタム戦略の開発

この記事では、「トレンドフラットモメンタム(Trend Flat Momentum)戦略」のためのエキスパートアドバイザー(EA)をMQL5で開発します。移動平均線のクロスオーバーに、RSI(相対力指数)とCCI(商品チャネル指数)といったモメンタム系のフィルターを組み合わせて、トレードシグナルを生成します。また、バックテストの方法や、実運用でのパフォーマンス向上のための改善案についても取り上げます。
preview
プライスアクション分析ツールキットの開発(第15回):クォーターズ理論の紹介(I) - Quarters Drawerスクリプト

プライスアクション分析ツールキットの開発(第15回):クォーターズ理論の紹介(I) - Quarters Drawerスクリプト

サポートとレジスタンスのポイントは、トレンドの反転や継続の可能性を示す重要なレベルです。これらのレベルを見つけるのは難しいこともありますが、一度特定できれば、市場をより的確に捉える準備が整います。さらなるサポートとして、本記事で紹介されているQuarters Drawerツールをぜひご活用ください。このツールは、主要およびマイナーなサポート・レジスタンスレベルの特定に役立ちます。
preview
MQL5経済指標カレンダーを使った取引(第6回):ニュースイベント分析とカウントダウンタイマーによるトレードエントリーの自動化

MQL5経済指標カレンダーを使った取引(第6回):ニュースイベント分析とカウントダウンタイマーによるトレードエントリーの自動化

本記事では、MQL5経済指標カレンダーを活用して、ユーザー定義のフィルターと時間オフセットに基づいた自動取引エントリーを実装します。対象となる経済指標イベントを検出し、予想値と前回値の比較により、買うか売るかの判断を下します。動的なカウントダウンタイマーは、ニュース公開までの残り時間を表示し、取引後には自動的にリセットされます。
preview
知っておくべきMQL5ウィザードのテクニック(第55回):PER付きSAC

知っておくべきMQL5ウィザードのテクニック(第55回):PER付きSAC

強化学習において、リプレイバッファは特にDQNやSACのようなオフポリシーアルゴリズムにおいて重要な役割を果たします。これにより、メモリバッファのサンプリング処理が注目されます。たとえばSACのデフォルト設定では、このバッファからランダムにサンプルを取得しますが、Prioritized Experience Replay (PER)を用いることで、TDスコア(時間差分誤差)に基づいてサンプリングを調整することができます。本稿では、強化学習の意義を改めて確認し、いつものように交差検証ではなく、この仮説だけを検証する、ウィザードで組み立てたエキスパートアドバイザー(EA)を用いて考察します。
preview
MQL5での取引戦略の自動化(第9回):アジアブレイクアウト戦略のためのエキスパートアドバイザーの構築

MQL5での取引戦略の自動化(第9回):アジアブレイクアウト戦略のためのエキスパートアドバイザーの構築

この記事では、アジアブレイクアウト戦略のためのエキスパートアドバイザー(EA)をMQL5で構築します。セッション中の高値と安値を計算し、移動平均によるトレンドフィルタリングをおこないます。また、動的なオブジェクトスタイリング、ユーザー定義の時間入力、堅牢なリスク管理も実装します。最後に、プログラムの精度を高めるためのバックテストおよび最適化手法を紹介します。
preview
MQL5での取引戦略の自動化(第8回):バタフライハーモニックパターンを用いたエキスパートアドバイザーの構築

MQL5での取引戦略の自動化(第8回):バタフライハーモニックパターンを用いたエキスパートアドバイザーの構築

この記事では、バタフライハーモニックパターンを検出するためのMQL5エキスパートアドバイザー(EA)を構築します。ピボットポイントを特定し、フィボナッチレベルを検証してパターンを確認します。次に、チャート上にパターンを可視化し、確認された際には自動的に取引を実行します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):ストップアウト防止

MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):ストップアウト防止

本日は、勝ちトレードでストップアウトされる回数を最小限に抑えるためのアルゴリズム的手法を探るディスカッションにご参加ください。この問題は非常に難易度が高く、取引コミュニティで見られる多くの提案は、明確で一貫したルールに欠けているのが実情です。私たちはこの課題に対してアルゴリズム的なアプローチを用いることで、トレードの収益性を高め、1回あたりの平均損失を減らすことに成功しました。とはいえ、ストップアウトを完全に排除するには、まださらなる改良が必要です。私たちの解決策は、それには至らないものの、誰にとっても試す価値のある良い第一歩です。
preview
プライスアクション分析ツールキットの開発(第14回):Parabolic Stop and Reverseツール

プライスアクション分析ツールキットの開発(第14回):Parabolic Stop and Reverseツール

プライスアクション分析にテクニカルインジケーターを取り入れることは、非常に有効なアプローチです。これらのインジケーターは、反転や押し戻しの重要なレベルを示すことが多く、市場の動きを把握する上での貴重な手がかりとなります。本記事では、パラボリックSARインジケーターを用いてシグナルを生成する自動ツールをどのように開発したかを紹介します。
preview
MQL5での取引戦略の自動化(第7回):動的ロットスケーリングを備えたグリッド取引EAの構築

MQL5での取引戦略の自動化(第7回):動的ロットスケーリングを備えたグリッド取引EAの構築

この記事では、動的なロットスケーリングを採用したMQL5のグリッドトレーディングエキスパートアドバイザー(EA)を構築します。戦略の設計、コードの実装、バックテストのプロセスについて詳しく解説します。最後に、自動売買システムを最適化するための重要な知見とベストプラクティスを共有します。
preview
プライスアクション分析ツールキットの開発(第13回):RSIセンチネルツール

プライスアクション分析ツールキットの開発(第13回):RSIセンチネルツール

プライスアクションは、ダイバージェンスを特定することで効果的に分析することができます。RSI(相対力指数)などのテクニカル指標は、その確認シグナルとして重要な役割を果たします。本記事では、自動化されたRSIダイバージェンス分析によって、トレンドの継続や反転をどのように識別できるかを解説し、市場心理を読み解く上で理解を深める手助けをします。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(I)モジュール化

MQL5で取引管理者パネルを作成する(第9回):コード編成(I)モジュール化

本ディスカッションでは、MQL5プログラムをより小さく扱いやすいモジュールに分割する一歩を踏み出します。これらのモジュール化されたコンポーネントをメインプログラムに統合することで、構造が整理され保守性が向上します。この手法によりメインプログラムの構造が簡素化されるだけでなく、各コンポーネントを他のエキスパートアドバイザー(EA)やインジケーター開発にも再利用可能にします。モジュール設計を採用することで、将来的な機能拡張の基盤を確立し、私たちのプロジェクトだけでなく広く開発者コミュニティにも貢献できるものとなります。
preview
MQL5でカスタムキャンバスグラフィックを使用したケルトナーチャネルインジケーターの構築

MQL5でカスタムキャンバスグラフィックを使用したケルトナーチャネルインジケーターの構築

本記事では、MQL5を用いてカスタムキャンバスグラフィック付きのケルトナーチャネルインジケーターを構築します。移動平均の統合、ATRの計算、そして視覚的に強化されたチャート表示について詳しく解説します。また、インジケーターの実用性を評価するためのバックテスト手法についても取り上げ、実際の取引に役立つ洞察を提供します。
preview
知っておくべきMQL5ウィザードのテクニック(第54回):SACとテンソルのハイブリッドによる強化学習

知っておくべきMQL5ウィザードのテクニック(第54回):SACとテンソルのハイブリッドによる強化学習

Soft Actor Critic (SAC)は、以前の記事で紹介した強化学習アルゴリズムです。その際には、効率的にネットワークを学習させる手法としてPythonやONNXの活用についても触れました。今回は、このアルゴリズムを改めて取り上げ、Pythonでよく使われるテンソルや計算グラフを活用することを目的としています。
preview
JSONをマスターする:MQL5で独自のJSONリーダーをゼロから作成する

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

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

MQL5での取引戦略の自動化(第6回):スマートマネートレーディングのためのオーダーブロック検出の習得

この記事では、純粋なプライスアクション分析を用いてMQL5でオーダーブロック検出を自動化します。オーダーブロックの定義、検出の実装、自動売買への統合をおこない、最後に戦略のバックテストを通じてパフォーマンスを評価します。
preview
プライスアクション分析ツールキットの開発(第12回):External Flow (III)トレンドマップ

プライスアクション分析ツールキットの開発(第12回):External Flow (III)トレンドマップ

市場の流れは、ブル(買い手)とベア(売り手)の力関係によって決まります。市場が反応する特定の水準には、そうした力が作用しています。中でも、フィボナッチとVWAPの水準は、市場の動きに強い影響を与える傾向があります。この記事では、VWAPとフィボナッチ水準に基づいたシグナル生成の戦略を一緒に探っていきましょう。
preview
MQL5入門(第12回):初心者のためのカスタムインジケーター作成ガイド

MQL5入門(第12回):初心者のためのカスタムインジケーター作成ガイド

MQL5でカスタムインジケーターを構築する方法を学びます。プロジェクトベースのアプローチを採用します。この初心者向けガイドでは、インジケーターバッファ、プロパティ、トレンドの視覚化について解説し、段階的に学習を進めることができます。
preview
エキスパートアドバイザーの堅牢性テスト

エキスパートアドバイザーの堅牢性テスト

戦略開発には、多くの複雑な要素が含まれていますが、これらの多くは初心者トレーダーには十分に伝えられていません。その結果、私自身を含め多くのトレーダーが、こうした教訓を痛みを伴う経験を通じて学ぶことになりました。この記事では、MQL5で戦略を開発する際に初心者トレーダーが直面しがちな一般的な落とし穴について、私の観察に基づいて解説します。EAの信頼性を見極め、簡単に実践できる方法で自作EAの堅牢性を検証するための、さまざまなヒントやコツ、具体例を紹介します。本記事の目的は、読者がEA購入時の詐欺を回避し、自身の戦略開発での失敗を未然に防げるよう支援することです。
preview
ログレコードをマスターする(第5回):キャッシュとローテーションによるハンドラの最適化

ログレコードをマスターする(第5回):キャッシュとローテーションによるハンドラの最適化

この記事では、ハンドラへのフォーマッタ追加、実行サイクルを管理するためのCIntervalWatcherクラスの導入、キャッシュとファイルローテーションによる最適化、さらにパフォーマンステストおよび実用的な使用例を通じて、ログライブラリをさらに改善します。これらの機能強化により、さまざまな開発シナリオに柔軟に対応可能な、効率的でスケーラブルなロギングシステムが実現します。