max_bars_back
max_bars_back
関数は、指定されたビルトインまたはユーザー変数の、履歴参照に利用できるバーの最大数を設定します。
演算子 ‘[]’ が変数に適用される場合、その変数の過去の値が参照されます。
演算子 ‘[]’ の引数が、コンパイル時に設定される定数値(例. ‘v[10]’, ‘close[500]’)の場合、’max_bars_back’ 関数を変数に使用する必要はありません。
Pineスクリプトのコンパイラーは、その定数値を履歴バッファサイズとして使用します。
演算子 ‘[]’ の引数が、実行時に計算される値(例. ‘v[i]’ ここでの ‘i’ は系列変数)の場合、Pineスクリプトは実行時に履歴バッファサイズの自動検出を試みます。
場合によってはそれは失敗し、スクリプトが実行時にクラッシュします。これはつまりバッファの外の履歴の値を参照する為です。
その様な場合には、問題を手動で修正するために、’max_bars_back’ を使用してください。
max_bars_back(var, num) → void
例
//@version=4
study('My Script')
close_() => close
depth() => 400
d = depth()
v = close_()
max_bars_back(v, 500)
out = if bar_index > 0
v[d]
else
v
plot(out)
戻り
void
引数
var (series, color, bool) 履歴バッファのサイズを変更する系列変数の識別子。可能な値は: ‘open’, ‘high’, ‘low’, ‘close’, ‘volume’, ‘time’, または任意のユーザー定義変数のID。
num (integer) 履歴バッファサイズ。変数 ‘var’ で参照できるバーの数です。リテラル整数である必要があります。
備考
現時点では、’max_bars_back’ は、’hl2′, ‘hlc3’, ‘ohlc4’ といったビルトイン変数に適用することはできません。
回避策として、’max_bars_back’ を複数回呼び出して下さい(例.‘max_bars_bars(hl2, 100)’を一度呼び出す代わりに、この関数を2回呼び出して下さい: ‘max_bars_bars(high, 100), max_bars_bars(low, 100)’)。
study や strategy で ‘max_bars_back’ パラメーターを用いる場合、スクリプトのすべての変数が影響を受けます。これは過剰なメモリ使用や実行時に問題を引き起こす可能性があります。
可能な場合(つまり原因が関数ではなく変数にある場合)には、max_bars_back 関数を代わりに使用してください。