第八回 インディケータを自由にEA組み込んでみよう!

今回は、MT5に外部から登録したカスタムインディケータを自由にEAに組み込む方法をご紹介します。
オリジナルのインディケータや関数が用意されているテクニカル指標関数以外のインディケータの計算値をEAに利用できるようになります。

登録したインディケータをEAに組み込む例

ここではiCustom関数を使用することで、MT5上のデータフォルダ内に配置したカスタムインディケータファイルを読み込み使用することができます。
※対象となるIndicatorファイルはコンパイルした .ex5拡張子のファイル形式でデータフォルダ下、MQL5/Indicators ディレクトリもしくはサブディレクトリ配置する必要があります。 

MT5クライアントからデータフォルダ内のMQ5/Indicatorファイルへのアクセス 

では早速プログラムを見ていきましょう。

1.ハンドル値の取得
今回はインストール時にサンプルとして入っているCustom Moving Average (MT5データフォルダ/MQL5/indicator/Example)を読み込み、使用します。

※Custom Moving Average にはナビゲータウィンドウから”インディケータ/Example/Custom Moving Average ”とアクセスをします。

iCustom関数には使用するIndicatorのMT5上のパスを指定し、該当のIndicatorのパラメータを順番にセットします。
※パラメータを設定しない場合にはIndicatorの初期値が適用されます。

2.配列値の取得
iCustom関数を使用してメモリ上に展開したIndicatorからCopyBuffer関数を用いて配列コピーして計算値を使用できます。

※今回のEAではメモリ上に展開したインディケータのデータをEAの取引に利用する目的のため、チャート上への描画処理をしません。

MQL5: iCustom関数について
https://www.mql5.com/ja/docs/indicators/icustom 

MT4にも同じ関数がありますが、 引数が異なり、 取得できる値は指定した1時点でのデータを取得する形式となります。都度関数を呼び出し、計算が必要です。
iCustom関数: https://docs.mql4.com/indicators/icustom 
MT4では取得するIndicator LineのIDとシフト値が必要になります。

MT5ではインディケータのハンドル値を使用して、複数の指標ラインの配列を効率良く一括で取得可能です。
※参考記事:第五回テクニカル分析指標を使って取引しよう!

このような方法で、どのようなIndicator でもEA上でデータを読み込むことが可能です。

またMT5のCustom Indicator については、下記のMQL5のリンクから様々なIndicatorを見つけることができます。
自分の目的に合ったIndicatorを見つけて取引に利用してみましょう!

Originally posted 2019-08-12 13:33:30.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です