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

icon

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

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

新しい記事を追加
最新 | ベスト
MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法
MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法

MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法

本稿は現在価格から任意の距離で指値注文を設定することができるようになる機能性の実装のためのトレードシグナルモジュールコードを変更するメソッドについてお話します。それは前回バーの価格クローズまたはオープンであり、あるいは移動平均の値の可能性があります。オプションは数多くあります。重要なことは指値注文に対して任意の始値を設定することができるということです。本稿は指値注文でトレードを行うトレーダーにとっては有用なものとなるでしょう。
有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!
有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!

有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!

MQL5 はプログラマーに関数の完全セットとオブジェクト指向API を提供します。それらのお陰でプログラマーは MetaTrader 環境内で願うことを行うことができるのです。ただ「ウェブテクノロジー」は今日ひじょに特殊なことをしてなにか違ったもので顧客を驚かせる必要があったり、ただ MT5 「標準ライブラリ」の特定箇所をマスターする十分な時間がないなんらかの状況で救助にきてくれる極端に多才なツールです。今回の例題によりご自身の開発時間管理の仕方と同時にすばらしいテクノロジーカクテルを作成する方法を実用例をご紹介します。
リニアなトレーディングシステムを指数に高める
リニアなトレーディングシステムを指数に高める

リニアなトレーディングシステムを指数に高める

本稿では MQL5 プログラマーの中級者にリニアなトレーディングシステム(固定ロット)からいわゆる指数の技術を簡単に実装することでより収益を上げる方法をお伝えします。これは結果として生じる資金曲線の成長が幾何学的または指数関数で放物線の形を取ります。特にラルフ・ビンス氏によって開発された実用的な「固定比率」のポジションサイジングの MQL5 のバリアントを実装します。
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

本稿では Expert Advisor のファイルに音声ファイルをインクルードすること、それによりトレードイベントに音声通知を追加するなどの問題を考察します。事実、ファイルのインクルードが意味するところは Expert Advisor内に音声ファイルを入れるということです。よってコンパイルされた Expert Advisor (*.ex5) バージョンを他のユーザーに提供する際、音声ファイルは提供せずそれがどこの保存されるか説明する必要があるのです。
マルチ通貨システム エキスパートアドバイザーの作成
マルチ通貨システム エキスパートアドバイザーの作成

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

この記事は、複数のシンボルをトレードし、同時にいくつものトレーディングシステムを使用するエキスパートアドバイザーのストラクチャーを紹介します。もしすでにすべてのEAにおいて最適な入力パラメーターを特定し、それぞれに対して個別に良いテスト結果を得ているのであれば、もしすべての戦略を合わせて同時に全EAをテストすればどのような結果を得ることができるか、ご自身に尋ねてみてください。
UML ツールを用いたExpert Advisorの開発方法
UML ツールを用いたExpert Advisorの開発方法

UML ツールを用いたExpert Advisorの開発方法

本稿では UML グラフィカル言語を用いたExpert Advisorの開発方法についてお話します。そのツールはオブジェクト指向のソフトウェアシステムのビジュアルモデル化に使用されるものです。この方法のおもなメリットはモデル化プロセスの可視化です。本稿には Software Ideas Modelerを使用したExpert Advisorの ストラクチャとプロパティのモデル化を示す例が含まれています。
MetaTrader 5での自己組織化機能マップ(Kohonenマップ)の使用
MetaTrader 5での自己組織化機能マップ(Kohonenマップ)の使用

MetaTrader 5での自己組織化機能マップ(Kohonenマップ)の使用

自己組織化機能マップ(Kohonenマップ)の最も興味深い特徴に一つとして、データを監視することなく分類するという点です。基礎的な形式では、入力データの類似マップを作成します。SOMマップは、高次元のデータの分類とビジュアル化のために使用することができます。この記事では、Kohnenマップのいくつかの簡単な使用方法を紹介します。
Expert Advisor ビジュアルウィザードを用いたExpert Advisorsの作成
Expert Advisor ビジュアルウィザードを用いたExpert Advisorsの作成

Expert Advisor ビジュアルウィザードを用いたExpert Advisorsの作成

MetaTrader 5 用Expert Advisor ビジュアルウィザードは、数分でExpert Advisを設計することができる理解しやすい定義済みトレーディンブロックセットを伴う高い直観的グラフィカル環境を提供します。Expert Advisor ビジュアルウィザードのクリック、ドラッグ、ドロップ方法により鉛筆と紙で行うように外為トレーディング戦略のビジュアル表現とシグナルを作成することができます。こういったトレーディングダイアグラムは、それらをすぐに使える Expert Advisorsに変換するモラニス社製 MQL5によって自動的に分析されます。連携したグラフィカル環境は設計プロセスを簡素化し、 MQL5 コードを書く必要はなくなります。
トレーダミネーター 3:売買ロボットの台頭
トレーダミネーター 3:売買ロボットの台頭

トレーダミネーター 3:売買ロボットの台頭

記事 "Dr. Tradelove..." で Expert Advisorを作成しました。それは選択済みのトレーディングシステムのパラメータを自立的に最適化するものです。それ以上に EAにある一つのトレーディングシステムのパラメータだけを最適化するのではなく、複数あるトレーディングシステムから最良のものを選ぶExpert Advisorを作成しようと決めました。それがどうなったか見ていきます。
AutoElliottWaveMaker -  Elliott Wavesの半自動分析のためのMetaTrader 5ツール
AutoElliottWaveMaker -  Elliott Wavesの半自動分析のためのMetaTrader 5ツール

AutoElliottWaveMaker - Elliott Wavesの半自動分析のためのMetaTrader 5ツール

本稿は AutoElliottWaveMakerのレビューを行います。 - 手動と自動の組合せの波形ラベリングを表す MetaTrader 5 におけるElliott Wave分析に対する初めての開発です wave labeling. 波形分析ツールは包括的に MQL5 で書かれており、外部 dll ライブラリはインクルードしていません。これは MQL5で洗練されたおもしろいプログラムが開発できる(するべきである)というもうひとつの証明です。
トレードラブ博士または いかに心配することを止め、自習 Expert Advisorを作成したか
トレードラブ博士または いかに心配することを止め、自習 Expert Advisorを作成したか

トレードラブ博士または いかに心配することを止め、自習 Expert Advisorを作成したか

ちょうど1年前 jooは彼の記事 "Genetic Algorithms - It's Easy!"の中で MQL5で遺伝的アルゴリズムの実装用ツールを提供してくれました。今われわれはそのツールを使用して特定の境界条件において自身のパラメータを遺伝的に最適化する Expert Advisor を作成しようとしています。
「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 コードを作成します。
非加法的統計分布構造解析への固有座標法の応用
非加法的統計分布構造解析への固有座標法の応用

非加法的統計分布構造解析への固有座標法の応用

応用統計学の主な問題は受け入れる統計仮説の問題ですそれはながらく解決不可能と考えられていました。しかし、固有座標法の登場により状況は一変しました。それはシグナルの構造学にとってすぐれた力強いツールであり、近代的な応用統計学手法を用いることで、可能なこと以上のものを見極めることができるようになります。本稿はこの手法の実践的使用に着目し、MQL5によるプログラムの説明をします。また Hilhorst と Schehrによって紹介される分布例を交えて関数同定の問題も取り上げます。
ニューラルネットワーク:理論~実践
ニューラルネットワーク:理論~実践

ニューラルネットワーク:理論~実践

今日、トレーダーはだれしもニューラルネットワークについて聞いたことがあり、それを使うのがかっこいいということがわかっています。多数の人がニューラルネットワークを利用してディールを行える人はスーパーヒューマンだと思っています。本稿ではニューラルネットワークのアーキテクチャを説明し、アプリケーションについて記述し、実用例を示していこうと思います。
MQL5 マーケットプロダクツ購入はどの程度安全か?
MQL5 マーケットプロダクツ購入はどの程度安全か?

MQL5 マーケットプロダクツ購入はどの程度安全か?

これまでセキュリティ問題には多大な注意を払って MetaTrader 5 トレーディングアプリケーションの販売に関するサービスを導入してきました。関連するリスクを最小限に抑え、みなさんがもっと大切な課題;最適な売買ロボットを検索すること、に集中できるようにしてきました。
カスタムインジケーターに基づくトレーディングシグナルジェネレーター
カスタムインジケーターに基づくトレーディングシグナルジェネレーター

カスタムインジケーターに基づくトレーディングシグナルジェネレーター

カスタムインジケーターに基づくトレーディングシグナルジェネレーターはどのように作成するのでしょうか?カスタムインジケーターはどのように作成するのでしょうか?カスタムインジケーターのデータへのアクセスはどのように取得するのでしょうか?IS_PATTERN_USAGE(0) ストラクチャーとモデルがなぜ必要なのでしょうか?
プライスアクション。つつみ線パターンのトレード戦略を自動化するには
プライスアクション。つつみ線パターンのトレード戦略を自動化するには

プライスアクション。つつみ線パターンのトレード戦略を自動化するには

本稿はつつみ線パターンに基づくメタトレーダー4のためのエキスパートアドバイザーを作成する手順について書かれています。パターン認識のルール、待機注文とストップ注文の設定ルールについても書かれています。テストと最適化の結果もあなたの質となるよう提供します。
プライスアクション。はらみ足(Inside Bar)トレード戦略の自動化
プライスアクション。はらみ足(Inside Bar)トレード戦略の自動化

プライスアクション。はらみ足(Inside Bar)トレード戦略の自動化

本稿は、はらみ足戦略に基づくメタトレーダー4エキスパートアドバイザーの開発について書かれています。ペンディングとストップオーダーのセッティングルールと、はらみ足と判断する規則についても述べられています。テストと最適化の結果が書かれています。
Connecting NeuroSolutions Neuronets
Connecting NeuroSolutions Neuronets

Connecting NeuroSolutions Neuronets

ニューロネットの作成に加え、NeuroSolutions ソフトウェアスウィートによりそれらを DLLとしてエクスポートすることが可能となります。本稿では、ニューロネット作成とDLL生成とそれを MetaTrader 5でのトレーディングのためExpert Advisor に連携する手順について述べています。
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法

MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法

MQL5ウィザードのトレーディング戦略ジェネレータはトレーディングの考え方を検証することをひじょうに簡素化します。本稿では、MQL5 ウィザードでトレーディング戦略を書く方法、ジェネレータを、価格がポジション方向に行くときストップロスを無損失ゼロレベルへ移動させることでトレーディングの際減益ドローダウンを守ることのできるオープンポジションを管理する独自のクラスと連携させる方法について述べます。MQL5 ウィザード用に作成されたクラスのストラクチャおよび記述フォーマットについても述べます。
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法

MQL5 ウィザード:リスクおよび資金管理モジュール作成方法

MQL5ウィザードのトレーディング戦略ジェネレータはトレーディングの考え方を検証することをひじょうに簡素化します。本稿では独自のリスクおよび資金管理モジュールの作成と、MQL5 ウィザードでそれを有効にする方法について述べました。例として、資金管理アルゴリズムを取り上げました。そこではトレードボリュームが前回ディールの結果を基に決定されます。またMQL5 ウィザード用に作成されるクラスのストラクチャおよび記述フォーマットについても述べます。
MQL5ウィザード:トレーディングシグナル用モジュール作成方法
MQL5ウィザード:トレーディングシグナル用モジュール作成方法

MQL5ウィザード:トレーディングシグナル用モジュール作成方法

この記事は、価格のクロスオーバーと移動平均に関するシグナルの実行とともに、トレーディングシグナルクラスの記述方法、 MQL5ウィザードのトレーディングストラテジー生成プログラムへの挿入方法、MQL5ウィザードにおいて生成されるクラスの記述フォーマットやストラクチャーについて紹介します。
MQL4プログラムの代表的なエラーとその対処法
MQL4プログラムの代表的なエラーとその対処法

MQL4プログラムの代表的なエラーとその対処法

旧バージョンのコンパイラでは、プログラムを強制終了しないために、多くのエラーは実行環境で処理されていました。例えば、ゼロ除算エラーや配列の範囲を越えるなどは重大なエラーです。この重大なエラーがプログラムの強制終了をもたらします。新しいコンパイラのおかげで、実際のエラーソースと潜在的エラーソースを見つけ、コードの質を向上させることができます。この記事では、古いプログラムのコンパイル時に起りうるエラーと、その対処法について検証していきます。
ミクロ、ミドル、メイントレンドのインディケータ
ミクロ、ミドル、メイントレンドのインディケータ

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

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

トレーディングモデルに基づくマルチエキスパートアドバイザーの作成

MQL5にてオブジェクト指向のアプローチを使用すると、マルチ通貨・マルチシステム・マルチタイムフレームのエキスパートアドバイザーの作成を大幅に単純化することができます。全てのタイムフレーム、全ての金融商品において、いくつものトレーディング戦略に基づいた取引をあなたのEAが行うことを想像してみてください。さらに、EAはテスターにて簡単にテストすることができ、すべての戦略において、稼働する資産管理システムがいくつもあります。
MetaTrader 5での並列計算
MetaTrader 5での並列計算

MetaTrader 5での並列計算

人類の歴史において時間は高価値であり、われわれはそれを無駄に費やさないよう努力しています。本稿では、マルチ コア プロセッサのコンピュータをご使用の場合、お手元のExpert Advisor の動作スピードを上げる方法について述べていきます。また、提案のメソッド実装には MQL5以外の言語知識は必要とされません。
定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築
定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築

定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築

すべての取引を自動で行うトレーダーもいれば、複数インディケータのアウトプットを基にして自動と手動のミックスで取引を実行するトレーダーもいます。後者のグループの一員として、私はリスクと利益をチャートから直接、動的に評価するための連携ツールが必要でした。本稿は、定義済みの資本リスクおよびR/Rレシオを連携する半自動化Expert Advisorを実装する方法を提供します。EA パネル実行中には、 Expert Advisor リスク、R/R、ロットサイズ パラメータが変更可能です。
MQL5でトレンドを見つけるいくつかの方法
MQL5でトレンドを見つけるいくつかの方法

MQL5でトレンドを見つけるいくつかの方法

あらゆるトレーダーが、所定の時点におけるトレンドを正確に見つけるための多くの機会を提供することができます。これはおそらく、誰もが探している聖杯です。本稿では、トレンドを見つけるいくつかの方法を検討していきます。それはより正確に言えば-MQL5を用いてトレンドを見つけるいくつかの伝統的な方法をプログラムする方法、です。
MQL5ウィザード:プログラミングしないExpert Advisorsの作成
MQL5ウィザード:プログラミングしないExpert Advisorsの作成

MQL5ウィザード:プログラミングしないExpert Advisorsの作成

プログラミングで時間を無駄にせずトレーディング戦略を試してみたいと思いませんか?MQL5ウィザードではただトレーディングシグナルを選び、トレーリングポジションと資金管理のモジュールに追加するだけです。 - それで仕事は終わりです!独自のモジュール実装または、Jobsサービスから注文します。 - そうして新しいモジュールを既存のモジュールと融合させるのです。
Simulink:Expert Advisors開発者へのガイド
Simulink:Expert Advisors開発者へのガイド

Simulink:Expert Advisors開発者へのガイド

私はプロのプログラマではありません。そのため、トレーディングシステムの作業をする際、「シンプルから複雑へ」という原則は私にとって重要なものです。では私にとってシンプルとは正確にどういうことを言うのでしょうか?まず、システム作成プロセスの視覚化、そしてその動作のロジックです。また、手書きコードを最小限に抑えることです。本稿では、Matlabパッケージを基にトレーディングシステムを作成し検証することを目指しています。そしてIMetaTrader 5用のExpert Advisorを書いていきます。検証段階ではMetaTrader 5からの履歴データを使用します。
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

自動トレーディングシステム選手権2010に参加するためのエクスパート開発をめざし、すぐに使えるExpert Advisorテンプレートを使用します。Even novice MQL5プログラマの初心者でもこのタスクをこなすことは可能です。というのも戦略のために基本クラス、関数、テンプレートがすでに準備されているからです。よってみなさんのトレーディングの考えに合う最低限のコードを書いて実装すれば十分です。
Expert AdvisorプログラミングにおけるMQL5標準トレードクラスライブラリの使用
Expert AdvisorプログラミングにおけるMQL5標準トレードクラスライブラリの使用

Expert AdvisorプログラミングにおけるMQL5標準トレードクラスライブラリの使用

本稿は、Expert Advisorプログラミングにおいてポジションのクローズ、変更、指値注文出し、取引セット前のマージン削除と検証を実装する MQL5標準トレードクラスライブラリの使用方法について述べていきます。注文と取引詳細情報の取得に使用できるトレードクラスの使い方もお見せします。
指定されたマジックナンバーによるトータルポジションボリューム計算のための最適化された手法
指定されたマジックナンバーによるトータルポジションボリューム計算のための最適化された手法

指定されたマジックナンバーによるトータルポジションボリューム計算のための最適化された手法

本稿では指定されたシンボルのトータルポジションボリューム計算とマジックナンバーに関する問題について考察します。提案する手法では取引履歴の最小限を要求し、トータルポジションがゼロに最も近い時刻を見つけ、最近の取引についての計算を行います。クライアント端末のグローバル変数による作業も考察します。
MQL5オブジェクト指向のプログラミングアプローチを使ったExpert Advisorのプログラミング
MQL5オブジェクト指向のプログラミングアプローチを使ったExpert Advisorのプログラミング

MQL5オブジェクト指向のプログラミングアプローチを使ったExpert Advisorのプログラミング

本稿では初心者のためのAdvisor in MQL5でプログラミングをする段階的ガイドで行ったこと、すなわちExpert Advisor作成に対してオブジェクト指向のアプローチに注目します。ほとんどの方はこれは難しいと思われるでしょう。しかし本稿を読み終わるまでにみなさんはブジェクト指向でExpert Advisorを書けるようになっている、という点をはっきり述べておきたいと思います。
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用

単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用

本稿は、異なるExpert Advisorsの自動トレーディングの分割、組立て、同期同様magic-identificationを使用したインフォメーションコーディングの疑問について考察します。本稿は、より経験を積んだトレーダー同様初心者にも興味深い内容となっています。その理由は、Expert Advisorsおよび様々な戦略の複雑なシステムの同期を実装するのに有用な垂直ポジションの疑問に取り組んでいるからです。
かずかずのインスツルメントで取引を行うExpert Advisorの作成
かずかずのインスツルメントで取引を行うExpert Advisorの作成

かずかずのインスツルメントで取引を行うExpert Advisorの作成

ファイナンシャルマーケットにおける資産の多様性概念はかなり古いもので常に初心者のトレーダーを魅了してきました。本稿では、複数通貨対応Expert Advisorの構築をトレード戦略を扱う最初の導入として最大限にシンプルな手法で行います。
平均足インジケーターに基づくトレーディングシステムの例
平均足インジケーターに基づくトレーディングシステムの例

平均足インジケーターに基づくトレーディングシステムの例

この記事は、トレーディングにおける平均足インジケーターの使用についての疑問を詳しく見ていきます。このインジケーターに基づき、簡単な取引システムが検討され、MQL55アドバイザーが記述されました。取引処理は、Standardクラスライブラリに基づき実行されます。トレーディング戦略のテスト結果は、履歴に基づき、内蔵MetaTrader5ストラテジーテスター使用し、取得されます。
ポジション中心のMetaTrader5の環境での注文追跡管理機能付き注文マネージャー
ポジション中心のMetaTrader5の環境での注文追跡管理機能付き注文マネージャー

ポジション中心のMetaTrader5の環境での注文追跡管理機能付き注文マネージャー

このクラスライブラリは、MetaTrader5のエキスパートアドバイザーに追加し、MetaTrader5のポジション中心のアプローチと比べ、MetaTrader4と類似したオーダー中心のアプローチに書き換えることができます。各ポジションの保護のために、ブローカーによるストップを維持する一方、MetaTrader5のターミナルにて注文を管理することで、上記を実現します。
MQL5での「スネーク」ゲームの作成
MQL5での「スネーク」ゲームの作成

MQL5での「スネーク」ゲームの作成

本稿では『スネーク』ゲームのプログラム例を述べていきます。MQL5では、主にイベントハンドル機能によりゲームのプログラムが可能となりました。オブジェクト指向プログラミングによりこのプロセスが格段に簡素化されます。本稿では、イベント処理機能 標準的な MQL5 ライブラリクラスの使用例、また定期的関数呼び出しの詳細を学習します。
MQL5におけるトレーディング用コントロールパネルの作成
MQL5におけるトレーディング用コントロールパネルの作成

MQL5におけるトレーディング用コントロールパネルの作成

この記事は、MQL5のコントロールパネルの開発における問題を取り扱っています。インターフェイスは、イベントハンドリングによって管理されています。加えて、管理の柔軟なセットアップ方法が複数あります。コントロールパネルは、ポジションを扱い、また、設定、修正、削除や、未決注文も管理します。