【無料インジ】RCI3本 買われすぎ売られすぎ抜け出しでサインとアラート

無料インジケーター

RCI3本を使ったインジケーターです。

買われすぎラインを80 売られすぎラインを-80とし、このラインに短期線、中期線、長期戦いずれかが抜けだした時にサインが出現します。

サインに合わせてアラートを鳴らすこともできます。

RCI80OUTインジケーター

RCI80OUTインジケーター画面

コチラがインジケーターを表示させたときの画像。

トレーディングビューの下の段にRCIを3本表示します。

短期線:S
中期線:M
長期戦:L

でサインを表示。サインはそれぞれ表示、非表示切り替えられます。

RCI80OUTサイン切り替え画面

 

例えばこの画面のように、短期のサインだけ、中期長期だけなど細かく調整できます。

RCI80OUTパラメータ画面

 

コチラはパラメータ画面。短期中期長期、買われすぎ売られすぎの数値はそれぞれ設定できます。

ただし、買われすぎ売られすぎのラインを変更したとしても、サインやアラートは±80で固定です。

RCI80OUTスタイル画面

 

コチラがスタイル画面。短期中期長期線のラインの色や太さはコチラで変更可能です。

RCI80OUTアラート画面

 

コチラがアラート画面。

短期、中期、長期の買いサイン売りサインに合わせて設定できます。

RCI80OUTインジケーターコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
//@version=5
indicator("RCI 80 OUT", overlay=false, shorttitle="RCI 80 OUT")
itvs = input(9, "Short Term RCI Period")
itvm = input(26, "Mid Term RCI Period")
itvl = input(52, "Long Term RCI Period")
upperband = input(80, "Overbought")
lowerband = input(-80, "Oversold")
showShortSignals = input(true, "Show Short Term Signals")
showMidSignals = input(true, "Show Mid Term Signals")
showLongSignals = input(true, "Show Long Term Signals")
//Shiroi
d(itv) =>
sum = 0.0
for i = 0 to itv - 1
o = 1.0
s = 0.0
p = close[i]
for j = 0 to itv - 1
if p < close[j]
o := o + 1
else
if p == close[j]
s := s + 1
rank = o + (s - 1) / 2.0
sum := sum + math.pow((i + 1) - rank, 2)
sum
rci(itv) => (1.0 - 6.0 * d(itv) / (itv * (itv * itv - 1.0))) * 100.0
exitSellSignal1 = showShortSignals and ta.crossunder(rci(itvs), upperband)
exitBuySignal1 = showShortSignals and ta.crossover(rci(itvs), lowerband)
exitSellSignal2 = showMidSignals and ta.crossunder(rci(itvm), upperband)
exitBuySignal2 = showMidSignals and ta.crossover(rci(itvm), lowerband)
exitSellSignal3 = showLongSignals and ta.crossunder(rci(itvl), upperband)
exitBuySignal3 = showLongSignals and ta.crossover(rci(itvl), lowerband)
plot(rci(itvs), color=color.red, title="Short Term RCI")
plot(rci(itvm), color=color.green, title="Mid Term RCI")
plot(rci(itvl), color=color.blue, title="Long Term RCI")
if exitSellSignal1
label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.red, text="S")
if exitBuySignal1
label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.red, text="S")
if exitSellSignal2
label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.green, text="M")
if exitBuySignal2
label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.green, text="M")
if exitSellSignal3
label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.blue, text="L")
if exitBuySignal3
label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.blue, text="L")
hline(upperband, "Overbought", color=color.gray)
hline(lowerband, "Oversold", color=color.gray)
alertcondition(exitSellSignal1, title="Short Term Sell Exit Signal Alert", message="Short Term RCI has exited the overbought zone!")
alertcondition(exitBuySignal1, title="Short Term Buy Exit Signal Alert", message="Short Term RCI has exited the oversold zone!")
alertcondition(exitSellSignal2, title="Mid Term Sell Exit Signal Alert", message="Mid Term RCI has exited the overbought zone!")
alertcondition(exitBuySignal2, title="Mid Term Buy Exit Signal Alert", message="Mid Term RCI has exited the oversold zone!")
alertcondition(exitSellSignal3, title="Long Term Sell Exit Signal Alert", message="Long Term RCI has exited the overbought zone!")
alertcondition(exitBuySignal3, title="Long Term Buy Exit Signal Alert", message="Long Term RCI has exited the oversold zone!")
//@version=5 indicator("RCI 80 OUT", overlay=false, shorttitle="RCI 80 OUT") itvs = input(9, "Short Term RCI Period") itvm = input(26, "Mid Term RCI Period") itvl = input(52, "Long Term RCI Period") upperband = input(80, "Overbought") lowerband = input(-80, "Oversold") showShortSignals = input(true, "Show Short Term Signals") showMidSignals = input(true, "Show Mid Term Signals") showLongSignals = input(true, "Show Long Term Signals") //Shiroi d(itv) => sum = 0.0 for i = 0 to itv - 1 o = 1.0 s = 0.0 p = close[i] for j = 0 to itv - 1 if p < close[j] o := o + 1 else if p == close[j] s := s + 1 rank = o + (s - 1) / 2.0 sum := sum + math.pow((i + 1) - rank, 2) sum rci(itv) => (1.0 - 6.0 * d(itv) / (itv * (itv * itv - 1.0))) * 100.0 exitSellSignal1 = showShortSignals and ta.crossunder(rci(itvs), upperband) exitBuySignal1 = showShortSignals and ta.crossover(rci(itvs), lowerband) exitSellSignal2 = showMidSignals and ta.crossunder(rci(itvm), upperband) exitBuySignal2 = showMidSignals and ta.crossover(rci(itvm), lowerband) exitSellSignal3 = showLongSignals and ta.crossunder(rci(itvl), upperband) exitBuySignal3 = showLongSignals and ta.crossover(rci(itvl), lowerband) plot(rci(itvs), color=color.red, title="Short Term RCI") plot(rci(itvm), color=color.green, title="Mid Term RCI") plot(rci(itvl), color=color.blue, title="Long Term RCI") if exitSellSignal1 label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.red, text="S") if exitBuySignal1 label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.red, text="S") if exitSellSignal2 label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.green, text="M") if exitBuySignal2 label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.green, text="M") if exitSellSignal3 label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.blue, text="L") if exitBuySignal3 label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.blue, text="L") hline(upperband, "Overbought", color=color.gray) hline(lowerband, "Oversold", color=color.gray) alertcondition(exitSellSignal1, title="Short Term Sell Exit Signal Alert", message="Short Term RCI has exited the overbought zone!") alertcondition(exitBuySignal1, title="Short Term Buy Exit Signal Alert", message="Short Term RCI has exited the oversold zone!") alertcondition(exitSellSignal2, title="Mid Term Sell Exit Signal Alert", message="Mid Term RCI has exited the overbought zone!") alertcondition(exitBuySignal2, title="Mid Term Buy Exit Signal Alert", message="Mid Term RCI has exited the oversold zone!") alertcondition(exitSellSignal3, title="Long Term Sell Exit Signal Alert", message="Long Term RCI has exited the overbought zone!") alertcondition(exitBuySignal3, title="Long Term Buy Exit Signal Alert", message="Long Term RCI has exited the oversold zone!")
//@version=5
indicator("RCI 80 OUT", overlay=false, shorttitle="RCI 80 OUT")

itvs = input(9, "Short Term RCI Period")
itvm = input(26, "Mid Term RCI Period")
itvl = input(52, "Long Term RCI Period")
upperband = input(80, "Overbought")
lowerband = input(-80, "Oversold")
showShortSignals = input(true, "Show Short Term Signals")
showMidSignals = input(true, "Show Mid Term Signals")
showLongSignals = input(true, "Show Long Term Signals")

//Shiroi

d(itv) =>
    sum = 0.0
    for i = 0 to itv - 1
        o = 1.0
        s = 0.0
        p = close[i]
        for j = 0 to itv - 1
            if p < close[j]
                o := o + 1
            else
                if p == close[j]
                    s := s + 1
        rank = o + (s - 1) / 2.0
        sum := sum + math.pow((i + 1) - rank, 2)
    sum

rci(itv) => (1.0 - 6.0 * d(itv) / (itv * (itv * itv - 1.0))) * 100.0

exitSellSignal1 = showShortSignals and ta.crossunder(rci(itvs), upperband)
exitBuySignal1 = showShortSignals and ta.crossover(rci(itvs), lowerband)
exitSellSignal2 = showMidSignals and ta.crossunder(rci(itvm), upperband)
exitBuySignal2 = showMidSignals and ta.crossover(rci(itvm), lowerband)
exitSellSignal3 = showLongSignals and ta.crossunder(rci(itvl), upperband)
exitBuySignal3 = showLongSignals and ta.crossover(rci(itvl), lowerband)

plot(rci(itvs), color=color.red, title="Short Term RCI")
plot(rci(itvm), color=color.green, title="Mid Term RCI")
plot(rci(itvl), color=color.blue, title="Long Term RCI")

if exitSellSignal1
    label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.red, text="S")
if exitBuySignal1
    label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.red, text="S")
if exitSellSignal2
    label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.green, text="M")
if exitBuySignal2
    label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.green, text="M")
if exitSellSignal3
    label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.blue, text="L")
if exitBuySignal3
    label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.blue, text="L")

hline(upperband, "Overbought", color=color.gray)
hline(lowerband, "Oversold", color=color.gray)

alertcondition(exitSellSignal1, title="Short Term Sell Exit Signal Alert", message="Short Term RCI has exited the overbought zone!")
alertcondition(exitBuySignal1, title="Short Term Buy Exit Signal Alert", message="Short Term RCI has exited the oversold zone!")
alertcondition(exitSellSignal2, title="Mid Term Sell Exit Signal Alert", message="Mid Term RCI has exited the overbought zone!")
alertcondition(exitBuySignal2, title="Mid Term Buy Exit Signal Alert", message="Mid Term RCI has exited the oversold zone!")
alertcondition(exitSellSignal3, title="Long Term Sell Exit Signal Alert", message="Long Term RCI has exited the overbought zone!")
alertcondition(exitBuySignal3, title="Long Term Buy Exit Signal Alert", message="Long Term RCI has exited the oversold zone!")

 

 

コメント

  1. ふじたこうじ より:

    こんにちは!
    素晴らしい技術をお持ちですね!
    憧れます。

    こちらのRCIシグナルインジですが、
    内側に切り込んだ時に発生しますが
    外側に突き出たタイミングでもシグナルが出るように出来ますでしょうか?

    私は突き出た時をExitのタイミングとして利用してます。

    EntryよりもExitで悩まれてる人も多いと思うので
    ご検討いただけたら幸いです。

    それではよろしくお願いします!

    • Shiroi tagutaku21 より:

      遅くなってしまい申し訳ありません スパムコメントだらけでコメントが埋もれてしまっていました。 外側に出た時に反応するインジは https://angou-kasou.com/rci-80-in/ がそうなので確認してみてください。 よろしくお願いいたします。

タイトルとURLをコピーしました