>>956

変数iは開いているチャート(例えば一分足)のバーの位置(最新バーが0で、古い方向に1ずつ増える)を指していますよね?

ATR_1 = iATR(NULL, 15, 14, i);
で第4引数は15分足チャートのバーの位置を指定しますから、第4引数にiを指定すると、
例えば1分足でiが3だった場合は、15分足チャートでは0または1を指定するのが正しいはずなのに3が指定され意図しない動作となります。

現在チャート(例えば1分足)のバーのiの位置に対応する15分足チャートのバーの位置は

iBarShift(NULL, PERIOD_M15, Time[i], false)

などと指定すれば求められますので、iの位置に上の値を入れるが良いと思うのです。