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

icon

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

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

新しい記事を追加
最新 | ベスト
注文の管理ーこれは簡単です
注文の管理ーこれは簡単です

注文の管理ーこれは簡単です

この記事では、オープンポジションや指値注文の様々な管理方法を紹介し、エキスパートアドバイザの作成の簡素化について記述しています。
МetaТrader 4のイベント
МetaТrader 4のイベント

МetaТrader 4のイベント

この記事は、注文のオープン、クローズ、変更などのイベントを観測するМetaТrader 4ターミナルのプログラムに着目しており、MQL4でのプログラミングやターミナルを扱う基本的なスキルを持つユーザーを想定して書かれています。
ファイルの操作。重要な市場イベントの可視化例。
ファイルの操作。重要な市場イベントの可視化例。

ファイルの操作。重要な市場イベントの可視化例。

この記事では、外国為替証拠金取引市場でのより生産的なMQL4の使用を検証します。
グラフィカルインタフェース I: 種々のプログラム及びメタトレーダー4ターミナルでのライブラリのテスト(チャプター 5)
グラフィカルインタフェース I: 種々のプログラム及びメタトレーダー4ターミナルでのライブラリのテスト(チャプター 5)

グラフィカルインタフェース I: 種々のプログラム及びメタトレーダー4ターミナルでのライブラリのテスト(チャプター 5)

このグラフィカルインターフェイスに関するシリーズの第一部の前章では、フォームクラスは、そのコントロールを押すしてフォームの管理を許可するメソッドによって改善されました。本稿では、インディケータやスクリプトなどの異なるMQLプログラムでのテストが行われます。ライブラリはすべてのMetaTraderプラットフォームで使用できるクロスプラットフォーム対応として設計されたので、MetaTrader 4でもテストを行います。
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

本稿では、コントロールのクリックによるフォーム管理のメソッドを追加してWindowクラスの開発を続けていこうと思います。フォームのボタンによってのプログラムの終了を有効にするだけでなく、フォームの最小化と最大化機能も実装します。
グラフィカルインタフェース I: グラフィカルインタフェースの動画化(チャプター 3)
グラフィカルインタフェース I: グラフィカルインタフェースの動画化(チャプター 3)

グラフィカルインタフェース I: グラフィカルインタフェースの動画化(チャプター 3)

前回の記事では、コントロールのフォームクラスの開発に着手しました。本稿では、チャート領域にフォームを移動するためのクラスメソッドを書き入れによってそれを続行します。その後、このインターフェイスコンポーネントをライブラリコアに統合します。また、マウスカーソルが上をホバリングしたときにフォームコントロールの色が変わることを保証します。
グラフィックエキスパートアドバイザー: オートグラフ
グラフィックエキスパートアドバイザー: オートグラフ

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

本稿はトレードを管理する便利なインターフェースである画面表示の利用法について書いています。
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

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

本稿ではグラフィカルインタフェースの第一及び主要素である、コントロールのフォームを作成します。このフォームには複数のコントロールが任意の場所と組み合わせで添付することができます。
グラフィカルインタフェース I: ライブラリストラクチャの準備(チャプター 1)
グラフィカルインタフェース I: ライブラリストラクチャの準備(チャプター 1)

グラフィカルインタフェース I: ライブラリストラクチャの準備(チャプター 1)

本稿は、グラフィカルインタフェースの開発に関するあと一つのシリーズの始まりです。現在、MQLアプリケーション内で高品質なグラフィカルインタフェースを迅速かつ簡単に作成できるよコードライブラリは1つもありません。ここで、グラフィカルインタフェースとは私たちになじみ深いオペレーティングシステムで使用されるグラフィカルインタフェースを意味します。
エキスパートシステム「コメンテーター」MQL4プログラムの組み込みインジケーターの実践的な使用
エキスパートシステム「コメンテーター」MQL4プログラムの組み込みインジケーターの実践的な使用

エキスパートシステム「コメンテーター」MQL4プログラムの組み込みインジケーターの実践的な使用

この記事は、MQL4でのプログラミングにおけるテクニカルインジケーターの使用について紹介しています。
メカニカル・トレーディングシステム "スタニスラブの三角形"
メカニカル・トレーディングシステム "スタニスラブの三角形"

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

スタニスラブ・チャバショブ(Stanislav Chuvashov)氏のアイデアに基づいたメカニカル・トレーディングシステムの概要とプログラムコードを提供します。三角形の構造は上部・下部フラクタルからなる2本のラインの交差から成っています。
GUIのレイアウトとコンテナの使用: CBoxクラス
GUIのレイアウトとコンテナの使用: CBoxクラス

GUIのレイアウトとコンテナの使用: CBoxクラス

この記事は、CBoxクラスによるレイアウトマネージャーを使って、レイアウトとコンテナに基づくGUIの生成の代替手法について取り扱います。CBoxクラスは、GUIパネルの必要不可欠なコンテナとして機能する補助コントロールです。グラフィカルパネルのデザインを容易にし、ときとして、コーディングの時間を割きます。
MetaTrader 5 でRSS フィードを表示するためのインタラクティブアプリケーション構築
MetaTrader 5 でRSS フィードを表示するためのインタラクティブアプリケーション構築

MetaTrader 5 でRSS フィードを表示するためのインタラクティブアプリケーション構築

本稿では RSS フィードを表示するためのアプリケーションを作成する機能を見ていきます。本稿は MetaTrader 5 用のインタラクティブプログラム作成に標準ライブラリの特徴を利用する方法を示します。
MQL5 クックブック:ОСО オーダー
MQL5 クックブック:ОСО オーダー

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

トレーダーのトレーディング活動にはさまざまなメカニズムや注文同士の関係を含む相互関係がつきものです。本稿は OCO 注文処理のソリューションを提案します。新規データタイプがそこで作成されるのみならず、標準クラスは広くかかわっています。
オブジェクト指向アプローチによる EA モードのプログラミング
オブジェクト指向アプローチによる EA モードのプログラミング

オブジェクト指向アプローチによる EA モードのプログラミング

本稿は MQL5 でのマルチモード売買ロボットプログラミングの考えかたについて説明します。モードはすべてオブジェクト指向アプローチにより実装されます。どちらのモードクラス階層のインスタンスおよび検証用クラスも提供されます。売買ロボットのマルチモードプログラミングは MQL5 で書かれた EA の処理モードすべての特殊性を考慮するようになっています。関数および列挙はモード特定のために作成されています。
リキッドチャート
リキッドチャート

リキッドチャート

時間の秒、5分から開くバーを持つ毎時チャートを見たいですか?バーのオープン時間が毎分変わるようであれば再作成されたチャートはどのように見えるのでしょうか?そのようなチャートでトレードすることにどんなメリットがあるのでしょうか?本稿ではこういった疑問に対する答えを見つけていきます。
MQL4 と MQL5 を利用してフラクタルベースのトレンドラインをプロットする。
MQL4 と MQL5 を利用してフラクタルベースのトレンドラインをプロットする。

MQL4 と MQL5 を利用してフラクタルベースのトレンドラインをプロットする。

本稿はMQL4 および MQL5 を使用して「フラクタル」インディケータを基にしたトレンドラインのプロット自動化について説明します。本稿では 2 言語に対するソリューションの比較展望が提示されています。トレンドラインは既知の2つの最終フラクタルを利用してプロットされます。
MQL5 クックブック:カスタムチャートイベント処理
MQL5 クックブック:カスタムチャートイベント処理

MQL5 クックブック:カスタムチャートイベント処理

本稿では出人の側面とMQL5 環境におけるカスタムチャートイベントシステムの作成について考察します。イベント分類方法例およびイベントクラスとカスタムイベントハンドラのプログラムコードもここで確認することができます。
最適化数点のシンプルな考え
最適化数点のシンプルな考え

最適化数点のシンプルな考え

最適化のプロセスにはコンピュータや MQL5 クラウドネットワーク検証エージェントのリソースも大量に必要とします。本稿では作業の促進とMetaTrader 5 ストラテジーテスタの改良に利用する簡単な考えをいくつか取り上げます。こういったアイデアはドキュメンテーション、フォーラム、記事から得ました。
ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする
ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする

ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする

今日は MetaTrader 5 ターミナルを Twitter とリンクする方法を学習し、EA のトレードシグナルをツイートできるようにします。RESTful ウェブサービスに基づく PHP にソーシャルディシジョン支援システムを作成します。この考えはコンピュータ援用取引と呼ばれる自動トレーディングの特定の概念からきています。われわれは 別の方法でExpert Advisors によって自動でマーケットに出されるトレードシグナルをフィルターにかける人間のトレーダーの認知能力を欲しています。
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

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

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

MQL5 エキスパートアドバイザーから、GSMモデムを使用する

現在、トレーディングのアカウントを監視する手段がたくさんあります:モバイルターミナルはICQを用い、プッシュ通知を行います。しかし、すべてインターネットの接続を必要とします。この記事は、特に呼び出しやテキストメッセージはできるが、モバイルのインターネットを使用できないような時にトレーディングターミナルの情報を取得できるようになるエキスパートアドバイザーを作成するプロセスを紹介します。
MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー
MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー

MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー

今回は、指値売り、逆指値売りなど未決注文に基づくトレーディングアルゴリズムを持つマルチカレンシーエキスパートアドバイザーを作成していきます。この記事は、以下を紹介します:特定の時間半位におけるトレーディング、未決注文の実行・修正・削除、最後のポジションが利取りや損切りにて閉じられたかのチェック、各シンボルにおける取引の履歴の管理などです。
スピンドルチャートインジケーター
スピンドルチャートインジケーター

スピンドルチャートインジケーター

この記事は、スピンドルチャート描写とトレード戦略とEAにおけるその使い方に関するものです。まず、日本のロウソク足チャートとも繋がりがある、そのチャートについてみていきます。次に、MQL5言語でのソースコードベースでのインジケーターの実装について分析します。インジケーターとトレード手法に基づいてEAをテストしてみましょう。
外部世界と情報交換するメタトレーダー4 エキスパートアドバイザー
外部世界と情報交換するメタトレーダー4 エキスパートアドバイザー

外部世界と情報交換するメタトレーダー4 エキスパートアドバイザー

メタトレーダー4・エキスパートアドバイザーと外部世界との情報交換をおこなうための、シンプルで互換性があり、信頼できる解決策情報の提供者と利用者は、それぞれ異なるコンピューターに位置しています。そのため両者の接続はグローバルIPアドレスを使用します。
MQL5 プログラミング基礎:時刻
MQL5 プログラミング基礎:時刻

MQL5 プログラミング基礎:時刻

本稿は時間と連携する標準的 MQL5 関数に着目します。また、プログラムテクニック、Expert Advisors およびインディケータを作成する際必要となる時間と関連する実践的に便利な関数も取り上げます。特に注意を払うのが時間測定の一般的理論です。本稿はまず MQL5 の初心者プログラマーに興味を持ってもらえる内容です。
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

今回は、現在シンボルについてポジションプロパティを取得し、マニュアルトレーディングの間カスタム情報パネルにそのポジションプロパティを表示するシンプルな Expert Advisor を作成します。情報パネルはグラフィカルオブジェクトを用いて作成され、表示される情報はティック毎にリフレッシュされます。これは "MQL5 Cookbook: Getting Position Properties"と呼ばれるシリーズの以前の記事に記載があるスクリプトをつねにマニュアルで実行しなければならないのよりはるかに便利になります。
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

先行記事 "MQL5 Cookbook: Position Properties on the Custom Info Panel"の Expert Advisor の変更バージョンを提供します。お伝えする問題の中にはバーからのデータ取得、現シンボルにおける新規バーイベント確認、ファイルに標準ライブラリのトレードクラスのインクルード、トレード処理実行用トレードシグナルおよび関数検索のための関数作成、OnTrade() 関数におけるトレードイベント決定などがあります。
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 「ストラテジーテスタ」で最適化可能な外部パラメータを取得し、いくつかの点でシンプルなトレーディングシステムのようになります。
MQL5 クックブック:ポジションプロパティを取得するためのディール履歴と関数ライブラリ
MQL5 クックブック:ポジションプロパティを取得するためのディール履歴と関数ライブラリ

MQL5 クックブック:ポジションプロパティを取得するためのディール履歴と関数ライブラリ

ポジションプロパティについて先行記事で提供されている情報を簡単にまとめます。本稿では、ディールヒストリーにアクセスした後にのみ取得可能なプロパティを得る関数を数個追加して作成します。また便利な方法でポジションやシンボルプロパティにアクセスできるようにするデータストラクチャについても知識を得ます。
MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用
MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用

MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用

本稿では MQL5 クックブックシリーズの先行記事をとおして作業をおこなってきているExpert Advisorの修正を続行します。今回は、Expert Advisor は値がポジションオープンの条件を確認するのに使用されるインディケータを使って強化されます。それに一点添えるために、外部パラメータにドロップダウンリストを作成し、3つのトレードインディケータの中から1つを選ぶことができるようにします。
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更

Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更

本稿ではパラメータをユーザーパネルから管理できる Expert Advisor の実装を示すちょっとした例を提供します。『オンザフライ』でパラメータを変更するとき、Expert Advisor はのちにファイルから読み込みパネル上で適切に表示するために情報パネルからファイルに取得した値を書きます。本稿はマニュアルでトレードを行う方または半自動モードでトレードを行う方に適しているでしょう。
MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成
MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成

MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成

本稿では MQL5で「リプルスクリーン」戦略に基づくトレーディングシステムに対するフレームワークを作成します。Expert Advisor を一から作成することはしません。代わりに、実質上すでにわれわれの目的に役だっている先行記事 "MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors" のプログラムを変更するだけとします。よって本稿は既製プログラムのパターンを簡単に変更する方法もお伝えします。
MQL5 クックブック: マルチ通貨 Expert Advisor - シンプル、かしこい、迅速なアプローチ
MQL5 クックブック: マルチ通貨 Expert Advisor - シンプル、かしこい、迅速なアプローチ

MQL5 クックブック: マルチ通貨 Expert Advisor - シンプル、かしこい、迅速なアプローチ

本稿ではマルチ通貨 Expert Advisorに適切なシンプルなアプローチの実装について述べます。これは理想的な条件下でありながら各シンボルに対して異なるパラメータでExpert Advisor を検証/トレーディングする設定を可能にするということです。例として2個のシンボルに対するパターンを作成しますが、コードに少し変更を加えるだけで必要に応じてそれ以外のシンボルも追加できるようにしておきます。
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

本稿ではトレーディングシステムの最適化に対して一組のパラメータを使うパターンを作成していきます。同時にパラメータ数は無制限に認めます。シンボルリストは標準的なテキストファイル (*.txt)内に作成します。各シンボルに対する入力パラメータもファイルに格納されます。このように Expert Advisorの入力パラメータ数に関してターミナルの制約を回避することができます。
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成

MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成

さまざまなフォーラムのコミュニケーションの際、Microsoft Excel チャート形式のスクリーンショットとして表示される検証結果の例を多く使いました。そしてそのようなチャートの作成方法を教えてほしいと頻繁に質問を受けました。ついに本稿でそれを説明する時間を得ました。
MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処
MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処

MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処

どのようなトレーディング戦略を使っていようと、将来の収益を確保するためどのパラメータを選択すべきかという疑問は常にあるものです。本稿は同時に複数のシンボルパラメータを最適化する機能を備えたExpert Advisor 例を提供します。この方法はパラメータのオーバーフィットによる影響を軽減し、1個のシンボルからのデータが調査に十分でない場合に対処するものです。
MQL5 プログラムのデバッグ
MQL5 プログラムのデバッグ

MQL5 プログラムのデバッグ

本稿は第一にすでに言語を学習したがまだプログラム開発を完全にはマスターしていないプログラマーを対象としています。本稿ではいくつかデバッグテクニックを提供し、著者やその他多くのプログラマーの経験を紹介します。
もうひとつ別の MQL5 OOP クラス
もうひとつ別の MQL5 OOP クラス

もうひとつ別の MQL5 OOP クラス

本稿では一からオブジェクト指向 Expert Advisor を構築する方法をお伝えします。トレードの理論的考えを着想することからその考えを実験的世界で実現する MQL5 EA をプログラムするまでです。実践から学ぶことは IMHO で成功への確実な方法です。よってみなさんが最終的に Forex ロボットのコーディングをするために考えを整理できる方法を確認していただけるよう実例を示していきます。また私の目標はみなさんにオブジェクト指向の原理に忠実に従うようお勧めすることです。
自動ニューストレーダーのバインディング
自動ニューストレーダーのバインディング

自動ニューストレーダーのバインディング

これは一からシンプルなオブジェクト指向 EA を構築する方法を述べ、オブジェクト指向プログラミングのアドバイスを提供したもう一つ別の MQL5 OOP クラス記事の続編です。本稿では、ニュースをトレードすることのできる EA を開発するのに必要とされる技術の基本をお話します。目標は OOP に関する考え方を提示し続け、ファイルシステムと関連づけながらこのシリーズにおける新しいトピックを取り上げることです。