MT4やMT5のチャート画面では、**タイムフレーム(時間足)**をいろいろと変えることができます。

タイムフレームが変わると、各バーの4本値(始値、高値、安値、終値)が変わるので、テクニカル指標の値も変わります。

なので、MQLでバーの4本値やテクニカル指標を求める関数には、タイムフレームを指定するパラメータがあります。

Block EAでも同じです。以下に示すブロックには、タイムフレームを指定するパラメータがあります。「現在チャートの」の「現在」の部分です。

現在」チャートの場合、EAを挿入したチャートのタイムフレームが設定されます。EAを実行する都度タイムフレームを変えたい場合は、このままでも結構です。

ただ、EAを開発する際に、タイムフレームを決めて開発することも多いです。その場合、挿入するチャートのタイムフレームに関係なく、決まったタイムフレームで動作することが好ましいでしょう。

今回は、各テクニカル指標のブロックで、タイムフレームを指定する方法を紹介します。これによりテクニカル指標ごとにタイムフレームを変える、いわゆる「マルチタイムフレームEA」を作ることができます。

例えば、移動平均のブロックでは、以下のようにタイムフレームを選ぶことができます。

これは、MT4、MT5共通に指定することができるタイムフレームのリストです。ここで、具体的なタイムフレームを指定しておけば、EAを挿入するチャートのタイムフレームに関係なく、指定されたタイムフレームでテクニカル指標が算出されます。

なお、MT5には、これ以外にも選択できるタイムフレームがあります。これについては後ほど説明します。

マルチタイムフレームEA

テクニカル指標にタイムフレームを指定する例として、複数のテクニカル指標でタイムフレームが異なるケースを考えてみます。

例えば、以下のような売買ルールです。