稼動中に外部パラメーターを変えると

EAやインジケーターの稼働中に、外部パラメーターを変えるとどうなるんでしょうか。

 

個人的には、あまりそういうことはしない方がいいと思うのですが、とりあえず、テストしてみました。

上の画像のようなプログラムを書いて、まず、インジケーターでテストしてみました。

 

最初にインジケーターをチャートにセットすると、コメント関数による表示が、

 

1,2,3,4,5…

 

と増えていきます。そして、10のときに、外部パラメーターを変更すると、再び、

 

1,2,3,4,5…

 

と表示されます。

同じ実験を今度はEAですると、

 

最初にEAをチャートにセットとしたきは、

 

1,2,3,4,5…

 

と増えていきます。そして、10のときに、外部パラメーターを変更すると、

 

211,212,213,214,215,…と変化していきました。

このことから分かることは、稼働中に外部パラメーターを変更すると、

 

インジケーターでは、

 

①グローバル領域内…読み込まれる

②イニシャル関数内…読み込まれる

③デイニシャル関数内…読み込まれない

④スタート関数内…読み込まれる

 

ということになり、

 

EAでは、

 

①グローバル領域内…読み込まれない

②イニシャル関数内…読み込まれる

③デイニシャル関数内…読み込まれる

④スタート関数内…読み込まれる

 

ということになります。

なんで、こんな実験をしたのかというと、お客様から「稼働中に外部パラメーターを変更しても大丈夫か」という質問をされたからです。

 

上に書いたことがちゃんとわかっている人が作成したEAやインジケーターなら大丈夫、ということになりますね。(笑)