逆引きPine言語辞典
TradingViewで利用できるプログラミング言語「Pine」の命令や関数をまとめました。構文
スクリプト宣言
| study | インジケーターの宣言と設定 | 
| strategy | ストラテジーの宣言と設定 | 
分岐構文
| if  else if else  | 条件に応じて処理を分岐する構文 | 
| ? : | 三項演算子 | 
| iff | 三項演算子(関数版) | 
繰り返し構文
| for | 指定回数だけ処理を繰り返す構文 | 
変数用構文
| var  :=  | 値を保持する変数の宣言 | 
| [] | 過去足情報の取得 | 
足情報
価格と出来高
| open | 現在足の始値を取得 | 
| high | 現在足の高値を取得 | 
| low | 現在足の安値を取得 | 
| close | 現在足の終値を取得 | 
| volume | 現在足の出来高を取得 | 
| hlc3 | ( 高値 + 安値 + 終値 ) / 3 を計算 | 
| hl2 | ( 高値 + 安値 ) / 2 を計算 | 
| ohlc4 | ( 始値 + 高値 + 安値 + 終値 ) / 4 を計算 | 
日付と時刻
| year | 現在足または任意のUNIX時間の「年」を取得 | 
| month | 現在足または任意のUNIX時間の「月」を取得 | 
| dayofmonth | 現在足または任意のUNIX時間の「日」を取得 | 
| weekofyear | 現在足または任意のUNIX時間の「週番号」を取得 | 
| dayofweek | 現在足または任意のUNIX時間の「曜日」を取得 | 
| hour | 現在足または任意のUNIX時間の「時」を取得 | 
| second | 現在足または任意のUNIX時間の「秒」を取得 | 
| minute | 現在足または任意のUNIX時間の「分」を取得 | 
| time | 現在足のUNIX時間を取得 | 
| time_close | 現在足がクローズしたUNIX時間を取得 | 
| timenow | 今現在のUNIX時間を取得 | 
| timestamp | 引数で指定された日時のUNIX時間を取得 | 
足番号
| bar_index | 現在足の番号(最初の足からのカウント) | 
| max_bars_back | 指定された命令や変数の過去データ参照に必要な足の最大数を設定 | 
足の状態
| barstate.isfirst | 現在の足がチャート全体の最初の足かどうか判定 | 
| barstate.islast | 現在の足がチャート全体の最後の足かどうか判定 | 
| barstate.ishistory | 現在の足がヒストリカルデータかどうか判定 | 
| barstate.isrealtime | 現在の足がリアルタイムデータかどうか判定 | 
| barstate.isnew | 現在のスクリプトが足の最初で実行されたかどうか判定 | 
| barstate.isconfirmed | 現在のスクリプトが足の最後で実行されたかどうか判定 | 
演算子
算術演算子
| + | 値と値の足し算(または文字列同士の連結) | 
| – | 値と値の引き算 | 
| / | 値と値の割り算 | 
| * | 値と値の掛け算 | 
| % | 値と値の割り算の余り | 
比較演算子
| > | AがBより大きいかどうか比較 | 
| < | AがBより小さいかどうか比較 | 
| == | AがBと等しいかどうか比較 | 
| >= | AがB以上かどうか比較 | 
| <= | AがB以下かどうか比較 | 
| != | AがBと等しくないかどうか比較 | 
論理演算子
| or | A または B | 
| not | A が正しくない | 
| and | A かつ B | 
算術計算
符号と桁合わせ
| abs | 絶対値を取得 | 
| sign | 符号を取得 | 
| floor | 整数への切り下げ | 
| ceil | 整数への切り上げ | 
| round | 整数への四捨五入 | 
三角関数
| sin | 三角関数「サイン」の計算 | 
| cos | 三角関数「コサイン」の計算 | 
| tan | 三角関数「タンジェント」の計算 | 
| asin | 三角関数「アークサイン」の計算 | 
| acos | 三角関数「アークコサイン」の計算 | 
| atan | 三角関数「アークタンジェント」の計算 | 
指数/対数
| sqrt | 平方根を計算 | 
| pow | べき乗を計算 | 
| exp | 指数関数を計算 | 
| log | 自然対数を計算 | 
| log10 | 底と10とした対数を計算 | 
最大/最小
| max | 引数の中で最大の数値を取得 | 
| min | 引数の中で最小の数値を取得 | 
シリーズ計算
合計
| sum | 直近N日の価格合計を計算 | 
| cum | 指定価格シリーズの累計を計算 | 
平均
| avg | 全引数の平均を計算 | 
最高値/最安値
| highest | 直近N日における最高値を取得 | 
| highestbars | 直近N日における最高値を取得 | 
| lowest | 直近N日における最安値を取得 | 
| lowestbars | 直近N日における最安値を取得 | 
変化率
| change | 指定した値について現在とN日前の差を計算 | 
| roc | 指定した値について現在とN日前の変化率(%)を計算 | 
ピボットハイ/ロー
| pivotlow | 直近のピボットロー価格を計算 | 
| pivothigh | 直近のピボットハイ価格を計算 | 
標準偏差と分散
| stdev | 直近N日の標準偏差を計算 | 
| variance | 直近N日の分散を計算 | 
パーセンタイル
| percentrank | 指定した範囲の値において、現在の値が何%の位置にあるかを計算 | 
| percentile_linear_interpolation | 指定した範囲の値におけるNパーセンタイルを計算(最も近いランク間の線形補間) | 
| percentile_nearest_rank | 指定した範囲の値におけるNパーセンタイルを計算(最も近いランク) | 
テクニカル指標
移動平均
| sma | 単純移動平均線を計算 | 
| ema | 指数加重移動平均を計算 | 
| wma | 加重移動平均を計算 | 
| vwma | 出来高加重移動平均を計算 | 
| swma | 対称加重移動平均を計算 | 
| rma | 修正移動平均を計算 | 
| hma | ハル移動平均を計算 | 
| vwap | VWAPを計算 | 
| dev | 単純移動平均からの偏差を計算 | 
チャネル系
| bb | ボリンジャーバンドを計算 | 
| bbw | ボリンジャーバンド幅を計算 | 
| kc | ケルトナー・チャネルを計算 | 
| kcw | ケルトナー・チャネル幅を計算 | 
オシレーター系
| mom | モメンタムを計算 | 
| macd | MACDを計算 | 
| rsi | RSIを計算 | 
| stoch | ストキャスティクス%Kを計算 | 
| tr | トゥルー・レンジを計算 | 
| atr | アベレージ・トゥルー・レンジを計算 | 
サイン表示系
| sar | パラボリックSARを計算 | 
プロット
基本的なプロット
| plot | チャートへグラフやサインを描画 | 
| hline | 水平ラインを描画 | 
図形や文字のプロット
| plotchar | チャート上にUnicode文字を描画 | 
| plotshape | チャートに図形(マーク)を描画 | 
| plotarrow | チャートへ上下の矢印を描画 | 
プロット関連の色設定
| barcolor | チャート足の色を設定(ボディ部のみ) | 
| bgcolor | チャート足の背景色を設定 | 
| fill | プロットしたライン間を指定色で塗りつぶし | 
描画オブジェクト
ライン
| line.new | チャート上にラインを描画 | 
| line.delete | 描画済みラインの削除 | 
| line.get_x1 | ラインの始点におけるx座標を取得 | 
| line.get_y1 | ラインの始点におけるy座標(価格)を取得 | 
| line.get_x2 | ラインの終点におけるx座標を取得 | 
| line.get_y2 | ラインの終点におけるy座標(価格)を取得 | 
| line.set_x1 | ラインの始点におけるx座標を設定 | 
| line.set_xy1 | ラインの始点におけるxy座標を設定 | 
| line.set_xy2 | ラインの終点におけるxy座標を設定 | 
| line.set_y1 | ラインの始点におけるy座標(価格)を設定 | 
| line.set_x2 | ラインの終点におけるx座標を設定 | 
| line.set_y2 | ラインの終点におけるy座標(価格)を設定 | 
| line.set_xloc | ラインのx座標を指定する方法を設定 | 
| line.set_style | ラインスタイルを設定 | 
| line.set_color | ラインの色を設定 | 
| line.set_width | ライン幅を設定 | 
| line.set_extend | ラインの延長方法を設定 | 
ラベル
| label.new | チャート上にラベルを描画 | 
| label.delete | 描画済みラベルの削除 | 
| label.get_x | ラベル表示位置のx座標を取得 | 
| label.get_y | ラベル表示位置のy座標を取得 | 
| label.get_text | ラベルのテキストを取得 | 
| label.set_x | ラベル表示位置のx座標を設定 | 
| label.set_y | ラインの始点におけるy座標(価格)を設定 | 
| label.set_xy | ラベル表示位置のx座標/y座標を設定 | 
| label.set_xloc | ラベル表示位置のx座標を指定する方法を設定 | 
| label.set_yloc | ラベル表示位置のy座標を指定する方法を設定 | 
| label.set_style | ラベルのスタイルを設定 | 
| label.set_color | ラベルの色を設定 | 
| label.set_size | ラベルのサイズを設定 | 
| label.set_text | ラベルのテキストを設定 | 
| label.set_textcolor | ラベルの文字色を設定 | 
| label.set_textalign | ラベルのテキストの文字寄せ方法を設定 | 
| label.set_tooltip | ラベルのツールチップテキストを設定 | 
チャート情報
銘柄情報
| syminfo系 | チャートに表示中のシンボルに関する情報を取得 | 
足種情報
| timeframe.ismonthly | 現在のチャート足種が月足かどうか判定 | 
| timeframe.isweekly | 現在のチャート足種が週足かどうか判定 | 
| timeframe.isdaily | 現在のチャート足種が日足かどうか判定 | 
| timeframe.isminutes | 現在のチャート足種が分足かどうか判定 | 
| timeframe.isseconds | 現在のチャート足種が秒足かどうか判定 | 
| timeframe.isdwm | 現在のチャート足種が日足以上(日足/週足/月足)かどうか判定 | 
| timeframe.isintraday | 現在のチャート足種が日中足(分足/秒足などかどうか判定 | 
| timeframe.period | 現在のチャート足種を英数字で表記した文字列を取得 | 
| timeframe.multiplier | 現在のチャート足種における数値部分のみを取得 |