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

icon

MetaTraderプラットフォームのために作られたExpert Advisorsは、開発者により導入された様々な機能を実行します。自動売買ロボットは1日24時間、通貨をトラックし、取引をコピーし、レポートを送信し、ニュースを分析し、 特別に作成されたグラフィカルインターフェイスを提供することができます。

記事はプログラミングのテクニック、データ処理のための数学的なアイデア、自動売買ロボットの開発と発注についてのヒントを記載します。

新しい記事を追加
最新 | ベスト
preview
オプションを使わないオプション取引(第1回):基礎理論と原資産によるエミュレーション

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

MQL5プログラミング言語を用いて、原資産をベースにしたオプションのエミュレーション手法のバリエーションを解説します。選択したアプローチの長所と短所を、MOEX(モスクワ取引所)のFORTS先物市場およびBybit暗号資産取引所を例に、実際の取引所オプションと比較します。
preview
MQL5入門(第38回):MQL5のAPIとWebRequest関数の習得(XII)

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

MetaTrader 5とBinanceの間に実用的な橋渡しを構築します。WebRequestを使用して30分足のデータ(kline)を取得し、JSONからOHLCおよび時刻データを抽出したうえで、確定済みのローソク足のみを使用して強気の包み足パターンを確認します。その後、クエリ文字列を組み立て、HMAC-SHA256署名を計算し、X-MBX-APIKEYを追加して認証済み注文を送信します。これにより、データ取得から注文執行までを網羅した、分かりやすいエンドツーエンドのEAワークフローを実現できます。
preview
MQL5取引ツール(第15回):Canvas/ja/ぼかし効果、影描画、滑らかなマウスホイールスクロール

MQL5取引ツール(第15回):Canvas/ja/ぼかし効果、影描画、滑らかなマウスホイールスクロール

MQL5 Canvasダッシュボードを高度な視覚効果で強化します。具体的には、フォグオーバーレイ/ja/ため/ja/ぼかしグラデーション、ヘッダー/ja/影描画、そしてより滑らかな線や曲線を実現するアンチエイリアス描画を追加します。また、チャート/ja/ズームスケールに干渉しない滑らかなマウスホイールスクロールもテキストパネルに実装し、機能面でも改良を加えます。
preview
グラフ理論:取引における幅優先探索(BFS)/ja/応用

グラフ理論:取引における幅優先探索(BFS)/ja/応用

幅優先探索(BFS)はレベル順トラバーサルを用い、価格スイングを時間/ja/経過とともに進化する有向グラフとして市場構造をモデル化します。過去/ja/ローソク足またはセッションを階層ごとに分析することで、BFSはより直近/ja/価格挙動を優先しつつ、より長期/ja/市場文脈も反映します。
preview
ダイナミックマルチペアEAの形成(第6回):高頻度銘柄切り替えのための適応型スプレッド感度制御

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

本パートでは、マルチ銘柄におけるリアルタイムのスプレッド条件を継続的に監視し、評価するインテリジェントな実行レイヤーの設計に焦点を当てます。EAは、固定ルールではなくスプレッドの効率性に基づいて取引の有効と無効を切り替えることで、銘柄選択を動的に適応させます。このアプローチにより、高頻度で銘柄を切り替えるマルチペアシステムはコスト効率の高い銘柄を優先できるようになります。
preview
MQL5における取引戦略の自動化(第47回):ヘッジ機能を備えたNick Rypock Trailing Reverse (NRTR)

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

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

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

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

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

MQL5を使用してBinance APIに認証付きリクエストを送信し、アカウント内の全資産の残高情報を取得する方法を解説します。APIキー、サーバー時刻、署名を利用して安全にアカウント情報へアクセスし、そのレスポンスをファイルへ保存して後で活用する方法を学びます。
preview
データサイエンスとML(第48回):Transformerは取引において重要なのか

データサイエンスとML(第48回):Transformerは取引において重要なのか

ChatGPTからGemini、そしてテキスト、画像、動画生成のための数多くのAIモデル/ツールに至るまで、TransformerはAI業界に大きな衝撃を与えてきました。しかし、この技術は金融市場や取引の分野にも応用できるのでしょうか。その可能性を検討してみましょう。
preview
プライスアクション分析ツールキットの開発(第57回):MQL5による市場状態分類モジュールの開発

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

確定済み価格データを用いて価格挙動を解釈するMQL5向けの市場状態分類モジュールを開発および解説します。ボラティリティの収縮および拡大、ならびに構造的一貫性を分析することにより、市場環境をコンプレッション、トランジション、エクスパンション、トレンドとして分類し、プライスアクション分析のための明確な文脈把握の枠組みを提供します。
preview
MQL5取引ツール(第13回):グラフパネルと統計パネルを備えたCCanvasベースの価格ダッシュボードの実装

MQL5取引ツール(第13回):グラフパネルと統計パネルを備えたCCanvasベースの価格ダッシュボードの実装

MQL5においてCCanvasクラスを使用してインタラクティブなパネルを構築し、最近の価格グラフや口座統計を可視化する「CCanvasベースの価格ダッシュボード」を開発します。本システムは、背景画像、フォグ効果、グラデーション塗りつぶしにも対応しています。さらに、ドラッグ&リサイズ機能をマウスイベント処理で実装し、テーマ切り替え(ダーク/ライトモード)による動的な色変更、最小化/最大化コントロールも備え、チャート領域を効率的に管理できる設計となっています。
preview
MQL5におけるイベント駆動型アーキテクチャ:エキスパートアドバイザーを本格的なトレードシステムに進化させる方法

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

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

Python-MetaTrader 5ストラテジーテスター(第1回):取引シミュレーター

MetaTrader5のPythonモジュールは、Pythonを使ってMetaTrader5アプリで取引を発注するための便利な手段を提供しています。しかし、このモジュールには大きな問題があります。それは、MetaTrader5アプリに存在するストラテジーテスター機能が備わっていないことです。本連載では、Python環境で取引戦略をバックテストするためのフレームワークを構築していきます。
preview
MetaTrader 5でL1トレンドフィルタリングを適用する

MetaTrader 5でL1トレンドフィルタリングを適用する

MetaTrader 5におけるL1トレンドフィルタリングの実践的な応用について、その数理的基礎とMQL5プログラムでの使用方法の両面から解説しています。L1フィルタは、価格ノイズを低減しつつ市場構造の本質を保持する、区分線形トレンドの抽出を可能にします。本研究では、パラメータスケーリング、トレンド推定の挙動、および本手法のアルゴリズム取引戦略への統合について分析しています。実験結果は、L1トレンドフィルタリングがシグナルの安定性、取引タイミング、ならびにトレードシステム全体のロバスト性を向上させることを示しています。
preview
価格変動:数理モデルとテクニカル分析

価格変動:数理モデルとテクニカル分析

為替通貨ペアの価格変動を予測することは、トレーディング成功における重要な要素です。本記事では、さまざまな価格変動モデルを検討し、それぞれの利点と欠点を分析するとともに、実際のトレード戦略への応用可能性を探ります。また、隠れたパターンを特定し、予測精度を向上させるためのアプローチについても考察します。
preview
多通貨エキスパートアドバイザーの開発(第26回):取引商品の情報提供

多通貨エキスパートアドバイザーの開発(第26回):取引商品の情報提供

多通貨EAの開発へと進む前に、まずはこれまで構築してきたライブラリを用いて、新しいプロジェクトを作成する段階へ移行してみましょう。この例では、ソースコードの管理方法をどのように整理するのが最も適切か、そしてMetaQuotesの新しいコードリポジトリを活用することで、どのような利点が得られるのかを示していきます。
preview
取引におけるニューラルネットワーク:周波数領域における異常検出(CATCH)

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

CATCHフレームワークは、フーリエ変換と周波数パッチングを組み合わせることで、従来手法では捉えきれない市場異常を高精度に検出します。本記事では、このアプローチが金融データに潜む隠れたパターンをどのように明らかにするのかを解説します。
preview
取引におけるニューラルネットワーク:多変量時系列のデュアルクラスタリング(最終回)

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

DUETフレームワークの著者らによって提案されたアプローチの実装を引き続き進めます。本フレームワークは、時間方向とチャネル方向のクラスタリングを組み合わせることで、時系列データに潜在するパターンを抽出する革新的な手法を提供します。
preview
取引におけるニューラルネットワーク:市場異常の適応型検出(最終回)

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

時系列データにおける異常検知のための高度なツールであるDADAフレームワークの基盤となるアルゴリズムの構築を続けます。このアプローチにより、ランダムな変動と重要な逸脱を効果的に区別することができます。従来の手法とは異なり、DADAはさまざまなデータタイプに動的に適応し、それぞれのケースにおいて最適な圧縮レベルを選択します。
preview
取引におけるニューラルネットワーク:市場異常の適応型検出(DADA)

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

時系列データにおける異常検知のための革新的手法であるDADAフレームワークについてご紹介します。本手法は、ランダムな変動と疑わしい逸脱を区別することを可能にします。従来の方法とは異なり、DADAは柔軟性を持っており、さまざまな種類のデータに適応します。固定された圧縮レベルを用いるのではなく、複数の選択肢の中から各ケースに最も適したものを選択する点が特徴です。
preview
取引におけるニューラルネットワーク:多変量時系列のデュアルクラスタリング(DUET)

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

DUETフレームワークは、時間方向およびチャネル方向のクラスタリングを組み合わせることで、時系列データに潜むパターンを抽出する新しいアプローチを提供します。時間的な変化への適応とノイズの低減を両立し、予測精度の向上を目指します。
preview
取引におけるニューラルネットワーク:カオス理論を時系列予測に統合する(最終回)

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

引き続き、Attraosフレームワークの著者らが提案した手法を取引モデルに統合します。このフレームワークは、時系列予測問題を多次元カオス動的システムの投影として解釈し、カオス理論の概念を用いて解決するものであることを改めてお伝えしておきます。
preview
取引におけるニューラルネットワーク:カオス理論を時系列予測に統合する(Attraos)

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

Attraosフレームワークは、カオス理論を長期時系列予測に統合し、それらを多次元混沌力学系の射影として扱います。アトラクター不変性を活用し、本モデルは位相空間再構成および動的多解像度メモリを用いることで、過去の構造を保持します。
preview
MQL5入門(第36回):MQL5のAPIとWebRequest関数の習得(X)

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

MQL5におけるHMAC-SHA256およびAPI署名の基本概念を紹介し、メッセージと秘密鍵を組み合わせることでリクエストを安全に認証する方法を説明します。これは、機密データを公開することなくAPI呼び出しに署名するための基盤となります。
preview
MQL5取引ツール(第12回):相関行列ダッシュボードのインタラクティブ機能の強化

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

MQL5における相関行列ダッシュボードを強化し、パネルのドラッグ操作、最小化と最大化、ボタンや時間足に対するホバー効果、マウスイベント処理などを追加することで、ユーザー体験の向上を図ります。さらに、相関の強さに基づく銘柄の並び替え(昇順、降順)、相関値表示とp値表示の切り替え、ライトテーマとダークテーマの切り替え、動的なカラー更新も実装します。
preview
プライスアクション分析ツールキットの開発(第56回):CPIを用いたセッションの受容と拒否の解読

プライスアクション分析ツールキットの開発(第56回):CPIを用いたセッションの受容と拒否の解読

時間で区切られた市場セッションとCandle Pressure Index (CPI)を組み合わせ、確定足データと明確に定義されたルールに基づき、セッション境界での受容と拒否の挙動を分類するセッションに基づいた分析手法を提示します。
preview
MQL5取引ツール(第11回):ヒートマップおよび標準モード対応相関行列ダッシュボード(ピアソン、スピアマン、ケンドール)

MQL5取引ツール(第11回):ヒートマップおよび標準モード対応相関行列ダッシュボード(ピアソン、スピアマン、ケンドール)

MQL5で相関行列ダッシュボードを構築し、ピアソン、スピアマン、ケンドールの各手法を用いて、指定した時間足およびバー数に基づいて資産間の相関関係を算出します。色の閾値と星印によってp値の有意性を示す標準モードに加え、相関の強さをグラデーションで可視化するヒートマップモードを実装します。さらに、時間足選択ツール、モード切り替え、動的な凡例を備えたインタラクティブなユーザーインターフェースを搭載しており、銘柄間の依存関係を効率的に分析できます。
preview
MQL5入門(第35回):MQL5のAPIとWebRequest関数の習得(IX)

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

MetaTrader 5でユーザー操作を検出する方法、AI APIへリクエストを送信する方法、応答を抽出する方法を学び、パネルにスクロールテキストを実装します。
preview
Python-MetaTrader 5ストラテジーテスター(第3回):MetaTrader 5風の取引操作 — 処理と管理

Python-MetaTrader 5ストラテジーテスター(第3回):MetaTrader 5風の取引操作 — 処理と管理

シミュレーター内で注文の開始、終了、変更などの取引操作を処理するための、Python-MetaTrader5と同様の方法を紹介します。シミュレーションがMT5と同様の動作となるように、取引リクエストに対して厳密な検証処理が実装されており、銘柄取引パラメータや一般的なブローカーの制限事項が考慮されています。
preview
プライスアクション分析ツールキットの開発(第54回):EMAと平滑化された価格変動によるトレンドのフィルタリング

プライスアクション分析ツールキットの開発(第54回):EMAと平滑化された価格変動によるトレンドのフィルタリング

取引の明確さとタイミングを向上させるために、平均足による平滑化とEMA20の高値および安値のバンド、さらにEMA50のトレンドフィルターを組み合わせた手法を解説します。これらのツールにより、トレーダーは真のモメンタムを見極め、ノイズを排除し、ボラティリティの高い局面やトレンド相場により適切に対応できます。
preview
トレンド強度の最適化:方向と強さに沿った取引戦略

トレンド強度の最適化:方向と強さに沿った取引戦略

短期および長期の分析を組み合わせ、全体的なトレンドとその強さに基づいて取引判断および執行をおこなう、トレンドフォロー型のエキスパートアドバイザー(EA)です。本記事では、忍耐力と規律を備え、集中力を維持しながら、トレンドの強さと方向に一致する場合にのみ取引を実行し、特にトレンドに逆らう取引や頻繁なバイアス変更を避け、テイクプロフィットに到達するまでポジションを保持できるトレーダー向けに設計されたEAについて詳しく解説します。
preview
初心者からエキスパートへ:市場の不規則性への対処

初心者からエキスパートへ:市場の不規則性への対処

市場のルールは常に変化しており、かつて有効だった原則も、時間の経過とともにその効力を徐々に失っていきます。過去に機能していたものが、現在では一貫して機能しなくなることがあります。本記事では、このような市場の不確実性に対応するために、「確率レンジ(ゾーン)」という考え方に焦点を当てます。さらに、MQL5を用いて、特に値動きが不安定な相場環境でも機能するアルゴリズムの構築方法を解説していきます。ディスカッションにぜひご参加ください。
preview
MQL5入門(第34回):MQL5のAPIとWebRequest関数の習得(VIII)

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

MetaTrader 5でインタラクティブなコントロールパネルを作成する方法を学びます。入力フィールド、アクションボタン、テキストを表示するためのラベルを追加する基本について説明します。プロジェクトベースのアプローチを用いて、ユーザーがメッセージを入力し、最終的にAPIからのサーバー応答を表示するパネルを設定する方法を学びます。
preview
MQL5入門(第33回):MQL5のAPIとWebRequest関数の習得(VII)

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

本記事では、MQL5を使用してGoogle Generative AI APIをMetaTrader 5に統合する方法を解説します。APIリクエストの構築、サーバー応答の処理、AI生成コンテンツの抽出、レート制限の管理、そして結果をテキストファイルに保存して簡単に参照できるようにする方法を学びます。
preview
ラリー・ウィリアムズの『市場の秘密』(第5回):MQL5におけるボラティリティブレイクアウト戦略の自動化

ラリー・ウィリアムズの『市場の秘密』(第5回):MQL5におけるボラティリティブレイクアウト戦略の自動化

ラリー・ウィリアムズのボラティリティブレイクアウト戦略をMQL5で自動化する方法を、実践的なステップで解説します。日次のレンジ拡張の計算方法、買いと売りレベルの導出、値幅に基づくストップロスとリスクリワードに基づく利益目標によるリスク管理、そしてMetaTrader 5で動作するプロフェッショナルなエキスパートアドバイザー(EA)の構造まで学ぶことができます。これは、ラリー・ウィリアムズの市場概念を完全にテスト可能かつ実運用できる自動売買システムへと変換したいトレーダーや開発者向けに設計されています。
preview
ラリー・ウィリアムズの『市場の秘密』(第4回):MQL5における短期的スイングハイとスイングローの自動化

ラリー・ウィリアムズの『市場の秘密』(第4回):MQL5における短期的スイングハイとスイングローの自動化

MQL5を使って、ラリー・ウィリアムズの短期スイングパターンの自動化を習得していきます。このガイドでは、非ランダムな市場構造を活用する、完全に設定可能なエキスパートアドバイザー(EA)を開発します。堅牢なリスク管理と柔軟なエグジットロジックの統合方法も解説し、システマティックな戦略開発とバックテストのための確かな基盤を提供します。
preview
MQL5でのAI搭載取引システムの構築(第8回):アニメーション、タイミング指標、応答管理ツールによるUIの改善

MQL5でのAI搭載取引システムの構築(第8回):アニメーション、タイミング指標、応答管理ツールによるUIの改善

本記事では、MQL5におけるAI駆動取引システムを、ユーザーインターフェースの改善によって強化します。具体的には、リクエストの準備フェーズおよび思考フェーズにおけるローディングアニメーションの追加や、レスポンスに表示される処理時間(タイミングメトリクス)による応答の向上などを実装します。さらに、AIへの再クエリを行うための再生成ボタンや、最新の応答をファイルとして保存できるエクスポート機能などのレスポンス管理ツールを追加し、操作性を向上させます。
preview
データサイエンスとML(第47回):DeepARモデルによるPythonでの市場予測

データサイエンスとML(第47回):DeepARモデルによるPythonでの市場予測

DeepARと呼ばれる時系列予測のための優れたモデルを用いて、市場の予測を試みます。DeepARは、ARIMA(自己回帰和分移動平均)やVAR(ベクトル自己回帰)のようなモデルに見られる自己回帰的な性質とディープニューラルネットワークを組み合わせたモデルです。
preview
ラリー・ウィリアムズの『市場の秘密』(第2回):市場構造取引システムの自動化

ラリー・ウィリアムズの『市場の秘密』(第2回):市場構造取引システムの自動化

MQL5でラリー・ウィリアムズの市場構造の概念を自動化する方法を学びます。スイングポイントを読み取り、売買シグナルを生成し、リスクを管理し、動的なトレーリングストップ戦略を適用する完全なエキスパートアドバイザー(EA)を構築します。
preview
MQL5入門(第31回):MQL5のAPIとWebRequest関数の習得(V)

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

WebRequestと外部API呼び出しの使い方を学び、最新のローソク足データを取得し、各値を使用可能な型へ変換し、テーブル形式で整理して保存する方法を解説します。このステップは、取得したデータをローソク足形式で可視化するインジケーターを構築するための基礎となります。