逆引き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 | 現在のチャート足種における数値部分のみを取得 |