「EA 階層」を用いたMQL5 Expert Advisors の簡単作成
はじめに
「EA 階層」 は最初のドラッグアンドドロップ MetaTrader MQL5 Expert Advisor ビルダーです。みなさんのコンピュータでローカルに実行しているのはウィンドウズのアプリケーションです。グラフィックユーザーインターフェースを用いて複雑な MQL5 を作成することが可能です。
「EA 階層」ではボックスをつなぐことによってExpert Advisors を作成します。ボックスには MQL5 関数、テクニカルインディケータ、カスタムインディケータ、値などが入っています。あるボックスのアウトプットは別のボックスのインプットに連結し、『ボックスの階層』を形成します。EA 階層は『ボックス階層』から MQL5 コードを作成し、その後お手持ちのコンピュータにインストールされたMetaTrader 5 プラットフォームを使用して MQL5 コードを実行可能な Expert Advisorに変換します。
図1 EA 階層グラフィックユーザーインターフェース
以下の項では「EA 階層」の基本コンポーネントを検証していきます。
1. 基本コンセプト
『ボックス』と『ボタン』のコンセプト
ボックスは「EA 階層」内の情報を表現します。そこにはテクニカルインディケータ、数学的関数等が含まれています。各ボックスにはインプットボタンとアウトプットボタンがあります。この例ではボックス「追加」にA、B、С のラベルが付けられたインプットボタンが3つと、OUTとラベルのつけられたアウトプットボタンが1つあります。
各ボックスにはインデックスに従った名前を用いて独自のラベルが付けられています。今回の例ではラベル Add_1 ボックス名が「追加」 でインデックスが1であることを示しています。これはボックスレイアウトに最初に作成されたボックスであることを意味します。
図2 ボックス追加
ボタン連結
両者が同じデータタイプであれば、一つのボックスのアウトプットボタンは別のボックスのインプットボタンに連結されます。たとえば両方がダブルデータタイプの場合です。
今回の例では、Add_2 ボックスの OUT ボタンを If_Else_1 ボックスの A ボタンに連結します。
図3 "Add" ボックス + "If-Else" ボックス
2. 『トレード』ボックス
「トレード」ボックスは EA 階層の主要なボックスです。それには多くのインプットボタンがあります。もっとも重要なボタンは openLong、openShort、closeLong、 closeShort です。それにはまた数多くのトレーディングパラメータもあります。
図4 『トレード』ボックス
3. 『MM』(資金管理)ボックス
MM ボックスは「EA 階層」において「資金管理」を行います。それには数個のインプットボタンがあります。そのアウトプットボタンを「トレード」ボックスの MM ボタンに連結します。
図5 『トレード』ボックス + MM ボックス
4. ロジックボックス
「ロジックボックス」はトレードボックスの条件ボタン同士を連結するのに重要です。: openLong、openShort、closeLong、 closeShort やレイアウト内残りのボックスです。
If-Else ロジックボックス
If-Else ボックスはそのロジックを持ちます。
A 演算子 B であれば、T(アウトプットボタン)は 真、 そうでなければ F(アウトプットボタン)は真。
ここで演算子は~に等しい、~に等しくない、~未満、~より大きい、がありえます。
図6 "If-Else" ロジックボックス
クロスオーバーロジックボックス
クロスオーバー ボックスはこのロジックを持ちます。
A 演算子1 B そして C 演算子2 D であれば T(アウトプットボタン)は真、そうでなければ F(アウトプットボタン)は真。
ここで演算子1 および演算子2 は~に等しい、~に等しくない、~未満、~より大きい、がありえます。shift ボタンは連結するインディケータの インデックスを設定します。
今回の例ではこのロジックです。
図7 『クロスオーバー』 + 『ストキャスティクス』 ロジックボックス
AND ロジックボックス
AND ボックスは次のロジックを持ちます。
A AND B AND C AND D であれば OUT(アウトプットボタン)は 真
図8 『AND』ボックス
OR ロジックボックス
OR ボックスは次のロジックを持ちます。
A OR B OR C OR Dであれば、 OUT(アウトプットボタン)は真
図9 『OR』ボックス
5. テクニカルインディケータボックス
MACD や 移動平均 (MA)テクニカルインディケータボックスなど、テクニカルインディケータメニューに挙げられている テクニカルインディケータは数多くあります。
MACD テクニカルインディケータボックス
図10 MACD テクニカルインディケータボックス
MA (移動平均)テクニカルインディケータボックス
図11 MA (移動平均)テクニカルインディケータボックス
6. カスタムインディケータ
テクニカルインディケータツールは「テクニカルインディケータメニュー」と「ツールバー」で利用可能です。「EA 階層」はただの MQL5 カスタムインディケータです。
7. MQL5 関数
「EA 階層」には以下を含む数多くの MQL5 関数向けボックスがあります。
- iOpen、iClose、HighestHigh、 LowestLowなどの「時系列ボックス」
- 変換関数
- 数学的関数
- 文字列関数
8. 解説:シンプルな Expert Advisor の作成
本セクションでは本稿で取り上げられているツールを何点か使用してシンプルな EAを作成します。
まず Expert Advisor のトレードルールをリストアップします。
エントリールール:
ロングポジションをオープンします。
ショートポジションをオープンします。
終了ルール
ロングのクローズ:「ショートのオープン」に同じ
ショートのクローズ:「ロングのオープン」に同じ
デフォルトのトレードボックスを使用し、資金管理設定はしません。
では始めましょう。
1. 「トレード」ボックスを作成し AND ボックスを作成します。そしてそのアウトプットをトレード」ボックスの openLong ボタンに連結します。
図12 トレードボックス + And ボックス
2. 使用のクロスオーバーボックスを作成しその T(真) アウトプットボタンを And ボックスの A ボタンに連結します。
図13 トレードボックス + And ボックス + クロスオーバーボックス
3. 使用の MACD ボックスを作成し、それの「メイン」アウトプットボタンをクロスオーバーボックスの A ボタンと Cボタンに連結します。またその「シグナル」アウトプットボタンをクロスオーバーボックスの B ボタンと D ボタンに連結します。.
ここでのロジックは以下です。
図14 トレードボックス + And ボックス + MACDボックス
4. MA と If-Else ボックスを作成します。 MAボックスのメインアウトプットボタンを If-Else ボックスの A ボタンと Bボタンに連結します。 If-Else ボックスのOUTPUT をAnd ボックスのBボタンに連結します
openLong 条件のサブ階層は今、これら3つの条件で完成しました。
図15 トレードボックス + And ボックス + クロスオーバーボックス+ MACDボックス+ MAボックス+ if else ボックス
5. 別の And ボックスを作成し、そのアウトプットボタンをトレードボックスの openShort ボタンに連結します。
6. openShort ロジックは openLong の逆なので、クロスオーバーボックスの F アウトプットボタンを新しい And ボックスのA ボタンに連結します。また、If-Else ボックスのF アウトプットボタンを新しいAnd ボックスの B ボタンに連結します。
図16 トレードボックス + And ボックス + クロスオーバーボックス+ MACDボックス+ MAボックス+ if else ボックス + And ボックス
7. 終了シグナルを取得するため、最初のAnd ボックスの OUT 変数をトレードボックスの closeLong ボタンに連結し、二番目のAnd ボックスのOUT 変数をトレードボックスの closeShort b ボタンに連結します。
図17 トレードボックスへの CloseShort 追加
8. MACD および MA ボックスの両方でダブルクリックして作成する MQL5 EA のインプット変数とする変数の数を選択します。
図18 入力パラメータ
9. これでレイアウトは完成です。「レイアウト」を保存し、MQL5 ファイルを保存します。そしてMetaEditor 5 で新規MQL5 Expert Advisorファイルを開き、これをコンパイルします。
図19 作成された Expert Advisor
10. ついに MetaTrader 5 ストラテジーテスタで選択したインプット変数を最適化します。
図20 Expert Advisorの検証
おわりに
「EA 階層」を使用するメリットは以下のように数々あります。
- やさしいドラッグアンドドロップのグラフィックユーザーの使用と理解
- プログラム経験は不要
- MQL5をすぐに学習可能
- トレーディング秘訣の守秘
- 数日、数か月の代わりに数分と、Expert Advisor 作成時間の削減
- 複数通貨および複数時間枠対応の複雑な MQL5 Expert Advisors が作成可能
- Expert Advisorへの複数トレーディング戦略組み込み可能
- コードを保存しダイアグラム(ボックス階層図)をロードすることで簡単に再利用可能
- それでもMQL5 カスタムインディケータはインポート可能
- いつでも正しい MetaTrader 5 MQL が作成可能
MetaQuotes Ltdにより英語から翻訳されました。
元の記事: https://www.mql5.com/en/articles/337
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索