OnInit/OnDeinit関数とグローバル変数の関係

アイキャッチ

パラメーターや時間足を変更してもグローバル変数は初期化されない

パラメーターや時間足を変更すると、その都度、OnDeinit関数とOnInit関数がこの順で再実行されます。

この時、グローバル変数はどうなるかと言いますと、特に影響を受けません。データは保持されたままです。

初期化されるような気がしますが、それは気のせいです。初期化されません。

逆に言えば、パラメーターや時間足を変更した際に特定のグローバル変数を初期化したいなら、明示的に初期化の処理を記述しなければなりません。

記述場所はOnDeinit関数の方が良いでしょう。パラメーターや時間足を変更した時だけ初期化するといった制御が可能ですので。

例えば、こんなコードを書くことで、パラメーターや時間足を変更した時だけ、特定のグローバル変数を初期化できます。

こんな考慮が必要なケースはあまりないかもしれませんが、誰かの役に立てば幸いです。

スポンサードリンク

ブログランキングに参加中!

ポチっとクリック頂けると励みになります♪
(クリックしてもランキング一覧が表示されるだけですが、それでOKです)

にほんブログ村 為替ブログ FX システムトレード派へ

コメントを残す



9 − 3 =