【自作無料】RCI3本 買われすぎ売られすぎ突入でサインとアラートインジ

RCI80INサムネイル画像 無料インジケーター

RCI3本を使ったインジケーターを作りました。無料で確認不要で使っていただけます。

RCIインジケーターはとても人気が高いですが、アラートがなかったりと不便と感じるものもあります。

そこでサイン&アラートを付けました。

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

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

【自作無料】RCI3本 買われすぎ売られすぎ突入でサインとアラートインジ
RCI3本を使ったインジケーターを作りました。無料で確認不要で使っていただけます。 RCIインジケーターはとても人気が高いですが、アラートがなかったりと不便と感じるものもあります。 そこでサイン&アラートを付けました。 買われすぎラインを8...

コチラも同じく自作した、RCIが買われすぎ売られすぎから”抜けだしたら”サイン&アラートのインジです。

RCI80INインジケーター

RCI80INvr2インジ画像

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

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

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

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

RCI80INvr2個別表示画像

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

RCI80INvr2パラメータ画面

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

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

RCI80INvr2スタイル画面

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

RCI 80 in アラート一覧(全8個)

RCI80INvr2アラート画面

1. Short Term Sell Signal Alert|短期売りシグナル
短期RCI(赤線)が買われすぎライン(+80)を上から下に抜けた

2. Short Term Buy Signal Alert|短期買いシグナル
短期RCI(赤線)が売られすぎライン(-80)を下から上に抜けた

3. Mid Term Sell Signal Alert|中期売りシグナル
中期RCI(緑線)が買われすぎライン(+80)を上から下に抜けた

4. Mid Term Buy Signal Alert|中期買いシグナル
中期RCI(緑線)が売られすぎライン(-80)を下から上に抜けた

5. Long Term Sell Signal Alert|長期売りシグナル
長期RCI(青線)が買われすぎライン(+80)を上から下に抜けた

6. Long Term Buy Signal Alert|長期買いシグナル
長期RCI(青線)が売られすぎライン(-80)を下から上に抜けた

7. Any RCI Sell Signal|いずれかのRCI売りシグナル
短期・中期・長期のいずれかのRCIで売りシグナルが発生

8. Any RCI Buy Signal|いずれかのRCI買いシグナル
短期・中期・長期のいずれかのRCIで買いシグナルが発生

 

細かく分けてはいますが、必要なものだけ設置してください。

RCI80INインジケーターコード

//@version=5
indicator("RCI 80 in", overlay=false, shorttitle="RCI 80 in", max_labels_count=500)

// Input parameters
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")

// RCI calculation function
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

// Calculate RCI values once
rciShort = rci(itvs)
rciMid = rci(itvm)
rciLong = rci(itvl)

// Signal calculations (fixed logic)
sellSignal1 = showShortSignals and ta.crossunder(rciShort, upperband)  // RCI crosses under overbought
buySignal1 = showShortSignals and ta.crossover(rciShort, lowerband)    // RCI crosses over oversold
sellSignal2 = showMidSignals and ta.crossunder(rciMid, upperband)
buySignal2 = showMidSignals and ta.crossover(rciMid, lowerband)
sellSignal3 = showLongSignals and ta.crossunder(rciLong, upperband)
buySignal3 = showLongSignals and ta.crossover(rciLong, lowerband)

// Plot RCI lines
plot(rciShort, color=color.red, title="Short Term RCI", linewidth=2)
plot(rciMid, color=color.green, title="Mid Term RCI", linewidth=2)
plot(rciLong, color=color.blue, title="Long Term RCI", linewidth=2)

// Plot reference lines
hline(upperband, "Overbought", color=color.gray, linestyle=hline.style_dashed)
hline(lowerband, "Oversold", color=color.gray, linestyle=hline.style_dashed)
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)

// Signal labels with offset to avoid overlap
var int labelOffset = 0

if sellSignal1 or sellSignal2 or sellSignal3
    labelY = upperband + 5
    labelText = ""
    labelColor = color.red
    
    if sellSignal1
        labelText := labelText + "S"
        labelColor := color.red
    if sellSignal2
        labelText := labelText + "M"
        labelColor := sellSignal1 ? color.orange : color.green
    if sellSignal3
        labelText := labelText + "L"
        labelColor := (sellSignal1 or sellSignal2) ? color.purple : color.blue
    
    label.new(x=bar_index, y=labelY, style=label.style_label_down, 
              color=labelColor, text="▼" + labelText, size=size.small,
              textcolor=color.white)

if buySignal1 or buySignal2 or buySignal3
    labelY = lowerband - 5
    labelText = ""
    labelColor = color.green
    
    if buySignal1
        labelText := labelText + "S"
        labelColor := color.red
    if buySignal2
        labelText := labelText + "M"
        labelColor := buySignal1 ? color.orange : color.green
    if buySignal3
        labelText := labelText + "L"
        labelColor := (buySignal1 or buySignal2) ? color.purple : color.blue
    
    label.new(x=bar_index, y=labelY, style=label.style_label_up, 
              color=labelColor, text="▲" + labelText, size=size.small,
              textcolor=color.white)

// Alerts with corrected descriptions
alertcondition(sellSignal1, title="Short Term Sell Signal Alert", 
               message="Short Term RCI has crossed under overbought level!")
alertcondition(buySignal1, title="Short Term Buy Signal Alert", 
               message="Short Term RCI has crossed over oversold level!")
alertcondition(sellSignal2, title="Mid Term Sell Signal Alert", 
               message="Mid Term RCI has crossed under overbought level!")
alertcondition(buySignal2, title="Mid Term Buy Signal Alert", 
               message="Mid Term RCI has crossed over oversold level!")
alertcondition(sellSignal3, title="Long Term Sell Signal Alert", 
               message="Long Term RCI has crossed under overbought level!")
alertcondition(buySignal3, title="Long Term Buy Signal Alert", 
               message="Long Term RCI has crossed over oversold level!")

// Combined alerts for multiple timeframes
alertcondition(sellSignal1 or sellSignal2 or sellSignal3, title="Any RCI Sell Signal", 
               message="RCI Sell Signal detected!")
alertcondition(buySignal1 or buySignal2 or buySignal3, title="Any RCI Buy Signal", 
               message="RCI Buy Signal detected!")

 

※2025/9 表示を修正しました。

コピペで使えるハズです。
不具合などあれば直しますのでコメントなどで教えてください。

RCIワンポイントアドバイス

RCIはレンジ相場かトレンド相場かによって使い方が大きく変わります。

例えばレンジ相場なら短期線や中期線の切り替えしが参考になりますし、トレンド相場ならまず長期線で「どっちに動いているか」をしっかり把握して、逆にポジションを持つことを絶対に避けなければいけません。

以前RCIの短期折り返しを信じてガチホしたら、ちゃんと逝きました。

RCI単体は万能ではありませんので、あくまでトレードの目安にお使いください。

コピペで使えるインジケーターについて

TradingViewへの追加の仕方がわからない方は

≫【画像で簡単】TradingViewオリジナルインジケーター追加方法

コチラの記事を参考にしてください。慣れると簡単ですよ。

 

もし「こんなインジケーターが欲しい」という希望があれば、コメント欄にどうぞ。

トレーディングビュー用限定になってしまいますが、可能な範囲で作りますのでお気軽に

投資についての免責事項

当ブログで紹介する情報は、あくまで個人的な見解や分析結果であり、投資を推奨するものではありません。実際の投資判断は、ご自身の責任において行っていただきますようお願いいたします。
詳しくは免責事項をご覧ください。

無料インジケーター
Shiroiをフォローする
仮想通信

コメント

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