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

icon

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

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

新しい記事を追加
最新 | ベスト
グラフィカルインタフェ-スを備えたエキスパ-トアドバイザ:パネルの作成(第1部)
グラフィカルインタフェ-スを備えたエキスパ-トアドバイザ:パネルの作成(第1部)

グラフィカルインタフェ-スを備えたエキスパ-トアドバイザ:パネルの作成(第1部)

多くのトレーダーが依然として手作業を好むという事実にもかかわらず、ここではルーティンで行う作業の自動化を完全に避けることはできないでしょう。この記事では、手動取引のためのマルチシンボルシグナルエキスパートアドバイザーの作成例を示します。
トレードDiNapoliレベル
トレードDiNapoliレベル

トレードDiNapoliレベル

この記事では、MQL5 標準ツールを使用してDiNapoliレベルでトレードするためのEAの実現を考察します。 そのパフォーマンスをテストし、最終的な結論まで導きます。
大きなプログラムでの注文に関する考察
大きなプログラムでの注文に関する考察

大きなプログラムでの注文に関する考察

複雑なプログラムでの注文に関する考察の一般的な原則を研究していきます。
クロスプラットフォームEA: カスタムストップ、ブレイクイーブン、トレーリング
クロスプラットフォームEA: カスタムストップ、ブレイクイーブン、トレーリング

クロスプラットフォームEA: カスタムストップ、ブレイクイーブン、トレーリング

この記事では、クロスプラットフォームEAでのカスタムストップレベルの設定方法について説明します。 また、時間の経過とともにストップレベルを設定するメソッドについても説明します。
グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)
グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)

グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)

第九部の第2章はプログレスバーと折れ線グラフに専念されます。いつものように、これらのコントロールがカスタムMQLアプリケーションでどのように使用できるかを明らかにする詳細な実施例が存在します。
ミクロ、ミドル、メイントレンドのインディケータ
ミクロ、ミドル、メイントレンドのインディケータ

ミクロ、ミドル、メイントレンドのインディケータ

本稿は James Hyerczyk著 "Pattern, Price & Time: Using Gann Theory in Trading Systems" から得たいくらかの考え方を基にインディケータやExpert Advisor形式でトレードの自動化可能性調査と分析を目的とします。完全にとは言わず、ここではモデル、すなわちギャン理論の最初の部分だけを対象とします。
マルチモジュールEAの作成
マルチモジュールEAの作成

マルチモジュールEAの作成

MQLプログラミング言語によって、取引戦略のモジュール設計の概念を実装することができます。この記事では、別々にコンパイルされたファイルモジュールからなるマルチモジュールEAの作成例をご紹介します。
MetaTrader 5での複数銘柄残高グラフ
MetaTrader 5での複数銘柄残高グラフ

MetaTrader 5での複数銘柄残高グラフ

本稿では、グラフィカルインターフェイスに最後のテスト結果に基づいた複数銘柄の残高グラフと預金損失率グラフを備えたMQLアプリケーションの例を示します。
最適化管理 (パート I): GUI の作成
最適化管理 (パート I): GUI の作成

最適化管理 (パート I): GUI の作成

この記事では、MetaTrader ターミナルの拡張機能を作成するプロセスについて説明します。 このソリューションは、他のターミナルで最適化を実行する際、最適化プロセスを自動化するのに役立ちます。 このトピックに関する記事をいくつか書きます。 拡張機能は C# 言語とデザイン パターンを使用して開発されました。優先プログラミング言語の機能です。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第1回):ADXとパラボリックSARの組み合わせによる指標シグナル

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第1回):ADXとパラボリックSARの組み合わせによる指標シグナル

この記事で紹介する多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートから複数の銘柄ペアの取引(新規注文、決済注文、注文の管理など)を行うことができるEA(自動売買ロボット)です。
MQL5ウィザード:新バージョン
MQL5ウィザード:新バージョン

MQL5ウィザード:新バージョン

本稿では、最新のMQL5ウィザードで利用できる新しい特徴について述べます。シグナルのアーキテクチャが変更され、さまざまなマーケットパターンにもどつくトレーディングロボットを作成することができるようになっています。本稿に含まれる例では、エキスパートアドバイザのインタラクティブな作成手順を説明しています。
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)

ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)

このパートでは、シグナルモジュールとCStrategyエンジンの統合の可能性が、メタトレーダーの標準ライブラリにあることについて記述します。この記事では、カスタム戦略を作成するメソッドと同様に、シグナルの操作メソッドについて説明します。
初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト
初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト

初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト

グラフィックコントロールパネルが削除されたり、他の誰かによって変更されている場合、プログラムに対し、何をすべきか?この記事では、チャート上の「オーナーレス」オブジェクトを処理します。アプリケーションが削除された後に、プログラムで作成されたオブジェクトが残っている場合の処理を行います。
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)
グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)

グラフィカルインタフェースX: 標準チャートコントロール(ビルド4)

今回は、標準のチャートコントロールについて考えていきます。これによって水平スクロールを同期させる機能を持つサブチャートの配列の作成が可能になります。また、引き続き、ライブラリのコードを最適化してCPU負荷を軽減します。
取引戦略におけるファジー論理
取引戦略におけるファジー論理

取引戦略におけるファジー論理

本稿では、ファジーライブラリを使用して、ファジー論理を適用した簡単な取引システムの構築例を検討します。ファジー論理、遺伝的アルゴリズムおよびニューラルネットワークを組み合わせることによりシステムを改良するための変形が提案されます。
メカニカル・トレーディングシステム "スタニスラブの三角形"
メカニカル・トレーディングシステム "スタニスラブの三角形"

メカニカル・トレーディングシステム "スタニスラブの三角形"

スタニスラブ・チャバショブ(Stanislav Chuvashov)氏のアイデアに基づいたメカニカル・トレーディングシステムの概要とプログラムコードを提供します。三角形の構造は上部・下部フラクタルからなる2本のラインの交差から成っています。
ビンスによる資金管理 MQL5 ウィザードのモジュールとしての実装
ビンスによる資金管理 MQL5 ウィザードのモジュールとしての実装

ビンスによる資金管理 MQL5 ウィザードのモジュールとしての実装

この記事は、ラルフ·ビンスによる "The Mathematics of Money Management" に基づいています。 トレードロットの最適なサイズを見つけるために使用される経験的およびパラメトリックメソッドの説明をします。 また、それらのメソッドに基づいて MQL5 ウィザードのトレーディングモジュールの実装を行います。
EAのリモートコントロールの方法
EAのリモートコントロールの方法

EAのリモートコントロールの方法

トレーディングロボットの主な利点は、リモートの VPS サーバー上で24時間動作できることです。 しかし、時にはサーバーに直接アクセスすることができず、タスクに介入する必要があります。 EAをリモートで管理することは可能でしょうか。 この記事では、外部コマンドを使用してEAを制御するオプションの1つを提案します。
preview
PythonやRの知識が不要なYandexのCatBoost機械学習アルゴリズム

PythonやRの知識が不要なYandexのCatBoost機械学習アルゴリズム

この記事では、具体的な例を用いて、機械学習プロセスのコードと主要な段階の説明をします。 このモデルを取得するためには、PythonやRの知識は必要ありません。 さらに、MQL5の基本的な知識があれば十分です - まさに私のレベルです。 したがって、この記事が、機械学習の評価やプログラムへの実装に興味のある人たちの手助けとなり、幅広い人たちの良いチュートリアルとなることを期待しています。
メタトレーダー5のカスタムニュースフィードを作成する
メタトレーダー5のカスタムニュースフィードを作成する

メタトレーダー5のカスタムニュースフィードを作成する

この記事では、ニュースの種類とまたその情報元の面でより多くのオプションを提供しています。柔軟なニュースフィードを作成する汎用性を考察します。 この記事では、web API を MetaTrader5 ターミナルと統合する方法について説明します。
ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト
ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト

ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト

この記事は、前回のピボット・パターン:『ダブルトップ・ダブルボトム』パターンのテストの論理的な続編になります。ここでもう一つのよく知られている『ヘッドアンドショルダー』の反転パターンを検討し、2つのパターンの取引パフォーマンスを比較し、2つのパターンの取引を1つの取引システムに組み合わせてみたいと思います。
preview
自動で動くEAを作る(第04回):手動トリガー(I)

自動で動くEAを作る(第04回):手動トリガー(I)

今日は、自動モードでシンプルかつ安全に動作するエキスパートアドバイザー(EA)を作成する方法を紹介します。
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)

グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)

この記事では、テキストエディットボックス、ピクチャスライダー、および追加的なシンプルなコントロール(テキストラベルとピクチャ)の新しいコントロールについて検討します。ライブラリは成長を続けており、新しいコントロールの導入に加えて、以前作成されたものも改善されています。
MQL5 クックブック-ピボットトレーディングシグナル
MQL5 クックブック-ピボットトレーディングシグナル

MQL5 クックブック-ピボットトレーディングシグナル

この記事では、ピボットの反転に基づいたシグナルのクラスの開発と実装について説明します。 このクラスは、標準ライブラリを適用する戦略を形成するために使用されます。 フィルタを追加することにより、ピボット戦略を改善することができるでしょう。
preview
MQL5を使用してローソク足パターンを検出する方法

MQL5を使用してローソク足パターンを検出する方法

MQL5によって価格のローソク足パターンを自動的に検出する方法を学ぶ新しい記事です。
適応型相場の実用的評価法
適応型相場の実用的評価法

適応型相場の実用的評価法

この記事で提案するトレーディングシステムは、株価を分析するための数学的ツールです。 ディジタルフィルタリングと離散時系列のスペクトル推定を適用します。 戦略の理論的側面について説明し、テストEAを作成します。
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)

グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド3)

本稿では、Easy And Fast ライブラリの次のバージョン(バージョン3)を紹介します。特定の欠陥を修正して、新しい機能を追加しました。詳細は本稿で後ほどお話しします。
MQL5 クックブック:ОСО オーダー
MQL5 クックブック:ОСО オーダー

MQL5 クックブック:ОСО オーダー

トレーダーのトレーディング活動にはさまざまなメカニズムや注文同士の関係を含む相互関係がつきものです。本稿は OCO 注文処理のソリューションを提案します。新規データタイプがそこで作成されるのみならず、標準クラスは広くかかわっています。
「EA 階層」を用いたMQL5 Expert Advisors の簡単作成
「EA 階層」を用いたMQL5 Expert Advisors の簡単作成

「EA 階層」を用いたMQL5 Expert Advisors の簡単作成

「EA 階層」は最初のドラッグアンドドロップ MetaTrader MQL5 Expert Advisor ビルダーです。使用法がひじょうに簡単なグラフィックユーザーインターフェースを用いて複雑な MQL5 を作成することが可能です。「EA 階層」ではボックスをつなぐことによってExpert Advisors を作成します。ボックスには MQL5 関数、テクニカルインディケータ、カスタムインディケータ、値などが入っています。『ボックス階層』を利用して「EA 階層」は Expert Advisor の MQL5 コードを作成します。
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)

グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)

本稿は、MetaTrader端末でグラフィカルインタフェースを作成するためのライブラリの開発に関するシリーズの第六部の始まりです。第1章ではチェックボックスコントロール、編集コントロールとその混合型についてお話します。
クロスプラットフォームグリッドEAの開発:マルチカレンシーEAのテスト
クロスプラットフォームグリッドEAの開発:マルチカレンシーEAのテスト

クロスプラットフォームグリッドEAの開発:マルチカレンシーEAのテスト

この1か月で相場は30%以上も下落しました。(コロナショック後です。) グリッド系とマーチンゲール系のEAのテストには最適な時期のようです。 本記事は、「クロスプラットフォームのグリッドEAを作る」シリーズの無計画な続編です。 現在の相場では、グリッドEAのストレスレストを整えるチャンスとなっています。 ということで、この機会にEAのテストをしてみましょう。
MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法
MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法

MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法

シリーズの前稿 "MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester" からの Expert Advisor への取り組みの続編として、既存の関数を改良、最適化しつつ有用な関数を数多く用いて Expert Advisor を強化していきます。今回 Expert Advisor は MetaTrader 5 「ストラテジーテスタ」で最適化可能な外部パラメータを取得し、いくつかの点でシンプルなトレーディングシステムのようになります。
preview
一からの取引エキスパートアドバイザーの開発(第11部):両建て注文システム

一からの取引エキスパートアドバイザーの開発(第11部):両建て注文システム

この記事では、両建て注文システムを作成します。先物契約は、トレーダーを極度に苦しめる資産タイプですが、なにがそんなに難しいのでしょうか。
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)

グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)

マルチラインテキストボックスについて説明します。OBJ_EDIT型のグラフィカルオブジェクトとは異なり、ここで説明されるバージョンには入力文字数の制限がありません。また、カーソルをマウスまたはキーを使用して移動してテキストボックスをシンプルなテキストエディタに切り替えるモードも追加されています。
マルチ通貨システム エキスパートアドバイザーの作成
マルチ通貨システム エキスパートアドバイザーの作成

マルチ通貨システム エキスパートアドバイザーの作成

この記事は、複数のシンボルをトレードし、同時にいくつものトレーディングシステムを使用するエキスパートアドバイザーのストラクチャーを紹介します。もしすでにすべてのEAにおいて最適な入力パラメーターを特定し、それぞれに対して個別に良いテスト結果を得ているのであれば、もしすべての戦略を合わせて同時に全EAをテストすればどのような結果を得ることができるか、ご自身に尋ねてみてください。
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

本稿は MQL5 標準ライブラリの拡張について説明します。それは MQL5 ウィザードを用いてインクルードされたモジュールから受信する価格によって Expert Advisors を作成し、発注し、ストップロスおよびテイクプロフィットを設定することを可能にするものです。この方法はモジュール数に追加の制限は何も設けず、その連携動作において競合が発生することはありません。
グラフィックエキスパートアドバイザー: オートグラフ
グラフィックエキスパートアドバイザー: オートグラフ

グラフィックエキスパートアドバイザー: オートグラフ

本稿はトレードを管理する便利なインターフェースである画面表示の利用法について書いています。
Expert Advisor 内での Expert Advisor コンテスト
Expert Advisor 内での Expert Advisor コンテスト

Expert Advisor 内での Expert Advisor コンテスト

仮想取引によって、適応型 Expert Advisor を作成することができます。それは実マーケットでトレードをオン、オフするものです。1件の Expert Advisor に複数の戦略を組み合わせます。マルチシステム Expert Advisor は自動でトレーディング戦略を選択します。それは実マーケットで仮想取引の収益性をもとにトレードを行うには最良のものです。この種の方法により、ドローダウンを減少し、マーケットでの作業の収益性を上げることができるのです。実験を行い、結果を他の人と共有してください。多くの人がみなさんの戦略ポートフォリオを知りたがっていると思います。
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

本稿ではグラフィカルインタフェースの第一及び主要素である、コントロールのフォームを作成します。このフォームには複数のコントロールが任意の場所と組み合わせで添付することができます。
preview
MetaTrader5のWebSocket

MetaTrader5のWebSocket

MQL5 APIが更新されてネットワーク機能が導入される前は、MetaTraderプログラムでは、WebSocketベースのサービスに接続してインターフェイスする機能が制限されていました。しかしもちろん、これはすべて変わっています。本稿では、純粋なMQL5でのWebSocketライブラリの実装について説明します。WebSocketプロトコルの簡単な説明とともに結果のライブラリの使用方法に関する手順のガイドが提示されます。