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

icon

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

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

新しい記事を追加
最新 | ベスト
preview
多通貨エキスパートアドバイザーの開発(第10回):文字列からオブジェクトを作成する

多通貨エキスパートアドバイザーの開発(第10回):文字列からオブジェクトを作成する

エキスパートアドバイザー(EA)の開発計画は複数の段階で構成されており、中間結果はデータベースに保存されます。しかし、これらの結果はオブジェクトとしてではなく、文字列や数値としてのみ抽出できます。したがって、データベースから読み込んだ文字列を基に、EAで目的のオブジェクトを再構築する方法が必要です。
preview
従来の機械学習手法を使用した為替レートの予測:ロジットモデルとプロビットモデル

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

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

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

チャート上に表示された分析済みのメトリックを見るだけにとどまらず、Telegramとの統合によってブロードキャストを拡張するという、より広い視点へと移行しています。この機能強化により、Telegramアプリを通じて、重要な結果がモバイルデバイスに直接配信されるようになります。この記事では、この新たな取り組みを一緒に探っていきましょう。
preview
どんな市場でも優位性を得る方法(第3回):VISA消費指数

どんな市場でも優位性を得る方法(第3回):VISA消費指数

ビッグデータの世界では、取引戦略を向上させる可能性を秘めた数百万もの代替データセットが存在します。この連載では、最も有益な公共データセットを特定するお手伝いをします。
preview
周期と取引

周期と取引

この記事は、取引における周期の活用についてです。周期モデルに基づいた取引戦略の構築を考えてみます。
preview
ボラティリティベースのブレイクアウトシステムの開発

ボラティリティベースのブレイクアウトシステムの開発

ボラティリティベースのブレイクアウトシステムは、市場のレンジを特定したうえで、ATRなどのボラティリティ指標によるフィルタを通過した場合に、価格がそのレンジを上方または下方へブレイクしたタイミングでエントリーする手法です。このアプローチにより、強い方向性を伴う値動きを捉えやすくなります。
preview
多通貨エキスパートアドバイザーの開発(第16回):異なるクォート履歴がテスト結果に与える影響

多通貨エキスパートアドバイザーの開発(第16回):異なるクォート履歴がテスト結果に与える影響

開発中のエキスパートアドバイザー(EA)は、さまざまなブローカーとの取引で良好な結果を示すことが期待されていますが、現時点では、MetaQuotesデモ口座からのクォートを使用してテストを実行しています。テストや最適化に使用したクォートとは異なる価格データを持つ取引口座でも、EAが正しく機能する準備が整っているのかを確認してみましょう。
preview
古典的な戦略を再構築する(第6回):多時間枠分析

古典的な戦略を再構築する(第6回):多時間枠分析

この連載では、古典的な戦略を再検討し、AIを使って改善できるかどうかを検証します。本日の記事では、人気の高い多時間枠分析という戦略を検証し、AIによって戦略が強化されるかどうかを判断します。
preview
取引におけるニューラルネットワーク:相対エンコーディング対応Transformer

取引におけるニューラルネットワーク:相対エンコーディング対応Transformer

自己教師あり学習は、ラベル付けされていない大量のデータを分析する効果的な手段となり得ます。この手法の効率性は、モデルが金融市場特有の特徴に適応することで実現され、従来手法の有効性も向上します。本記事では、入力間の相対的な依存関係や関係性を考慮した新しいAttention(注意)機構を紹介します。
preview
プライスアクション分析ツールキットの開発(第33回):Candle Range Theory Tool

プライスアクション分析ツールキットの開発(第33回):Candle Range Theory Tool

MetaTrader 5向けのCandle-Range Theoryスイートで、市場の読みをアップグレードできます。これは完全にMQL5ネイティブなソリューションで、ローソク足をリアルタイムのボラティリティ情報に変換します。軽量なCRangePatternライブラリは、各ローソク足の真の値幅を適応型ATRと比較し、確定直後に分類します。CRTインジケーターは、その分類結果をチャート上に鮮明な色分けされた矩形や矢印として表示し、収束の進行、急騰・急落、全レンジ包み込みを瞬時に可視化します。
preview
MQL5でかぎ足をマスターする(第1回):インジケーターの作成

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

MQL5で完全なかぎ足エンジンを構築する方法を学びましょう。価格の反転の構築、動的な線分の生成、そしてかぎ足の構造をリアルタイムで更新する方法を扱います。本連載第1回では、MetaTrader 5上にかぎ足を直接描画する方法を解説します。これにより、トレーダーはトレンドの転換や市場の強さを明確に把握できるようになり、第2部で扱うかぎ足ベースの自動売買ロジックの準備が整います。
preview
母集団最適化アルゴリズム:人工多社会的検索オブジェクト(MSO)

母集団最適化アルゴリズム:人工多社会的検索オブジェクト(MSO)

前回に引き続き、社会的集団について考えてみたいと思います。この記事では、移動と記憶のアルゴリズムを用いて社会集団の進化を探求しています。その結果は、社会システムの進化を理解し、最適化や解の探索に応用するのに役立つでしょう。
preview
ニューラルネットワークが簡単に(第81回):Context-Guided Motion Analysis (CCMR)

ニューラルネットワークが簡単に(第81回):Context-Guided Motion Analysis (CCMR)

これまでの作業では、常に環境の現状を評価しました。同時に、指標の変化のダイナミクスは常に「舞台裏」にとどまっていました。この記事では、連続する2つの環境状態間のデータの直接的な変化を評価できるアルゴリズムを紹介したいと思います。
preview
リスク管理(第1回):リスク管理クラス構築の基礎

リスク管理(第1回):リスク管理クラス構築の基礎

本記事では、取引におけるリスク管理の基礎を解説し、適切なロットサイズやストップロスを計算するための最初の関数の作成方法を学びます。さらに、これらの機能がどのように動作するのかを、各ステップを追いながら詳しく説明します。本記事の目的は、自動売買においてこれらの概念をどのように適用するかを明確に理解することです。最後に、インクルードファイルを使用したシンプルなスクリプトを作成し、すべてを実践に落とし込みます。
preview
知っておくべきMQL5ウィザードのテクニック(第74回): 教師あり学習で一目均衡表とADX Wilderのパターンを利用する

知っておくべきMQL5ウィザードのテクニック(第74回): 教師あり学習で一目均衡表とADX Wilderのパターンを利用する

前回の記事では、一目均衡表とADXのインジケーターペアを紹介しました。今回は、このペアを教師あり学習でどのように改善できるかを見ていきます。一目均衡表とADXは、サポート/レジスタンスとトレンドを補完する組み合わせとして機能します。今回の教師あり学習アプローチでは、ディープスペクトル混合カーネルを用いたニューラルネットワークを活用し、このインジケーターペアの予測精度を微調整します。通常どおり、この処理はMQL5ウィザードでエキスパートアドバイザー(EA)を組み立てる際に利用できるカスタムシグナルクラスファイル内でおこないます。
preview
MQL5での取引戦略の自動化(第40回):カスタムレベルを使ったフィボナッチリトレースメント取引

MQL5での取引戦略の自動化(第40回):カスタムレベルを使ったフィボナッチリトレースメント取引

フィボナッチリトレースメント取引のためのMQL5エキスパートアドバイザー(EA)を構築します。日足の値幅またはルックバック配列を使用して、50%や61.8%といったカスタムレベルをエントリー用に計算し、終値と始値の比較に基づいて強気または弱気のセットアップを判断します。システムは、価格が各レベルをクロスした際に買いまたは売りをトリガーし、各レベルごとに最大取引回数を設定できます。また、新しいフィボナッチ計算時の任意決済、最小利益閾値到達後のポイントベースのトレーリングストップ、値幅に対する割合で設定されるストップロスとテイクプロバッファを備えています。
preview
知っておくべきMQL5ウィザードのテクニック(第24回):移動平均

知っておくべきMQL5ウィザードのテクニック(第24回):移動平均

移動平均は、ほとんどのトレーダーが使用し、理解している非常に一般的な指標です。この記事では、MQL5ウィザードで組み立てられたエキスパートアドバイザー(EA)の中で、あまり一般的ではないかもしれない使用例を探っていきます。
preview
MQL5でのAI搭載取引システムの構築(第2回):ChatGPT統合型アプリケーションのUI開発

MQL5でのAI搭載取引システムの構築(第2回):ChatGPT統合型アプリケーションのUI開発

本記事では、MQL5でChatGPTを統合したプログラムを開発します。このプログラムでは、第1回で作成したJSON解析フレームワークを活用してOpenAIのAPIにプロンプトを送信し、MetaTrader 5のチャート上に応答を表示します。入力フィールド、送信ボタン、応答表示を備えたダッシュボードを実装し、API通信やテキストの折り返し処理をおこなうことで、ユーザーとのインタラクションを実現します。
preview
取引におけるニューラルネットワーク:Superpoint Transformer (SPFormer)

取引におけるニューラルネットワーク:Superpoint Transformer (SPFormer)

本記事では、中間データの集約を不要とするSuperpoint Transformer (SPFormer)に基づく3Dオブジェクトのセグメンテーション手法を紹介します。これによりセグメンテーション処理の高速化とモデル性能の向上が実現されます。
preview
知っておくべきMQL5ウィザードのテクニック(第62回):強化学習TRPOでADXとCCIのパターンを活用する

知っておくべきMQL5ウィザードのテクニック(第62回):強化学習TRPOでADXとCCIのパターンを活用する

ADXオシレーターとCCIオシレーターはそれぞれトレンドフォローインジケーターおよびモメンタムインジケーターであり、エキスパートアドバイザー(EA)を開発する際に組み合わせることができます。前回の記事に続き、今回は開発済みモデルの運用中の学習や更新を、強化学習を用いてどのように実現できるかを検討します。この記事で使用するアルゴリズムは、本連載ではまだ扱っていない「TRPO(Trust Region Policy Optimization、信頼領域方策最適化)」として知られる手法です。また、MQL5ウィザードによるEAの組み立ては、モデルのテストをより迅速におこなえるだけでなく、異なるシグナルタイプで配布し検証できる形でセットアップできる点も利点です。
preview
MetaTrader 5でL1トレンドフィルタリングを適用する

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

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

多通貨エキスパートアドバイザーの開発(第15回):実際の取引のためのEAの準備

既製のエキスパートアドバイザー(EA)の完成に徐々に近づくにつれ、取引戦略のテスト段階では二次的に思える問題にも注意を払う必要があります。これらの問題は、実際の取引に移行する際に重要となります。
preview
知っておくべきMQL5ウィザードのテクニック(第41回):DQN (Deep-Q-Network)

知っておくべきMQL5ウィザードのテクニック(第41回):DQN (Deep-Q-Network)

DQN (Deep-Q-Network)は強化学習アルゴリズムであり、機械学習モジュールの学習プロセスにおいて、次のQ値と理想的な行動を予測する際にニューラルネットワークを関与させます。別の強化学習アルゴリズムであるQ学習についてはすでに検討しました。そこでこの記事では、強化学習で訓練されたMLPが、カスタムシグナルクラス内でどのように使用できるかを示すもう1つの例を紹介します。
preview
知っておくべきMQL5ウィザードのテクニック(第31回):損失関数の選択

知っておくべきMQL5ウィザードのテクニック(第31回):損失関数の選択

損失関数は、機械学習アルゴリズムの重要な指標です。これは、与えられたパラメータセットが目標に対してどれだけうまく機能しているかを定量的に評価し、学習プロセスにフィードバックを提供する役割を果たします。本記事では、MQL5のカスタムウィザードクラスを使って、損失関数のさまざまな形式を探っていきます。
preview
ニューラルネットワークが簡単に(第76回):Multi-future Transformerで多様な相互作用パターンを探る

ニューラルネットワークが簡単に(第76回):Multi-future Transformerで多様な相互作用パターンを探る

この記事では、今後の値動きを予測するというトピックを続けます。Multi-future Transformerのアーキテクチャーをお見せします。その主なアイデアは、未来のマルチモーダル分布をいくつかのユニモーダル分布に分解することで、シーンのエージェント間の相互作用のさまざまなモデルを効果的にシミュレートすることができるというものです。
preview
リスク管理(第2回):グラフィカルインターフェースでのロット計算の実装

リスク管理(第2回):グラフィカルインターフェースでのロット計算の実装

本記事では、前回の記事で紹介した内容をさらに発展させ、MQL5の強力なグラフィカルコントロールライブラリを使って実際にGUIを作成する方法を解説します。ステップごとに、完全に動作するGUIを作る過程を追いながら、各メソッドの仕組みや役割、そしてその背後にある考え方についても丁寧に説明します。また、記事の最後には、作成したパネルをテストして、正しく機能することを確認します。
preview
MQL5経済指標カレンダーを使った取引(第7回):リソースベースのニュースイベント分析による戦略テストの準備

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

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

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

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

MQL5取引ツールキット(第3回):未決注文管理EX5ライブラリの開発

MQL5のコードやプロジェクトで、包括的な未決注文管理EX5ライブラリを開発して実装する方法を学びましょう。本記事では、広範な未決注文管理EX5ライブラリを作成する手順を紹介し、それをインポートおよび実装する方法を、取引パネルまたはグラフィカルユーザーインターフェース(GUI)の構築を通じて解説します。このEA注文パネルを使用すれば、チャートウィンドウ上のGUIから、指定されたマジックナンバーに関連する未決注文を直接オープン、監視、削除することが可能です。
preview
MQL5での取引戦略の自動化(第43回):適応型線形回帰チャネル戦略

MQL5での取引戦略の自動化(第43回):適応型線形回帰チャネル戦略

本記事では、ユーザー定義期間にわたって回帰直線と標準偏差チャネルを自動的に計算し、明確なトレンドを確認するために傾きが最小閾値を超えた場合にのみ有効化され、さらに価格がチャネル幅の設定可能な割合を超えてブレイクアウトした際にチャネルを動的に再生成または延長する、適応型リニア回帰チャネルシステムをMQL5で実装します。
preview
MQL5での取引戦略の自動化(第42回):セッションベースのオープニングレンジブレイクアウト(ORB)システム

MQL5での取引戦略の自動化(第42回):セッションベースのオープニングレンジブレイクアウト(ORB)システム

MQL5で完全にカスタマイズ可能なセッションベースのオープニングレンジブレイクアウト(ORB)システムを作成します。このシステムでは、任意のセッション開始時刻とレンジの期間を設定でき、指定したオープニング期間の高値と安値を自動計算し、かつ動きの方向に沿った確定ブレイクアウトのみを取引します。
preview
MQL5入門(第22回):5-0ハーモニックパターンを用いたエキスパートアドバイザーの構築

MQL5入門(第22回):5-0ハーモニックパターンを用いたエキスパートアドバイザーの構築

本記事では、MQL5において5-0ハーモニックパターンを検出して取引する方法、その妥当性をフィボナッチ比率で検証する方法、そしてチャート上に表示する方法について解説します。
preview
ニューラルネットワークが簡単に(第77回):Cross-Covariance Transformer (XCiT)

ニューラルネットワークが簡単に(第77回):Cross-Covariance Transformer (XCiT)

モデルでは、しばしば様々なAttentionアルゴリズムを使用します。そして、おそらく最もよく使用するのがTransformerです。Transformerの主な欠点はリソースを必要とすることです。この記事では、品質を損なうことなく計算コストを削減する新しいアルゴリズムについて考察します。
preview
MQL5取引ツール(第7回):複数銘柄ポジションと口座監視のための情報ダッシュボード

MQL5取引ツール(第7回):複数銘柄ポジションと口座監視のための情報ダッシュボード

本記事では、MQL5で情報ダッシュボードを開発し、複数銘柄のポジションや口座指標(残高、証拠金、余剰証拠金など)を監視できるようにします。リアルタイム更新可能なソート可能グリッド、CSVエクスポート機能、ヘッダーのグロー効果を実装し、使いやすさと視覚的魅力を向上させます。
preview
初心者からエキスパートへ:隠れフィボナッチリトレースメントレベルの謎を解く

初心者からエキスパートへ:隠れフィボナッチリトレースメントレベルの謎を解く

本記事では、市場が反応する可能性のある非標準的なフィボナッチリトレースメントレベルを、データ駆動型の手法で発見および検証するアプローチを紹介します。MQL5での実装を想定した完全なワークフローを提示し、データ収集やバーやスイングの検出から始め、クラスタリング、統計的仮説検定、バックテスト、さらにMetaTrader 5のフィボナッチツールへの統合までを包括的にカバーします。ここでの目的は、経験的な観察に基づく推測を、統計的に裏付けられた売買シグナルへと変換する再現可能なパイプラインを構築することです。
preview
ニューラルネットワークが簡単に(第93回):周波数領域と時間領域における適応予測(最終回)

ニューラルネットワークが簡単に(第93回):周波数領域と時間領域における適応予測(最終回)

本稿では、時系列予測において2つのブロック(周波数と時間)の結果を適応的に組み合わせるATFNetモデルのアプローチの実装を継続します。
preview
PythonとMQL5を使用した特徴量エンジニアリング(第2回):価格の角度

PythonとMQL5を使用した特徴量エンジニアリング(第2回):価格の角度

MQL5フォーラムには、価格変動の傾斜を計算する方法についての支援を求める投稿が多数あります。この記事では、取引したい市場における価格の変化によって形成される角度を計算する1つの方法を説明します。さらに、この新しい特徴量の設計に追加の労力と時間を投資する価値があるかどうかについてもお答えします。M1でUSDZARペアを予測する際に、価格の傾斜によってAIモデルの精度が向上するかどうかを調査します。
preview
MQL5入門(第26回):サポートおよびレジスタンスゾーンを使ったEAの構築

MQL5入門(第26回):サポートおよびレジスタンスゾーンを使ったEAの構築

本記事では、サポートおよびレジスタンスゾーンを自動的に検出し、それに基づいて取引を実行するMQL5エキスパートアドバイザー(EA)の作成方法を学びます。EAにこれらの重要な価格レベルを認識させ、価格の反応を監視し、手動操作なしで取引判断をおこなう方法を理解することができます。
preview
リプレイシステムの開発(第30回):エキスパートアドバイザープロジェクト - C_Mouseクラス(IV)

リプレイシステムの開発(第30回):エキスパートアドバイザープロジェクト - C_Mouseクラス(IV)

今日は、プログラマーとしての職業生活のさまざまな段階で非常に役立つテクニックを学びます。多くの場合、制限されているのはプラットフォーム自体ではなく、制限について話す人の知識です。この記事では、常識と創造性があれば、クレイジーなプログラムなどを作成することなく、MetaTrader 5 プラットフォームをより面白くて多用途にし、シンプルでありながら安全で信頼性の高いコードを作成できることを説明します。創造力を駆使して、ソース コードを1行も削除したり追加したりすることなく、既存のコードを変更します。
preview
データサイエンスとML(第35回):MQL5でのNumPy活用術 - 少ないコードで複雑なアルゴリズムを構築する技法

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

NumPyライブラリは、Pythonプログラミング言語においてほぼすべての機械学習アルゴリズムの中核を支えています。本記事では、高度なモデルやアルゴリズムの構築を支援するために、複雑なコードをまとめたモジュールを実装していきます。