前回はEAを作るときに参考になるお勧めリンクなどを紹介しました。今回はMT5で標準的に利用できるテクニカル指標を利用して取引を行うEAを作成してみましょう。

テクニカル分析指標とは、過去の銘柄の価格、取引実績、様々な情報を時系列パターンから価格予想・分析をするための手法です。

MT5で利用できるテクニカル分析指標とはどのようなものがあるのでしょうか?大きく目的にわけて、4種類の標準テクニカル分析指標をご用意しています。

トレンド系相場の方向性(トレンド)を分析するための目安となる指標となります。買い方向 (上昇トレンド) 、売り方向 (下落トレンド )、レンジ相場 (ボックストレンド )等の相場の流れを予測に有効な指標です。

オシレーター系相場の変化の大きさ(ボラティリティ) や銘柄の値頃感(買われすぎ、売られすぎ)等の情報を分析して指標から銘柄の予測に有効な指標です。 一般的にオシレーター系は逆張り投資に有効なテクニカル指標とされています。

ボリューム系各銘柄の取引量に基づいた計算指標が含まれます。FXでは一定期間でのティック(価格の変動)、CFDの場合は取引量が分析の指標となります。

ビルウィリアムズ指標 ビルウィリアムズ指標は、市場心理学、市場分析、カオス理論等の研究に基にビルウィリアムズ 博士によって開発されたテクニカル分析指標です。6つの指標はTRADING CHAOS(邦題: 相場の達人―常勝のカオス思考) の中で紹介されている指標です。

MT5で用意している38の指標についての詳細は、こちらのページからそれぞれのカテゴリー毎にご確認いただけます。
MT5のヘルプ – テクニカル指標https://www.metatrader5.com/ja/terminal/help/charts_analysis/indicators

EAを用いたテクニカル分析指標の値の取得方法について

MT4では下記のような関数でそれぞれのテクニカル指標に関して、指定したチャートのバー番号からスポットでの分析指標の計算結果を取得できました。

MQL4 Document:
istochastic – Stochastic Oscillator指標の指定時点の値を取得

MQL5 Document:
iStochastic – Stochastic Oscillator指標のハンドル取得
ハンドルを使って、配列内のデータをピックアップする

MT5MT4では、大きく次のような違いがあります。

MT5では1種類のテクニカル分析指標値取得に関しては下記のような方法を用いて一括でまとめて値(配列)を取得することができます。(例: Stochastic Oscillator)

サンプル内使用関数の仕様は下記のMQL5上のリンクでご確認いただけます。
CopyBuffer – 指標の指定されたバッファデータを取得
ArraySetAsSeries – 配列を時系列データのような配列に並び替える

※CopyBufferで使用する引数の情報は下記のリンク内の各分析指標毎の値を確認して設定いただくことで、必要な配列が取得できます。
https://www.mql5.com/ja/docs/indicators

テクニカル分析指標を利用した取引ツールについて

実際に2種の分析指標を使用した取引を実行するためのEAを作成してみましょう。今回はオシレータ系の Stochastic Oscillator(ストキャスティックス)指標 とLarry Williams’ Percent Range(ラリーウィリアムパーセントレンジ)指標を組み合わせた取引ツールを作成します。

取引条件:
1.Stochastic:Main LineがSignalラインと下向きに交差
2.Larry Williams’ Percent Range:-20 以上の場合に売ポジションを新規に建てる

それぞれの売買シグナルに関する判定基準はmql5.com上のこちらからご確認いただけます。
mql5.com: Stochastic
mql5.com: Larry Williams’ Percent Range

EAの処理の流れとしては、1種類のテクニカル分析指標と変わらず下記のような流れとなっています。

1.EA起動時に各指標をキャッシュに展開し、ハンドルを取得(OnInit関数)

2.現在の各指標の配列を取得(OnTick関数)
3. 取引シグナルの判別し、ポジションのオープン (OnTick関数)
※Tick 受信時に(2)(3)の繰り返し

4.EA終了時に各指標のメモリ上のキャッシュを解放(OnDeinit関数)

こちらはプログラム内の処理を抜粋したものになります。
実行可能な全体のEAについてはブログに添付しているEAをご利用下さい。

各種テクニカル分析指標のハンドル値、配列を取得するためのサンプルについてはこちらの記事を参照しています。こちらの各関数を参照することで、効率良くEAを作成することが可能です。
初心者のためのMQL5: EXPERT ADVISORでのテクニカルインディケーター使用ガイド – https://www.mql5.com/ja/articles/31

分析指標を利用した取引ツール、いかがでしたか?
設計時には分析指標の判定基準等、テクニカル分析指標の内容の理解が大切になります。mql5.com、MT5のヘルプ等を活用してより良い結果となるEAを作成していきましょう。