TradingViewまとめ
様々なチャートの表示, 分析サービス.
トレーディングビュー, トレビューとか言われる.
仮想通貨だけではなく, FXを含むいろんなチャートに対応しているのでつかっているユーザも多い.
ただし, 日本の取引所は📝bitFlyerくらいしかない.
url: https://jp.tradingview.com/
ストラテジテスター
📝バックテストはストラテジテスター(旧:投資戦略テスター)という名称で機能提供されている.
📝PineScript
Pineスクリプト(Pine Script)とは, TradingViewの機能をを操作, 自動化するためのするTradingView組み込みDSL.
v4以前との互換性
現在はversion5(2021/10/7より). 古い記事だとv4以前で書かれていることも多いのでスクリプトのコピペで動かないことも多い.
- study->indicator
- sma->ta.sma
Pineスクリプト コーディング規約
組み込み関数から推測すると, 変数名や関数名のコーディング規約は🔖snake_caseを採用しているようだ. Pythonみたいなやつ.
ただし, 自動生成されたスクリプトをみると, longConditionのように, 宣言された変数は🔖camelCaseなのかもしれない. ビルドイン変数との区別?
- 文字列はダブルクオート(!=シングルクオート).
Pineスクリプト文法Basics
Pineスクリプトv5. リファレンスマニュアルは, Pineエディタ上のシンボルでCtrl+クリックで開くことができる.
Pineスクリプト言語リファレンスマニュアル — TradingView
演算子
- = 変数定義.
- := 代入.
ビルドイン変数
- bar_index:
ビルドイン関数
- version: PineScriptのversionを指定する.
color
- color.green: 緑
- color.red: 赤
- color.blue: 青
plot
ソースをチャートに表示する.
- title: タイトル名.
- overlay: true/falseでメインチャート, サブチャート表示指定.
- style: グラフの種類. (default)ラインチャート/plot.style_histgram.
- color: 色指定.
- linewidth: 幅
条件により色を変更するには?
colorのオプションで条件式を入力する.
plot(close, color = close > open ? color.green : color.red)
input()
ストラテジーのパラメータのカスタム設定. 変数をポップアップから修正できる.
strategy()
- strategy: ストラテジーの宣言とパラメータ設定.
- strategy.order: 注文
- strategy.entry: ポジションエントリ.
- strategy.exit: ポジション決済
- entryで指定したIDを指定しないとすべてがcloseする.
- strategy.cancel: 注文キャンセル
entryはピラミッティングあり, orderはピラミッティングなし. ピラミッティングとは, 同方向に注文を持つこと.
strategy.exitのオプション整理
いろいろオプションがあるので整理する.
- profit: 利確(tick指定)
- limit: 利確(価格指定)
- loss: 損切(tick指定)
- stop: 損切り(価格指定)
- trail_stop: トレーリングストップ
strategy.entryの指値注文
entry関数デフォルトでは成行注文になる.
指値注文をするには, entryのオプションlimitを指定すると指値注文をつける.
strategy("Limit Order Example")
// ロングポジションを取得するエントリーシグナル
entry_condition = crossover(sma(close, 50), sma(close, 200))
// エントリーシグナルがトリガーされた場合、指値価格を設定してロングポジションを取得
if entry_condition
strategy.entry("long", strategy.long, limit=close + 10)
価格が指定された値に達した場合に自動的にポジションが取得される.
関数定義
自作関数を定義する. インデント(4つのスペースまたは1つのタブ)が必要.
f(x, y) => x + y
g(x, y) =>
x + y
TradingViewからの注文
PineScriptとwebhookを合わせると注文の自動化も可能. 仕組みとしては, 有料プランでアラートとして通知を飛ばせるようになるので, それをWebアプリやサーバレスなCloud Functionsなどで受け取って発注する.
🤖トレビューbot
Pineスクリプトとwebhookの組み合わせの俗称.
この方法はFXシストレでもいける. 💡TradingView webhookとAPI連携でFXシストレ
はむとれ
TradingView x Pine Scriptとwebhookをつかって注文の自動売買するサービス by BBB.
TANBOT
Topics
Pineスクリプトのデバッグ
数値の可視化
plot()をつかうとチャートの下にラインチャートで数値の変化を表示できる.
plot(variable_name)
文字列
文字列変数はlabel.newで表示する.
label.new(bar_index, series, text=str.tostring(series))
Indicatorをinputにしてentry/exitする
indicatorが数値列となる.
//@version=4
strategy("RSI strategy", overlay=true)
// RSI indicator
rsi = rsi(close, 14)
// strategy entry condition
longCondition = rsi < 30
strategy.entry("Buy", strategy.long, when=longCondition)
// strategy exit condition
strategy.exit("Exit", "Buy", profit=100, loss=100)
TVCチャート
TradingViewが提供しているチャート.
逆引きhowto
バックテストの期間を指定するには?
UIからの指定はできないのでPineスクリプトから指定する.
i_startTime = input.time(defval = timestamp("01 Feb 2023 0:30 +0900"), title = "Start Time")
i_endTime = input.time(defval = timestamp("28 Feb 2023 23:59 +0900"), title = "End Time")
inDateRange = time >= i_startTime and time <= i_endTime
if (inCondition and inDateRange)
strategy.entry("PChLE", strategy.long, stop=hh)
strategy.entry("PChSE", strategy.short, stop=ll)
ストラテジのプロパティをスクリプトで設定するには?
strategy関数でいろいろ設定する.
外部データをインポートできる?/カスタムデータでバックテストできる?
現状はAPIで取得したりファイルからアップロードしたデータは使えない(2023).
arrayに無理やり突っ込めばいけるかも.
- pine script - Is there a way to plot values from a google sheets workbook to tradingview pinescript? - Stack Overflow
- https://www.pinecoders.com/faq_and_code/#how-can-i-initialize-a-series-on-specific-dates-using-external-data
検索キーワード: external source/data/input
Insights
✨Pineスクリプトではループとリスト構造からの値の取り出しがDSLで隠蔽されている
通常のプログラミング言語でバックテストをしようとすると,
- 時系列データからある時刻のデータセットを取り出す.
- データセットを各変数にbinding.
- 処理を実行
というような, いわゆるstepと呼ばれる一連のアルゴリズムをループでまわす. これがPineスクリプトだと, step処理のみを記述すればバックテストができるようにうまく隠蔽されている.
ただし逆にわかりにくいのが, 変数に格納されているのがリスト(TradingViewだとseriesと表現)なのか否かを見極める必要がある.
References
General
OANDAのブログが謎に充実している.
TradingViewの使い方一覧 | OANDA(オアンダ ラボ)
- 超入門 TradingView PineScript
- 2021に書籍出してる: https://www.amazon.co.jp/dp/4775991825/
- TradingViewの教科書とは | TradingViewの教科書
PineScript
- 英語だけど充実. TradingView公式?
- Pineスクリプトのインディケーターを新規作成する - Qiita
- Pine Script Tips - Qiita
- 逆引きスニペット集.
- Pine scriptの基本構文 覚書|kapipara|note
- Pine script ストラテジー作成 覚書|kapipara|note
インジケーター
- Tradingview専用インジケーター|edjj|note
- 有料サブスクだけどオーダーフロー系おおし.
- Pine Scriptで書くTrading Viewオリジナルインジケーターの作り方!【入門編】|ぼーる丸|note
- 下の方にIndicatorを作成する人たちのTwitterリンクがある.
- 主要テクニカル説明とpine scriptコード|kapipara|note
- 自作関数の書き方の参考にもなる丁寧な解説.
ストラテジ
- 【超初心者向け】TradingViewでストラテジーを作るための3ステップ | 考えるハリネズミ
- TradingViewのストラテジー「チャネルブレイクアウト戦略」をチェック | OANDA FX/CFD Lab-education(オアンダ ラボ)