MQL5言語での自動売買ロボットのプログラミング例に関する記事

icon

エキスパートアドバイザーはプログラミングの「頂点」であり、それぞれの自動取引の開発者の求めたゴールです。このセクションの記事を読んで、ご自分の自動売買ロボットを作成してください。記述された手順に従うことにより、どのように自動取引システムを作成し、デバッグし、テストするかを学びます。

記事はMQL5プログラミングを教えるだけでなく、どのようにトレーディングアイデアとテクニックを導入するかを示します。どのようにトレーリングストップをプログラムするか、どのように資金管理を適用するか、どのようにインディケータ値を取得するかなど、さらに多くのことを学べます。

新しい記事を追加
最新 | ベスト
preview
取引におけるニューラルネットワーク:概念強化を備えたマルチエージェントシステム(FinCon)

取引におけるニューラルネットワーク:概念強化を備えたマルチエージェントシステム(FinCon)

FinConフレームワークは、大規模言語モデル(LLM)をベースにしたマルチエージェントシステムです。概念的言語強化を活用して意思決定とリスク管理を改善し、さまざまな金融タスクで効果的に機能するよう設計されています。
preview
取引アルゴリズムにおけるゲーム理論的アプローチの活用

取引アルゴリズムにおけるゲーム理論的アプローチの活用

DQN(Deep Q-Network)ベースの機械学習を用いた多次元的な因果推論に基づく自己学習型トレーディングEAを構築します。このEAは7つの通貨ペアを同時に取引し、異なる通貨ペア間のエージェントが相互に情報を交換します。
preview
トレンドの基準:結論

トレンドの基準:結論

本記事では、実務におけるいくつかのトレンド判定基準の適用について検討します。また、それらの基準を基にしていくつかの新しい判定基準の開発も試みます。特に、市場データ解析および取引への適用効率に焦点を当てます。
preview
MQL5標準ライブラリエクスプローラー(第7回):CCanvasによるインタラクティブなポジションラベル表示

MQL5標準ライブラリエクスプローラー(第7回):CCanvasによるインタラクティブなポジションラベル表示

MQL5標準ライブラリに含まれるCCanvasを使用して、ポジション情報を可視化するツールの構築方法を解説します。このプロジェクトを通して、標準ライブラリの各種モジュールを扱うスキルを高めるとともに、ライブチャート上で保有ポジションを視覚的に確認・操作できる実用的なツールを作成します。ぜひ最後までお読みいただき、議論にもご参加ください。
preview
取引におけるニューラルネットワーク:暗号通貨市場向けメモリ拡張コンテキスト認識学習(最終回)

取引におけるニューラルネットワーク:暗号通貨市場向けメモリ拡張コンテキスト認識学習(最終回)

MacroHFTフレームワークは、高頻度暗号資産取引(HFT)のために、文脈認識型強化学習とメモリ機構を用いて動的な市場環境に適応します。本記事の最後では、実装した手法を実際の過去データで検証し、その有効性を評価します。
preview
取引におけるニューラルネットワーク:市場異常の適応型検出(最終回)

取引におけるニューラルネットワーク:市場異常の適応型検出(最終回)

時系列データにおける異常検知のための高度なツールであるDADAフレームワークの基盤となるアルゴリズムの構築を続けます。このアプローチにより、ランダムな変動と重要な逸脱を効果的に区別することができます。従来の手法とは異なり、DADAはさまざまなデータタイプに動的に適応し、それぞれのケースにおいて最適な圧縮レベルを選択します。
preview
初心者からエキスパートへ:流動性ゾーンインジケータの開発

初心者からエキスパートへ:流動性ゾーンインジケータの開発

流動性ゾーンの広がりとブレイクアウトレンジの大きさは、リテストが発生する確率に大きな影響を与える重要な変数です。本ディスカッションでは、これらの比率を組み込んだインジケータを開発するための完全なプロセスについて解説します。
preview
外国為替市場向けCAPMモデルインジケータ

外国為替市場向けCAPMモデルインジケータ

MQL5における外国為替市場向け古典的CAPMモデルの適用を扱います。本インジケータは、ヒストリカルボラティリティに基づいて期待リターンとリスクプレミアムを算出します。インジケータ値は相場の天井圏や底値圏で上昇し、資産価格決定の基本原理を反映します。リスクリワード比の変化をリアルタイムで考慮しながら、逆張り戦略および順張り戦略に活用できます。本記事では、その数学的背景と技術的な実装方法について詳しく解説します。
preview
MQL5取引ツール(第12回):相関行列ダッシュボードのインタラクティブ機能の強化

MQL5取引ツール(第12回):相関行列ダッシュボードのインタラクティブ機能の強化

MQL5における相関行列ダッシュボードを強化し、パネルのドラッグ操作、最小化と最大化、ボタンや時間足に対するホバー効果、マウスイベント処理などを追加することで、ユーザー体験の向上を図ります。さらに、相関の強さに基づく銘柄の並び替え(昇順、降順)、相関値表示とp値表示の切り替え、ライトテーマとダークテーマの切り替え、動的なカラー更新も実装します。
preview
オプションを使わないオプション取引(第1回):基礎理論と原資産によるエミュレーション

オプションを使わないオプション取引(第1回):基礎理論と原資産によるエミュレーション

MQL5プログラミング言語を用いて、原資産をベースにしたオプションのエミュレーション手法のバリエーションを解説します。選択したアプローチの長所と短所を、MOEX(モスクワ取引所)のFORTS先物市場およびBybit暗号資産取引所を例に、実際の取引所オプションと比較します。
preview
ダイナミックマルチペアEAの形成(第6回):高頻度銘柄切り替えのための適応型スプレッド感度制御

ダイナミックマルチペアEAの形成(第6回):高頻度銘柄切り替えのための適応型スプレッド感度制御

本パートでは、マルチ銘柄におけるリアルタイムのスプレッド条件を継続的に監視し、評価するインテリジェントな実行レイヤーの設計に焦点を当てます。EAは、固定ルールではなくスプレッドの効率性に基づいて取引の有効と無効を切り替えることで、銘柄選択を動的に適応させます。このアプローチにより、高頻度で銘柄を切り替えるマルチペアシステムはコスト効率の高い銘柄を優先できるようになります。
preview
初心者からエキスパートへ: トレンドフィルタによる流動性戦略の拡張

初心者からエキスパートへ: トレンドフィルタによる流動性戦略の拡張

流動性ベースの戦略にシンプルなトレンド条件を追加します。具体的には、EMA(50)の方向に沿って流動性ゾーンを取引するというフィルタを導入します。記事では、不要なセットアップを除外するためのルールを説明し、再利用可能なTrendFilter.mqhクラスと、MQL5でのEA統合方法を紹介します。また、フィルタなしの基本戦略と、フィルタを適用した戦略のテスト結果を比較します。読者は、明確な方向性の判断基準、逆トレンド局面での過剰取引の抑制方法、そしてすぐに利用できるソースファイルを得ることができます。
preview
MQL5取引ツール(第17回):ベクトルベースの角丸長方形と三角形を探る

MQL5取引ツール(第17回):ベクトルベースの角丸長方形と三角形を探る

MQL5のcanvasを使用して、ベクトルベースの手法で角丸長方形と三角形を描画する方法を解説します。さらに、アンチエイリアス処理を実現するためにスーパーサンプリングを利用します。実装では、スキャンライン塗りつぶし、円弧や接線に対する幾何学的事前計算、そして境界線描画を組み合わせることで、滑らかでカスタマイズ可能な図形を作成します。このアプローチは、今後の取引ツールにおけるモダンなUI要素を構築するための基盤となり、サイズ、角の半径、境界線、透明度などを入力で柔軟に設定できる設計になっています。
preview
取引におけるニューラルネットワーク:カオス理論を時系列予測に統合する(Attraos)

取引におけるニューラルネットワーク:カオス理論を時系列予測に統合する(Attraos)

Attraosフレームワークは、カオス理論を長期時系列予測に統合し、それらを多次元混沌力学系の射影として扱います。アトラクター不変性を活用し、本モデルは位相空間再構成および動的多解像度メモリを用いることで、過去の構造を保持します。
preview
取引におけるニューラルネットワーク:市場異常の適応型検出(DADA)

取引におけるニューラルネットワーク:市場異常の適応型検出(DADA)

時系列データにおける異常検知のための革新的手法であるDADAフレームワークについてご紹介します。本手法は、ランダムな変動と疑わしい逸脱を区別することを可能にします。従来の方法とは異なり、DADAは柔軟性を持っており、さまざまな種類のデータに適応します。固定された圧縮レベルを用いるのではなく、複数の選択肢の中から各ケースに最も適したものを選択する点が特徴です。
preview
MQL5標準ライブラリエクスプローラー(第9回):ALGLIBによる多発するMAクロスオーバーシグナルのフィルタ処理

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

横ばいの価格変動中、トレーダーは複数の移動平均クロスオーバーによって過剰なシグナルに直面します。今回は、ALGLIBがどのように生の価格データを前処理し、フィルタ処理済みのクロスオーバー系列を生成するのかについて説明します。また、これらのレイヤーは発生時にアラートを生成することもできます。数学ライブラリをMQL5プログラムでどう活用できるのかを一緒に見ていきましょう。
preview
取引におけるニューラルネットワーク:周波数領域における異常検出(CATCH)

取引におけるニューラルネットワーク:周波数領域における異常検出(CATCH)

CATCHフレームワークは、フーリエ変換と周波数パッチングを組み合わせることで、従来手法では捉えきれない市場異常を高精度に検出します。本記事では、このアプローチが金融データに潜む隠れたパターンをどのように明らかにするのかを解説します。
preview
MQL5におけるイベント駆動型アーキテクチャ:エキスパートアドバイザーを本格的なトレードシステムに進化させる方法

MQL5におけるイベント駆動型アーキテクチャ:エキスパートアドバイザーを本格的なトレードシステムに進化させる方法

MQL5におけるイベント駆動アーキテクチャについて解説し、モノリシックなOnTickモデルから分散処理への移行を取り上げます。定義済みイベントとカスタムイベント、サービス、およびプログラム間のメッセージングについて説明するとともに、アーキテクチャ上でよく見られる典型的な誤りについても考察します。また、実践的な例を通じて、インジケータとEAの連携をどのように構成すれば、負荷を軽減し、可読性を向上させ、保守を容易にできるのかを示します。
preview
MQL5取引ツール(第14回):アンチエイリアシングと角丸スクロールバーを備えたピクセルパーフェクトなスクロール対応テキストキャンバス

MQL5取引ツール(第14回):アンチエイリアシングと角丸スクロールバーを備えたピクセルパーフェクトなスクロール対応テキストキャンバス

本記事では、MQL5のCCanvasベース価格ダッシュボードを拡張し、利用ガイドを表示するためのピクセルパーフェクトなスクロール可能テキストパネルを追加します。これにより、ネイティブのスクロール機能の制限を回避しつつ、カスタムアンチエイリアス処理と角丸デザインのスクロールバーを実現します。テキストパネルは、不透明度を設定可能なテーマ対応背景をサポートし、説明文や連絡先情報などのコンテンツを動的に改行表示できます。また、上下ボタン、スライダーのドラッグ操作、本文領域内でのマウスホイール操作によるインタラクティブなナビゲーションにも対応しています。
preview
ルーチン作業なしのアルゴリズム取引:MetaTrader 5におけるSQLiteを用いた高速取引分析

ルーチン作業なしのアルゴリズム取引:MetaTrader 5におけるSQLiteを用いた高速取引分析

本記事では、MQL5におけるSQLiteを用いた取引ジャーナル管理のための「最小実用構成」を紹介します。内容には、取引、シグナル、イベント用テーブル構造、インデックス設計、プリペアドステートメントによる高速かつ安全なデータ記録、さらに標準的な分析用SQLクエリが含まれます。また、MetaTrader 5の統計ダッシュボードとの統合方法や、MetaEditor上でデータベースを操作する手法についても解説します。このアプローチにより、取引ジャーナルの自動化、計算処理の高速化、そしてEAコードを複雑化させることなく高度な分析を実現できます。
preview
取引におけるニューラルネットワーク:多変量時系列のデュアルクラスタリング(DUET)

取引におけるニューラルネットワーク:多変量時系列のデュアルクラスタリング(DUET)

DUETフレームワークは、時間方向およびチャネル方向のクラスタリングを組み合わせることで、時系列データに潜むパターンを抽出する新しいアプローチを提供します。時間的な変化への適応とノイズの低減を両立し、予測精度の向上を目指します。
preview
MQL5取引ツール(第22回):二項分布のヒストグラムと確率質量関数(PMF)の描画

MQL5取引ツール(第22回):二項分布のヒストグラムと確率質量関数(PMF)の描画

シミュレーション結果のヒストグラムと理論的な確率質量関数(PMF)を組み合わせた、二項分布を可視化するインタラクティブなMQL5プロットを開発します。本ツールでは、平均、標準偏差、歪度、尖度、パーセンタイル、信頼区間を実装し、さらに設定可能なテーマやラベル表示にも対応しています。また、ドラッグ操作、サイズ変更、リアルタイムでのパラメータ変更をサポートします。このツールを使用することで、トレード戦略の検証時に、期待される勝ち回数、起こり得るドローダウンの範囲、信頼区間を評価できます。
preview
KnitPkgを用いたMQL5向けパッケージベース開発手法

KnitPkgを用いたMQL5向けパッケージベース開発手法

MetaTrader向けにMQLを用いた高い信頼性と生産性を備えた開発を実現するため、MQL5/MQL4向けのプロジェクトマネージャであるKnitPkgを利用した、再利用可能な「パッケージ」を中心とする開発手法を紹介します。パッケージは、他のパッケージを構成する土台として利用できるだけでなく、EAやインジケータなど、MetaTraderプラットフォーム上で直接動作する最終成果物の基盤としても活用できます。
preview
MQL5標準ライブラリエクスプローラー(第6回):生成されたエキスパートアドバイザーの最適化

MQL5標準ライブラリエクスプローラー(第6回):生成されたエキスパートアドバイザーの最適化

前回開発したマルチシグナルエキスパートアドバイザーを引き続き取り上げ、利用可能な最適化手法の検討と適用をおこないます。その目的は、過去データに基づく体系的な最適化を通じて、EAの取引パフォーマンスを有意に向上させることが可能かどうかを検証することです。
preview
取引におけるニューラルネットワーク:多変量時系列のデュアルクラスタリング(最終回)

取引におけるニューラルネットワーク:多変量時系列のデュアルクラスタリング(最終回)

DUETフレームワークの著者らによって提案されたアプローチの実装を引き続き進めます。本フレームワークは、時間方向とチャネル方向のクラスタリングを組み合わせることで、時系列データに潜在するパターンを抽出する革新的な手法を提供します。
preview
MQL5入門(第37回):MQL5のAPIとWebRequest関数の習得(XI)

MQL5入門(第37回):MQL5のAPIとWebRequest関数の習得(XI)

MQL5を使用してBinance APIに認証付きリクエストを送信し、アカウント内の全資産の残高情報を取得する方法を解説します。APIキー、サーバー時刻、署名を利用して安全にアカウント情報へアクセスし、そのレスポンスをファイルへ保存して後で活用する方法を学びます。
preview
取引におけるニューラルネットワーク:クロスドメイン時系列予測フレームワーク「TimeFound」

取引におけるニューラルネットワーク:クロスドメイン時系列予測フレームワーク「TimeFound」

TimeFoundのインテリジェントモデルの中核を段階的に構築し、実世界の時系列予測タスクに適用していきます。 MQL5におけるニューラルネットワークのパッチ化アルゴリズムの実践的な実装に興味がある方にとって、うってつけの記事です。
preview
ラリー・ウィリアムズの『市場の秘密』(第15回):相場環境を用いた「隠れスマッシュデー」反転戦略

ラリー・ウィリアムズの『市場の秘密』(第15回):相場環境を用いた「隠れスマッシュデー」反転戦略

ラリー・ウィリアムズの「隠れスマッシュデー」の反転を自動化するMQL5エキスパートアドバイザー(EA)を構築します。カスタムインジケータから確定済みのシグナルを読み取り、コンテキストフィルタ(Supertrendの方向一致および任意の取引日ルール)を適用します。また、スマッシュバーの構造またはATRを基準としたストップロスモデル、固定またはリスクベースのポジションサイズによってリスクを管理します。その結果、テストおよび拡張に対応した、再現可能なフレームワークを構築できます。
preview
PDアレイを使いこなす:PDアレイ内のインバランスを活用したトレードの最適化

PDアレイを使いこなす:PDアレイ内のインバランスを活用したトレードの最適化

PDアレイ(PD Arrays)内で発生するインバランスから生じるトレードセットアップを、どのように整理・定義し、活用すべきかを明確に解説することを目的とした、特化型のトレンドフォロー型EAに関する記事です。本記事では、PDアレイおよびインバランスを自身のトレードにおけるエントリー条件やトレード判断基準として最適化し、活用したいと考えるトレーダー向けに設計されたEAについて詳しく解説します。また、高値圏(Premium Array)および安値圏(Discount Array)を正しく判定し、それぞれが適切な相場環境で発生した際に、どのように検証し活用するべきかについても説明します。
preview
MQL5取引ツールのアクセシビリティ課題を克服する(第2回):Pythonのテキスト読み上げエンジンでEAを音声対応にする

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

テキスト読み上げ(TTS)技術を使用し、PythonとMQL5を連携させてエキスパートアドバイザー(EA)を音声対応にする方法について説明します。この記事を読み終える頃には、動的な市場情報を音声で伝えるEAの実装例を手にすることができます。TTSの活用方法、WebRequest関数の使い方、そしてPythonライブラリがMQL5言語とどのように統合され、実際に音声を活用できるトレードツールを構築できるかを理解できます。
preview
ダイナミックマルチペアEAの形成(第7回):リアルタイムトレードフィルタリングのためのクロスペア相関マッピング

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

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

取引におけるニューラルネットワーク:適応型モード分解を用いた時系列予測(最終回)

アルゴリズム取引におけるACEFormerフレームワークの適応およびMQL5を用いた実用的な実装について説明します。特に、主要なアーキテクチャ設計の判断、学習プロセスの特徴、そして実データを用いたモデル検証結果について紹介します。
preview
MQL5取引ツール(第16回):改良版スーパーサンプリング・アンチエイリアシング(SSAA)と高解像度レンダリング

MQL5取引ツール(第16回):改良版スーパーサンプリング・アンチエイリアシング(SSAA)と高解像度レンダリング

MQL5キャンバスダッシュボードにスーパーサンプリングによるアンチエイリアシングと高解像度レンダリングを追加し、最終的な表示サイズへダウンサンプリングする手法を実装します。また、角丸矩形の塗りつぶしと枠線、角丸三角形の矢印、さらに統計パネルおよびテキストパネル向けのテーマ対応カスタムスクロールバーを実装します。これらのツールにより、MetaTrader 5上で、より滑らかで視認性の高いUIコンポーネントを構築できるようになります。
preview
MQL5コミュニティOAuthを利用した外部アプリケーション連携

MQL5コミュニティOAuthを利用した外部アプリケーション連携

OAuth 2.0の認可コードフローを使用してAndroidアプリに[Sign in with MQL5]を追加する方法を学びます。このガイドでは、アプリ登録、エンドポイント、リダイレクトURI、カスタムタブ、ディープリンク処理、およびHTTPS経由で認可コードをアクセストークンに交換するPHPバックエンドについて説明します。実際のMQL5ユーザーを認証し、ランクやレピュテーションなどのプロファイルデータにアクセスできるようになります。
preview
量子リザバコンピューティング(QRC)回路の実装

量子リザバコンピューティング(QRC)回路の実装

量子コンピューティングを利用した、取引における機械学習への革新的なアプローチです。本記事では、市場の動きをリアルタイムで予測するため、継続的な再学習を行う適応型QRCシステムの実装例について説明します。
preview
ラリー・ウィリアムズの『市場の秘密』(第13回):隠れスマッシュデー反転パターンの自動化

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

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

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

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

MQL5経済指標カレンダーを用いたニュースフィルタリング(第2回):ニュースリリース中に管理ポジションを停止する

第2回では、ニュースフィルタを拡張し、ニュースイベント中に既存のポジションを保護します。取引を決済する代わりに、ストップロス(SL)およびテイクプロフィット(TP)を一時的に解除し、それらの値をメモリ上へ安全に保存します。ニュースウィンドウが終了すると、ストップは決定論的に復元されます。この際、価格がすでに元の水準を超えている場合には、その値を調整するとともに、ブローカーの最小ストップ距離ルールを遵守します。その結果、エントリーロジックへ干渉せず取引構造の整合性を維持し、ボラティリティの高い状況でもEAが取引を制御できる仕組みを実現します。
preview
取引におけるニューラルネットワーク:高精度分類のための効果的な特徴量抽出(最終章)

取引におけるニューラルネットワーク:高精度分類のための効果的な特徴量抽出(最終章)

Mantisフレームワークは、複雑な時系列を情報量の豊富なトークンへと変換し、リアルタイムで動作可能なインテリジェントな取引エージェントのための信頼性の高い基盤として機能します。
preview
MQL5取引ツールのアクセシビリティ課題を克服する(第1回):MQL5インジケータに状況対応型音声アラートを追加する方法

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

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