ボリンジャーバンドを最大4本まで同時表示できるTradingView用インジケーター公開【Pineコード掲載】

ボリンジャーバンドを最大4種類(± 1σ~4σ)まで同時に引けるTradingView用インジケーターを公開します。不要なラインは設定から非表示にもできるので扱いやすいと思います。

Pine言語のサンプルコードを公開しますので、カスタマイズも自由です。ぜひご利用ください。

本インジケーターの概要

1つのインジケーターで複数のボリンジャーバンドをまとめて表示できます。初期設定では1σ~3σのラインが表示されます。パラメータ設定で日数や色、4σラインの表示、1σ~3σライン非表示設定なども可能。

初期設定

1σライン 終値の20日ボリンジャーバンド(±1σ) 薄いオレンジ  
2σライン 終値の20日ボリンジャーバンド(±2σ) やや薄いオレンジ  
3σライン 終値の20日ボリンジャーバンド(±3σ) やや濃いオレンジ  
4σライン 終値の20日ボリンジャーバンド(±4σ) 濃いオレンジ (初期は非表示)

設定変更可能なパラメータ

・計算対象の価格(終値以外に変更可能)
・各ラインを計算する足数
・各ラインの色
・各ラインの表示/非表示

サンプルコード

以下にPine言語のサンプルコードを掲載しておりますので、コピペでPineエディタに貼り付けてお使いください。

サンプルコードを元にTradingViewインジケーターを作成する手順が分からない方は、以下の記事を参考にしてください。(記事内の手順3を今回のサンプルコードに置き換えて進めてみてください)

関連記事

TradingView(トレーディングビュー)のインジケーターは、Pineという専用プログラミング言語で自作することができます。 本記事ではPine言語の入門ということで、TradingViewで利用可能なインジケーター用スクリプト([…]

//@version=4
study(title="$TTO_Sample_Boll4", shorttitle="Boll4", overlay=true)

src = input(close, type=input.source, title="価格")
boll_length = input(20, title="長さ", minval=1)
visible_middle = input(true, title="ミドルラインを表示するか?", type=input.bool)
visible_s1 = input(true, title="1σラインを表示するか?", type=input.bool)
visible_s2 = input(true, title="2σラインを表示するか?", type=input.bool)
visible_s3 = input(true, title="3σラインを表示するか?", type=input.bool)
visible_s4 = input(false, title="4σラインを表示するか?", type=input.bool)

middle = sma(src, boll_length)
std = stdev(src, boll_length)
plot_color = color.orange

bb_s4_upper = middle + std * 4
bb_s3_upper = middle + std * 3
bb_s2_upper = middle + std * 2
bb_s1_upper = middle + std * 1
bb_s1_lower = middle + std * -1
bb_s2_lower = middle + std * -2
bb_s3_lower = middle + std * -3
bb_s4_lower = middle + std * -4

plot(visible_s4 ? bb_s4_upper : na, color=color.new(plot_color, 0))
plot(visible_s3 ? bb_s3_upper : na, color=color.new(plot_color, 20))
plot(visible_s2 ? bb_s2_upper : na, color=color.new(plot_color, 50))
plot(visible_s1 ? bb_s1_upper : na, color=color.new(plot_color, 80))
plot(visible_middle ? middle : na,  color=color.new(color.white, 50))
plot(visible_s1 ? bb_s1_lower : na, color=color.new(plot_color, 80))
plot(visible_s2 ? bb_s2_lower : na, color=color.new(plot_color, 50))
plot(visible_s3 ? bb_s3_lower : na, color=color.new(plot_color, 20))
plot(visible_s4 ? bb_s4_lower : na, color=color.new(plot_color, 0))

おわりに

今回はボリンジャーバンドのサンプルコードをご紹介しました。

今後も色々とPine言語のサンプルを公開していこうと思いますのでよろしくお願い致します。

※リクエスト等あればTwitter(@eltraders)までどうぞ。