逆引きPineScript(v5)辞典
TradingViewで利用できるプログラミング言語「PineScript(v5)」の命令や関数をまとめました。基本
スクリプトの宣言
| indicator | インジケーターの宣言 |
価格と出来高
| open | 現在足の始値を取得 |
| high | 現在足の高値を取得 |
| low | 現在足の安値を取得 |
| close | 現在足の終値を取得 |
| volume | 現在足の出来高を取得 |
| hl2 | ( 高値 + 安値 ) ÷ 2 を取得 |
| hlc3 | ( 高値 + 安値 + 終値 ) ÷ 3 を取得 |
| hlcc4 | ( 高値 + 安値 + 終値 + 終値 ) ÷ 4 を取得 |
| ohlc4 | ( 始値 + 高値 + 安値 + 終値 ) ÷ 4 を取得 |
算術演算子
| +(+=) | 値と値の足し算(または文字列) |
| -(-=) | 値と値の引き算 |
| *(*=) | 値と値の掛け算 |
| /(/=) | 値と値の割り算 |
| %(%=) | 値と値の割り算の余り |
変数と型
| int | 整数型の宣言/整数型への変換 |
| float | 浮動小数点型の宣言/浮動小数点型への変換 |
| string | 文字列型の宣言/文字列型への変換 |
| bool | ブール(真偽値)型の宣言/ブール(真偽値)型への変換 |
| color | Color(色)型の宣言/Color(色)型への変換 |
| na | 値無しを表す定数 / 値無しかどうかを判定する |
| nz | 時系列データ内のnaを0に置き換え |
| fixnan | 時系列データ内のnaを直近の値に置き換え |
入力パラメータ
| input.int | スクリプトの「パラメータ」に整数型の項目を追加(入力 or セレクトボックス) |
| input.float | スクリプトの「パラメータ」に浮動小数点型の項目を追加(入力 or セレクトボックス) |
| input.bool | スクリプトの「パラメータ」にチェックボックスの項目を追加 |
| input.string | スクリプトの「パラメータ」に文字型の項目を追加(入力 or セレクトボックス) |
| input.text_area | スクリプトの「パラメータ」に複数行選択の項目を追加 |
| input.source | スクリプトの「パラメータ」に価格や出来高選択の項目を追加 |
| input.price | スクリプトの「パラメータ」に価格選択の項目を追加 |
| input.symbol | スクリプトの「パラメータ」に銘柄選択の項目を追加 |
| input.timeframe | スクリプトの「パラメータ」に足種選択の項目を追加 |
| input.session | スクリプトの「パラメータ」にセッション選択の項目を追加 |
| input.time | スクリプトの「パラメータ」に日時選択の項目を追加 |
| input.color | スクリプトの「パラメータ」に色選択の項目を追加 |
分岐と繰り返し
分岐構文
| if else if else | 条件に応じて処理を分岐する構文 |
| ?: | 三項演算子 |
| switch | 条件に応じて複数の処理を分岐する構文 |
比較演算子
| true | 「正しい(真)」を表すブール(bool)値 |
| false | 「正しくない(偽)」を表すブール(bool)値 |
| == | 等しい |
| != | 等しくない |
| < | より小さい |
| <= | 以下 |
| > | より大きい |
| >= | 以上 |
論理演算子
| and | 「どちらも正しい」を表す複合条件用の演算子 |
| or | 「いずれかが正しい」を表す複合条件用の演算子 |
| not | 「正しくない」を表す複合条件用の演算子 |
繰り返し構文
| for | 指定回数だけ処理を繰り返す構文 |
| for…in | 配列内の各要素に対して処理を繰り返す構文 |
| while | 条件式が正しい間ずっと処理を繰り返す構文 |
型別の関数
文字列型(string)
| str.length | 対象文字列の長さを取得 |
| str.startswith | 対象文字列が指定した文字列から始まるかどうか判定 |
| str.endswith | 対象文字列が指定した文字列で終わるかどうか判定 |
| str.contains | 対象文字列に指定した文字列が含まれるかどうか判定 |
| str.match | 対象文字列が指定した正規表現とマッチするかどうか判定 |
| str.pos | 対象文字列内で指定した文字列が出現する位置を取得 |
| str.substring | 対象文字列の指定範囲を取得 |
| str.split | 対象文字列を指定した文字で分割し配列に格納 |
| str.replace | 対象文字列内にある文字列Aを文字列Bに変換(N回目の文字列のみ) |
| str.replace_all | 対象文字列内にある文字列Aを文字列Bに変換(すべて) |
| str.format | フォーマット文字列に任意の変数を埋め込んだ文字列を作成 |
| str.format_time | タイムスタンプを指定したフォーマットで文字列に変換 |
| str.tostring | 整数型や浮動小数点型を文字列型に変換 |
| str.tonumber | 文字列型を浮動小数点型に変換 |
| str.lower | 対象文字列をすべて小文字に変換 |
| str.upper | 対象文字列をすべて大文字に変換 |
日付型(datetime)
| year | 現在足の「年」を取得 |
| month | 現在足の「月」を取得 |
| dayofmonth | 現在足の「日」を取得 |
| dayofweek | 現在足の「曜日」を取得 |
| weekofyear | 現在足の「週番号」を取得 |
| hour | 現在足の「時」を取得 |
| minute | 現在足の「分」を取得 |
| second | 現在足の「秒」を取得 |
テクニカル指標
移動平均線
| ta.sma | 「SMA(単純移動平均線)」を計算 |
| ta.ema | 「EMA(指数平滑移動平均線)」を計算 |
| ta.vwap | 「VWAP(出来高加重平均価格)」を計算 |
| ta.wma | 「WMA(加重移動平均線)」を計算 |
| ta.vwma | 「VWMA(出来高加重移動平均線)」を計算 |
| ta.rma | 「RMA(修正移動平均線)」を計算 |
| ta.hma | 「HMA(ハル移動平均線)」を計算 |
| ta.swma | 直近4足の「SWMA(対称加重移動平均線)」を計算 |
| ta.alma | 「ALMA(アルノー・ルグー移動平均線)」を計算 |
| ta.dev | 「移動平均線乖離率(SMAからの乖離)」を計算 |
バンド
| ta.bb | 「ボリンジャーバンド」を計算 |
| ta.bbw | 「ボリンジャーバンド幅」を計算 |
| ta.kc | 「ケルトナーチャンネル」を計算 |
| ta.kcw | 「ケルトナーチャンネル幅」を計算 |
オシレーター
| ta.rsi | 「RSI」を計算 |
| ta.macd | 「MACD」を計算 |
| ta.stoch | 「ストキャスティクス」を計算 |
| ta.tr | 「TR(真の値幅)」を計算 |
| ta.atr | 「ATR(アベレージ・トゥルー・レンジ)」を計算 |
| ta.dmi | 「DMI(方向性指数)」を計算 |
| ta.correlation | 2つの時系列値の「相関」を計算 |
計算
| ta.change | 現在足とn本前の足の価格差を計算 |
| ta.roc | 現在足とn足前の変化率を計算 |
| ta.mom | 現在足とn本前の足のモメンタム(価格差)を取得 |
| ta.range | 指定値の指定期間における最大値と最小値の差を計算 |
| ta.median | 指定値の指定期間の中央値(メジアン)を計算 |
| ta.mode | 指定期間で最も出現頻度の多い値を取得 |
| ta.cum | 指定した値の累計を計算 |
最大/最小
| ta.highest | 指定値の指定期間における最高値を取得 |
| ta.highestbars | 指定値の指定期間における最高値を付けた足のオフセット値を取得 |
| ta.lowest | 指定値の指定期間における最安値を取得 |
| ta.lowestbars | 指定値の指定期間における最安値を付けた足のオフセット値を取得 |
| ta.max | 指定値の全期間における最大値を取得 |
| ta.min | 指定値の全期間における最小値を取得 |
ピボット
| ta.pivothigh | 指定値の指定期間内でピボットハイ(山の部分)となった価格を取得 |
| ta.pivotlow | 指定値の指定期間内でピボットロー(谷の部分)となった価格を取得 |
| ta.pivot_point_levels | ピボットポイントのレベルを計算 |
条件判定
| ta.cross | 値Aが値Bをクロス(上抜けまたは下抜け)したかどうか判定 |
| ta.crossover | 値Aが値Bを上抜けたかどうか判定 |
| ta.crossunder | 値Aが値Bを下抜けたかどうか判定 |
| ta.valuewhen | 現在足から遡ってn番目に指定条件を満たした足から情報を取得 |
| ta.barssince | 指定条件が最後にtrueだった足からの経過足数を計算 |
| ta.rising | 指定値が指定期間のどの値よりも大きいかどうか判定 |
| ta.falling | 指定値が指定期間のどの値よりも小さいかどうか判定 |
統計
| ta.stdev | 指定期間における値の「標準偏差」を計算 |
| ta.variance | 指定期間における値の「分散」を計算 |
| ta.linreg | 線形回帰曲線を計算 |
パーセンタイル
| ta.percentrank | 指定期間における指定値のパーセントランクを取得 |
| ta.percentile_nearest_rank | パーセンタイルを計算(ランク版) |
| ta.percentile_linear_interpolation | パーセンタイルを計算(線形補間版) |
その他
| ta.sar | 「パラボリックSAR (パラボリック・ストップ&リバース)」を計算 |
| ta.supertrend | 「スーパートレンドインジケーター」を計算 |
| ta.tsi | 「トゥルー・ストレングス・インデックス」を計算 |
| ta.iii | 「イントラデイ・インテンシティ・インデックス」を計算 |
| ta.accdist | 「アキュムレーション/ディストリビューションインデックス」を計算 |
| ta.wpr | 「ウィリアムズ%R」を計算 |
| ta.cmo | 「シャンデ・モメンタム・オシレーター」を計算 |
| ta.cog | 「重心オシレーター」を計算 |
| ta.mfi | 「MFI(マネーフローインデックス)」を計算 |
| ta.cci | 「CCI (商品チャネル指数) 」を計算します。 |
| ta.obv | 「オン・バランス・ボリューム」を計算 |
| ta.pvi | 「ポジティブ・ボリューム・インデックス」を計算 |
| ta.nvi | 「ネガティブ・ボリューム・インデックス」を計算 |
| ta.pvt | 「プライス・ボリューム・トレンド」を計算 |
| ta.wad | 「ウィリアムズ・アキュムレーション/ディストリビューション」を計算 |
| ta.wvad | 「ウィリアムズ・可変アキュムレーション/ディストリビューション」を計算 |