カスタムインジケーターを用いたEAを作ろう
はじめに
GogoJungle / Skijan を運営しております、株式会社ゴゴジャンです。
今回は、EAつくーるの基本的な操作について理解した方向けに、カスタムインジケーターを用いたEAの作成方法について紹介します。
EAつくーるに初めて触れる方は、ぜひ下記リンクから過去の記事をご覧ください。
・EAつくーるの基本操作と使い方
・取引条件について徹底解説
・オプションについて知ろう
・ゴールデンクロスを用いた簡単なEAを作ろう
・MACDを使ってみよう
・ナンピン・ピラミッディングを使ってみよう
目次
・カスタムインジケーターとは?
・カスタムインジケーターを用いたEAについて
・インジケーターの計算項目を知ろう
・EAにカスタムインジケーターを組み込む
・パラメータの設定について
・おわりに
カスタムインジケーターとは?
カスタムインジケーターとは、ユーザーが有志で開発したインジケーターのことです。無料のものから有料のものまで、様々なコンテンツが用意されています。
MT4/MT5に標準で入っているインジケーターの種類は30種類程度ですが、このカスタムインジケーターを導入することで、より豊富な種類のテクニカル指標を用いたトレードが可能になります。
下の画像は、2種類の移動平均線を表示し、ゴールデンクロス発生時に矢印でサインを表示するカスタムインジケーターになります。これは非常に簡単なものになりますが、このように取引の目安となるサインを表示するツールなども豊富に存在します。
MT4/MT5におけるカスタムインジケーターはMQLというプログラミング言語で書かれており、プログラミングができない方もツールなどを用いて自身で開発することが可能です。
弊社が販売する「インジケーターつくーる」では、プログラミングの知識なしで様々な条件のカスタムインジケーターを作成することができますので、そちらの方も是非よろしくお願いいたします。
カスタムインジケーターを用いたEAについて
EAつくーるでは、カスタムインジケーターを用いてEAを作成することが可能です。
カスタムインジケーター内のサインが出るタイミングや、計算に用いている項目の変化によって自動的に取引を行うように条件を設定することで、EAのロジックにカスタムインジケーターを組み込むことができます。
※カスタムインジケーターは、開発者ごとに仕様が異なりますので、EAつくーる内で使用するためにはいくつかのステップを踏む必要があります。
インジケーターの計算項目を知ろう
まず、EAにカスタムインジケーターを組み込むためには、そのインジケーターが用いてる計算項目や設定数値について知る必要があります。
例えば、上方向の矢印のサインが出たらエントリーするように作成したい、もしくはラインAとラインBを現在値が下回ったときは決済したい、といったプログラムを作ると考えましょう。
その際、EAつくーる上で処理する時に、サインの発生やインジケーターの変化を「数値」としてシステム上対応した項目として扱う必要があります。
先ほどのゴールデンクロス発生時にサインを出すインジケーターで、その計算項目について確認してみましょう。
MT4上でインジケータを読み込んだ状態で、チャートのデータ・ウィンドウを表示すると、以下のように情報が表示されます。
この時、インジケータ(GoldenCross M30)が使用している項目として「GoldenCross M30(計算項目0)」「計算項目1」「計算項目2」が表示されます。
そして、サインが出ているローソクに対してカーソルを合わせると、空欄だった「計算項目2」にも値が表示されます。また、チャートと合わせて見ると「計算項目0」は短期移動平均線、「計算項目1」は長期移動平均線に対応していることが分かります。
これによって、矢印が表示される際は「計算項目2」にそのローソクの値を出力していることが確認できました。
EAにカスタムインジケーターを組み込む
それでは、実際にここで把握した情報を用いてEAにカスタムインジケータを組み込んでみましょう。計算項目を条件に組み込む際にはいくつか注意が必要です。
例として取り上げたゴールデンクロスのインジケーターでは、矢印の出現時に「計算項目2」に値が表示されていました。
これを用いて条件を設定します。
カスタムインジケーターとの連携
まずは、条件設定で左辺に「カスタムインジケーター」を選択し、カスタムインジケーターとの連携の部分について確認しましょう。
「インジケーター名」と「計算項目」に適切な内容を入力することで、用いるインジケーターと計算項目の番号について設定することができます。
今回の場合は「インジケーター名:GoldenCross M30」「計算項目:2」に設定しています。
条件式の設定
次に、条件式とその中で用いている数値について注目しましょう。
本来設定したい条件は「計算項目2が空欄でないとき」というものですので
「カスタムインジケーター(計算項目:2) > 0」
などが適切であるかと思われますが、MT4とカスタムインジケーターの仕様上、以下のように設定しました。
「カスタムインジケーター(計算項目:2) < 200」
このように設定することによって、計算項目:2の中身が空欄でなく、かつ200以下の場合に条件が満たされるという条件になります。
このように条件式を設定したのには下記理由があります。
データ・ウィンドウで「計算項目:2」が空欄の時、私たちの目からは値が何も入っていないかのように見えますが、実際は矢印が表示されていない時にも下記のように2147483647 の値が出力されていることがあります。
2023.07.22 20:55:13.735 2023.05.27 06:00:00 GoldenCross M30 USDJPY_,H1: 2147483647.0
これは、空欄を示す要素として、プログラムで扱う変数(int型)の最大値 2147483647 を返しているためだと考えられます。
こうしたMT4とカスタムインジケーターの仕様から、条件式を「カスタムインジケーター(計算項目:2) > 0」で設定するとうまく動かなくなってしまう事があるため、上記のように設定しました。
※インジケーターによっては、最大値2147483647ではなく、0で処理されている場合もありますので、それに応じて条件は変更する必要があります。
パラメータの設定について
次に、カスタムインジケータのパラメータの設定についてです。今回のプログラムでは必要ありませんが、中にはパラメータを設定する必要があるカスタムインジケーターがあります。
EAつくーるの条件設定においては、(+)ボタンで、「true」「14」「abc」のように入力すればカスタムインジケーターのパラメータを問題なく読み込むことができます。
動作確認
上記の条件を組み込んだプログラムでバックテストを行った結果、サインの出現に応じて買い注文を行っている様子が確認できました。(便宜上、損切りと利食いを簡単に設定しています。)
おわりに
カスタムインジケーターを用いたEAの作成方法については以上になります。
EAつくーるで作成したEAは、条件の組み合わせ、条件指定の誤りなど、様々な理由で意図したとおりに稼働しない場合もございます。
バックテストおよびデモ口座にて、稼働確認ができてから、リアル口座にて稼働開始をお願いいたします。
今後とも「EAつくーる」をよろしくお願い申し上げます。
よろしいですか?