見出し画像

39.【プログラミング】【TradingView】時短間違いなし!移動平均乖離率を複数同時に表示するコード

今回は移動平均乖離率を同時に何本も表示させるスクリプトの回です。

※12/8 追記 コードのエラーを修正しました


面倒な設定変えて表示させる手間を無くして時短できました

移動平均乖離率を確認するときに、5、25、50日乖離をいちいち設定を切り替えて確認するのが面倒なので、乖離率5本まで同時に表示させるスクリプトを書いて使っています。
(自分が使う時は100本と200本の乖離率はじゃまなので表示させていません)

同時にRSIも

同時にRSIを表示させる事もできます。まあ乖離率もRSIも、どちらも売られすぎ/買われすぎを示すオシレーターなので、結局同じチャートの形になりますから、同時に出す意味あるかと言われればなんともですが・・・
RSIあるとチャートをザッピングして流し見る場合に結構役立つんですよ。

RSIあり、RSIなしこんな感じです

ありなし

ざっくりしたやり方です

①画面下フレームにある「Pineエディタ」メニューからエディタを新規作成で起動します。
②下のコード(RSIあり)または(RSIなし)を張り付けて、名前を付けて保存してください。名前は何でも良いです。後から判らなくならないように、「MA Deviation Rate Multiple display and RSI」とか「MA Deviation Rate Multiple display」とかそれっぽい名前をつけましょう。
③いつものようにメイン画面からインジケーター&ストラテジー検索のダイアログを出して、作成したインジケーターを選びます。

Code (RSIあり)

//@version=4
//2020.12.08 Auter manicMACD
study("MA Deviation Rate Multiple display and RSI", overlay=false)
lenA = input(5,  title="MA1 period")
lenB = input(25, title="MA2 period")
lenC = input(50, title="MA3 period")
lenD = input(100, title="MA4 period")
lenE = input(200, title="MA5 period")
src1 = input(close, title="source", type=input.source)
src2 = input(close, title="NADR source", type=input.source)
ma_Kind= input("WMA", "MA kind", input.string, options=["SMA", "EMA", "WMA"])

funcMa(maKind, maSouce, maLength) =>
    float maReturn = 0
    if maKind=="SMA"
        maReturn := sma(maSouce, maLength)
    if maKind=="EMA"
        maReturn := ema(maSouce, maLength)
    if maKind=="WMA"
        maReturn := wma(maSouce, maLength)

MA1 = funcMa(ma_Kind, src1, lenA)
MA2 = funcMa(ma_Kind, src1, lenB)
MA3 = funcMa(ma_Kind, src1, lenC)
MA4 = funcMa(ma_Kind, src1, lenD)
MA5 = funcMa(ma_Kind, src1, lenE)
deviation_rateA = src2 / MA1 * 100 - 100
deviation_rateB = src2 / MA2 * 100 - 100
deviation_rateC = src2 / MA3 * 100 - 100
deviation_rateD = src2 / MA4 * 100 - 100
deviation_rateE = src2 / MA5 * 100 - 100
hline(0, "level", color=color.gray, linestyle=hline.style_dashed)
plot(deviation_rateA, color=color.red)
plot(deviation_rateB, color=color.orange)
plot(deviation_rateC, color=color.purple)
plot(deviation_rateD, color=color.lime)
plot(deviation_rateE, color=color.green)
//RSI
lenRSI = input(14, minval=1, title="Length")
srcRSI = input(close, "source", type = input.source)
up = rma(max(change(srcRSI), 0), lenRSI)
down = rma(-min(change(srcRSI), 0), lenRSI)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=color.maroon,linewidth=2)
band1 = hline(70, "Upper Band", color=#C0C0C0)
band0 = hline(30, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Backcolor")

RSIが要らない場合は、以下のように//RSI 以降の部分を削除してしまえばよろしいです。

Code (RSIなし)

//@version=4
//2020.12.08 Auter manicMACD
study("MA Deviation Rate Multiple display and RSI", overlay=false)
lenA = input(5,  title="MA1 period")
lenB = input(25, title="MA2 period")
lenC = input(50, title="MA3 period")
lenD = input(100, title="MA4 period")
lenE = input(200, title="MA5 period")
src1 = input(close, title="source", type=input.source)
src2 = input(close, title="NADR source", type=input.source)
ma_Kind= input("WMA", "MA kind", input.string, options=["SMA", "EMA", "WMA"])

funcMa(maKind, maSouce, maLength) =>
    float maReturn = 0
    if maKind=="SMA"
        maReturn := sma(maSouce, maLength)
    if maKind=="EMA"
        maReturn := ema(maSouce, maLength)
    if maKind=="WMA"
        maReturn := wma(maSouce, maLength)

MA1 = funcMa(ma_Kind, src1, lenA)
MA2 = funcMa(ma_Kind, src1, lenB)
MA3 = funcMa(ma_Kind, src1, lenC)
MA4 = funcMa(ma_Kind, src1, lenD)
MA5 = funcMa(ma_Kind, src1, lenE)
deviation_rateA = src2 / MA1 * 100 - 100
deviation_rateB = src2 / MA2 * 100 - 100
deviation_rateC = src2 / MA3 * 100 - 100
deviation_rateD = src2 / MA4 * 100 - 100
deviation_rateE = src2 / MA5 * 100 - 100
hline(0, "level", color=color.gray, linestyle=hline.style_dashed)
plot(deviation_rateA, color=color.red)
plot(deviation_rateB, color=color.orange)
plot(deviation_rateC, color=color.purple)
plot(deviation_rateD, color=color.lime)
plot(deviation_rateE, color=color.green)


わからない人向け

以前書いた「37.【プログラミング】【TradingView】ボリンジャーバンド1σ、2σ、3σ同時に表示するコード」に手順がありますので参考にして下さい。

設定です

設定

期間や、移動平均の種類などを変更できます。
また、表示するチャートを減らしたり、色や線を変えることができます。

乖離率のパーセンテージも表示できます

画像3

今回のコードは図の下側にある、移動平均乖離率を最大5チャートとRSIを表示させるコードです。
上側にあるローソク足、出来高がデフォルトの表示で、移動平均線3チャートは「4MA」という公開ストラテジーインジケーターです。

おわりに

まずはお決まりですが、本内容のご理解ご利用は自己責任でお願いします。

移動平均乖離率を複数表示させておけば、切り替えの時間が掛からないので便利でした。

TradingViewをまだ使った事のない方は下記をリンクからインストールできます。こちらから新規アカウントを作成して有料版にアプグレード頂くと相互に最大3000円分のTradingViewボーナスコインが貰えます。


そして、今回の記事も無料で全文読むことができます!
寄附、投げ銭用に200円設定してみました。

最後まで読んで頂きありがとうございました。
以上です。


ここから先は

11字

¥ 100

この記事が気に入ったらサポートをしてみませんか?