security()
異なる時間軸のシリーズ、異なるシンボルのシリーズを取得するための関数。
サンプル
//@version=4
s1 = security("MSFT", "D", close)
smaLine = sma(close, 10)
s2 = security("AAPL", "240", smaLine)
s3=security(syminfo.tickerid, "D", close[1], barmerge.gaps_off, barmerge.lookahead_on)
f() => [open, high]
[o, h] = security(syminfo.tickerid, "D", f())
[l, c] = security(syminfo.tickerid, "D", [low, close])
plot((o + h + l + c) / 4)
構文
security(symbol, resolution, expression, gaps, lookahead)
戻り値
シリーズ
引数
symbol (string)
情報を取得する先のシンボル。
同じシンボルの異なる時間軸のシリーズを取得する場合は、syminfo.tickerid
を指定する。
resolution (string)
時間足の指定。空の場合は、現在のチャートに設定されている時間軸が適用される。
- 60分足のシリーズを取得したい場合は「60」と数値を指定する
- 日足のシリーズを取得したい場合は「D」を指定する
D
と1440
は同じ意味となるが、対象によって同一のデータにならない可能性があるので注意。
expression (series[color])
expressionを日本語にすれば「式」。
symbol
とresolution
で指定した対象シリーズから、さらにそれを加工した(式に当てはめた)シリーズの取得も可能。
smaLine = sma(close, 10)
s2 = security("AAPL", "240", smaLine)
s2に格納されるのは、アップルの株価の240分足の終値を対象にした、10本移動平均のシリーズとなる。
gaps (const bool)
指定されたシリーズは、読み込まれるときに自動的にチャートに設定されているシリーズのOHLCに結合される。
そこで生まれるギャップをどう処理するかを指定するのがgaps
となる。
- barmerge.gaps_off
- barmerge.gaps_on
barmerge.gaps_on
は、ギャップをそのまま残し、barmerge.gaps_off
は、直近の値で穴埋めしてギャップを埋める。
デフォルトは、barmerge.gaps_off
。
lookahead (const bool)
設定できる値は2つ。
- barmerge.lookahead_off
- barmerge.lookahead_on
デフォルトは、lookahead_off
。
5分足のチャートに60分足の終値で計算したインジケーターの値を表示する場合、最大55分の時間的なギャップが生まれる。
60分待って終値が確定したところで、インジケーターの値を計算するのがlookahead_off
。
それに対し、現在の所までの終値で計算してしまうのがlookahead_on
。
この場合、計算のもとにした終値は仮のものであり、実際の終値と同じであるとは限らない。
そのため、終値次第でインジケーターの計算結果も変わってしまうことがある。
これをリペイント
と言ったりする。