EAとインジケーターのstart()関数の違い

MQL(=メタクォーツランゲージというMT4用プログラム言語)の基本として、start()関数内の記述は、ティックの変動の度に上から下へ一度ずつ読み込まれる」というのがあります。

 

それゆえ、週末でブローカーがお休みのときには、ティック変動がないのでEAは稼働しません。

 

たとえば、

start()関数内に、上のような記述をしてEAをチャートに挿入しても、週末時だと、

上のように、何も表示されません。

 

しかし、週末時でも、インジケーターはなぜかちゃんと表示されます。

 

先ほどと同じ実験をインジケーターでやってみると、

上の画像のように、週末時でもちゃんとコメントが表示されます。

 

このことから、EAにおいては、ティック変動があるときのみstart()関数内が読み込まれるのに対して、インジケーターでは、チャート挿入時にstart()関数内も一度だけ読み込まれるということが分かります。

 

つまり、週末時でもインジケーターを利用していろんな実験をすることができるわけで、このことは週末時にプログラムを書く人にとってはとてもありがたいことなのです。