新着記事

Thumbnail of new posts 017

: ジョジョ

《あらすじ・ネタバレ注意》祝、映画化!!「岸辺露伴、ルーブルに行く」を徹底解説します!!

おはこんばんちわ!ジョジョ大好き!荒木飛呂彦作品大好き!岸辺露伴は俺の嫁!たこや ...

無料チャートアプリ、TradingViewでインジケーターを自作する ~ ③ RSIにボリンジャーバンドを表示させる

2022-08-15

trader

おはこんばんわ!たこやきです。

今回は、無料チャートアプリ「TradingView」インジケーター自作第3弾として、

「RSIにボリンジャーバンドを表示させる」

について、解説していきます。

RSIというインジケーターの中に、ボリンジャーバンドというインジケーターを組み込む、という作業になります。

TradingViewは、インジケーター内に別のインジケーターを組み込む機能がそなわっています。

ですがこの方法だと、インジケーターを2つ表示させたことになってしまいます。

無料会員だとインジケーターは3つまでしか表示させられません。

ですので、インジケーターを自作して、RSIとボリンジャーバンドをくっつけてしまえ、というわけです。

TradingViewでインジケーターを自作するための基本的な操作については、

第一弾・第二弾にて、写真付きで詳しく述べていますので、ぜひ参考にしてみて下さい。

インジケーターのRSIってなに?

RSIとは、日本語では「相対力指数」と言います。

トレンドの強さをしめす、いわゆる「オシレーター系」のインジケーターです。

直近の一定期間において、終値ベース上昇下落どちらの勢いが強いのか!を示します。

50%を中心として、0~100%の中で、値が変化します。

50%より多い「上昇傾向」

50%より少ない「下降傾向」

また、市場の過熱感を示すサインとしても使えます。

70%以上「買われすぎ」

30%未満「売られすぎ」

RSIが30%になったら買って、70%になったら売る、と言った、いわゆる「逆張り」手法に使えます。

ただ、RSIだけだと、RSIが30%を切ってからも株価が下がったり、70%以上になっても株価が上がり続けたりしますので、ほかのインジケーターと組み合わせて使い、売買の精度を上げた方がいいでしょう。

RSIボリンジャーバンドを組み込む意味は?

RSIにボリンジャーバンドを組み込んだ場合、ただのRSIだけより、「買い」「売り」のチャンスを見つけやすくなります。

例えば、いまトレンド方向がはっきりしない、いわゆる「レンジ相場」にいたとします。

RSIは60を少し超えた程度、とします。「上昇傾向」ではありますが、70未満ですので「売り」とは言えません

ですがそんなとき、RSIがRSIボリンジャーの幅を上抜けた、なんて時は、そこからRSIが下落に転ずるサインとなることがあります。

もちろんそこからさらに価格が上昇していくなんてこともありますので、現実的には「RSIがボリンジャーバンドを超えて、また戻ってきたとき」転換点、くらいがいいかもしれませんね。

単純移動平均線や、MACDのゴールデンクロス・デッドクロスより早くサインが確認できます

他にも、RSIボリンジャーバンドは、一緒に表示される「RSIの移動平均線」が参考になります。最近のRSIの推移がわかりやすくなり、意外と便利です♪

さて、ではさっそくRSIにボリンジャーバンドを組み込む方法について、説明していきますね。

インジケーター自作手順①:内蔵のRSIを表示する

まずは前回同様、内蔵のインジケーターを表示します。

画面上の「インジケーター」をクリックし、「内蔵」から「RSI(相対力指数)」を選択します。

RSI01

インジケーター自作手順②:RSIをコピペする

このへんも前回と一緒です。 

画面中央に追加されたの「RSI」にカーソルを合わせ、「{ }」をクリックします。

画面下にソースコードが表示されます。

画面真ん中の右側、「・・・」をクリックし、「コピーを作成」をクリックします。

RSI02

わかりやすい名前を付けてあげてください。

RSI03

はい、RSIのコピーができました。ここに、ボリンジャーバンドを付け加えていきます。

インジケーター自作手順③:RSIに、ボリンジャーバンドを表示させる

まずは一度、内蔵のインジケーターを「×」をクリックして消します。

再び「インジケーター」「マイスクリプト」から、さきほどコピーしたRSIインジケーターを選択します。

つぎは、いつもとはちょっと違う操作になります。

RSIの「・・・」をクリックし、「RSI(14,close)にインジケーター/ストラテジーを追加」をクリックします。

RSI04

すると、「インジケーター&ストラテジー」のウインドウが表示されますので、「BB(ボリンジャーバンド)」を選んでください。

RSI05

おお!RSIにボリンジャーバンドを組みこめましたよ♪

RSI06

この表示が、目指す最終形態です。

でもこれだと、インジケーター枠を2個使ってしまっていますよね。

ですので、RSIのPineコード内に、ボリンジャーバンドを表示するよう書き込んでいきます。

インジケーター自作手順④:ボリンジャーバンドのソースコードをコピペする

RSIの下に追加された、「BB」にカーソルを合わせ、「{ }」をクリックします。

画面下にソースコードが表示されます。

このソースコードのうち、下の太線黄色マーカーの部分を、コピーしてください。

//@version=4
study(shorttitle="BB", title="Bollinger Bands", overlay=true, resolution="")
length = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

インジケーター自作手順⑤:RSIのコードボリンジャーバンドのコードをコピペし、数値やタイトルを直す

さきほどコピーしたボリンジャーバンドのコードを、RSIのコードの下に追加します。

すると、下のようになったと思います。

//@version=4
study(title="Relative Strength Index", shorttitle="RSI", format=format.price, precision=2, resolution="")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#7E57C2)
band1 = hline(70, "Upper Band", color=#787B86)
bandm = hline(50, "Middle Band", color=color.new(#787B86, 50))
band0 = hline(30, "Lower Band", color=#787B86)
fill(band1, band0, color=color.rgb(126, 87, 194, 90), title="Background")

length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

RSIの部分だけ、すこし解説しておきます。

「len」は、RSIを算出する期間を指します。デフォルトは「14」日です。

「src」は、RSIをわりだす元となるデータソースです。デフォルトは「close」(終値)ですね。

「up」は、「len」期間の値上がり幅の平均値を収納しています。「chenge」前日の終値との差を計算し、「max」前日の終値との差と0のどちらか大きい方を選択「rma」平均値を出しています。

「down」は、「len」期間の値下がり幅の平均値を収納しています。「chenge」前日の終値との差を計算し、「-min」前日の終値との差と0のどちらか小さい方を選択したうえでー1倍して整数にし、「rma」平均値を出しています。

「rsi」は、「up」「down」からRSIの値を計算しています。

「plot」で、RSIを描画します。

「band1」「bandm」「band0」はそれぞれ70、50、30のところに点線を引きます

「fill」という命令は、「band1」から「band0」までを塗りつぶせ、という命令ですね。

さすがにこのままでは、正しく表示されません。

ですので、下のように、タイトル部分とボリンジャーバンドのコードのみ、直してください。

//@version=4
study(title="RSI+BB2sd", shorttitle="RSI+BB", format=format.price, precision=2, resolution="")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#7E57C2)
band1 = hline(70, "Upper Band", color=#787B86)
bandm = hline(50, "Middle Band", color=color.new(#787B86, 50))
band0 = hline(30, "Lower Band", color=#787B86)
fill(band1, band0, color=color.rgb(126, 87, 194, 90), title="Background")

length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(rsi, length)
dev = mult * stdev(rsi, length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

直すのは、たったこれだけ。

要はボリンジャーバンドの元となる単純平均線を、終値ではなくRSIの値を元に算出し、標準偏差も終値ではなくRSIの値を元に算出するように変えるだけですね。

例によって、コピペではうまく機能しません…。

どうも「"」「-」が文字化けするみたいです。

ご自分でこの通りに入力するか、PCでメモ帳などを起動し、コピペ後に「"」「-」をすべて置換などして全部直せばうまく機能します。

最後に、画面真ん中の右側、「保存」をクリックし、完成です☆彡

RSI07

みごと、RSIにボリンジャーバンドを表示することができました!!

まとめ:RSIにボリンジャーバンドを組み込む!インジケーター自作》

  • TradingViewは、見やすくて多機能、優秀なチャートツールです!
  • TradingViewの無料会員は、同時に3つまでしかインジケーターの表示ができない・・・・。
  • TradingViewは、オリジナルのインジケーターが作れる
  • 一つのインジケーターに、複数のインジケーターをぶっこんだ、オリジナルのインジケーターを作ろう!
  • RSIにボリンジャーバンドを表示に挑戦!ほとんどコピペで完成しました!
  • 注意無料会員は、オリジナルのインジケーターは一つまでしか同時表示できません。

《広告》

楽天ポイントで資産運用!100ポイントから自分のお金を使わず気軽に投資! | 楽天証券 (rakuten-sec.co.jp)

【SBI証券】ネット証券口座開設数No.1|SBI証券 (sbisec.co.jp)

FX | バイナリーオプション | CFD | IG証券

《あわせて読みたい!関連リンク》

あわせて読みたい

無料チャートアプリ、「TradingView」のインジケーターを自作する ~ ①移動平均線を3本同時表示する


無料チャートアプリ、TradingViewでインジケーターを自作する ~ ②ボリンジャーバンドの標準偏差を、複数同時表示する


無料チャートアプリ、TradingViewでインジケーターを自作する ~ ④ DMAを表示する


無料チャートアプリ、TradingViewでインジケーターを自作する ~ ⑤ 最高値からの、ー5%ごとの価格を表示する

あわせて読みたい

⇒《米国株》ハイリスク・ハイリターンなレバレッジETF、「SOXL」!過去の暴落率を調べてみました。


⇒《米国株》レバレッジETFシリーズ、第2弾!「TECL」と「SOXL」のリターンと暴落率について、比較しました!


⇒《米国株》レバレッジETFシリーズ、第3弾!「TECL」と「SOXL」の、各年別リターンを調べてみました!


⇒《米国株 レバレッジETF 第4弾》レバレッジETFの長期運用!元指数との倍率を比較し、何倍になっているのか調べてみました!《SPXL・TECL・SOXL・TNA》

楽天ROOM