{{tag>pine pine基礎}} ====== 【Pine 基礎】時系列 (time series) ====== * 時系列 (time series) は、Pine スクリプトが時間経過に伴う変数の連続した値を保存するのに使うデータ構造のこと。 * 時系列の各値は特定の時点と関連付けられる。 * 組み込み変数 ''open'' を例にする。 * これにはデータセット内の各バーの始値が格納されている。 * スクリプトが 5 分足で実行されている場合なら、''open'' 時系列の値は連続する 5 分足の始値。 * 時系列の過去の値を参照するには、履歴参照演算子 ''[]'' を使用する。 * ''open'' ならスクリプト実行中のバーの始値を表し、''open[1]'' ならその前のバーの始値を表す。 * 時系列はプログラマーにとって配列 (array) を連想させるが、全く異なるもの。 * 関数の戻り値でさえ、履歴参照演算子 ''[]'' を使用して参照できる。 * 例えば、現在のバーを除いた過去10本のバーの最高値更新をテストするコードは、''breach = close > highest(close, 10)[1]'' と書ける。 * 同じステートメントは、''breach = close > highest(close[1], 10)'' と書くこともできる。 * 関数の戻り値でさえ、過去の値のトレースを残している。 * Pine スクリプトランタイムと組み込み関数の組み合わせは、累計計算などの繰り返し処理の記述を簡潔なものにしている。 * 例えば、各バーの終値の累計を記述したい場合 ''ta.cum(close)'' と記述するだけでよい。(for ループなしで記述できる) * ''plot(open)'' のような関数呼び出しは、各バーで繰り返され、各バーの ''open'' の値を連続してチャートにプロットする。 * Pine スクリプト上では、**時系列 (time series) と系列 (series) は異なる概念**なので混乱しないこと。 * 時系列 (time series) は連続した値が特定時点と関連づいて格納されている「データ構造」を表す概念 * 系列 (series) はバーごとに異なる値をもつ変数の「フォーム」を表す * simple string 型の組み込み変数 ''timeframe.period'' を例にする。 * この変数にはチャート上の時間足を表す文字列が格納されている。例えば日足チャートなら "D" が格納されており、その値はどのバー上でも変わらない。 * この変数は series フォームではないが ''timeframe.period[1]'' という記述は問題なくできる。値は時系列で格納されているからである。 ===== 参考 ===== * Pine Script® v5 User Manual [[https://www.tradingview.com/pine-script-docs/en/v5/language/Time_series.html|Time series]]