RCI3本を使ったインジケーターです。
買われすぎラインを80 売られすぎラインを-80とし、このラインに短期線、中期線、長期戦いずれかが抜けだした時にサインが出現します。
サインに合わせてアラートを鳴らすこともできます。
RCI80OUTインジケーター
コチラがインジケーターを表示させたときの画像。
トレーディングビューの下の段にRCIを3本表示します。
短期線:S
中期線:M
長期戦:L
でサインを表示。サインはそれぞれ表示、非表示切り替えられます。
例えばこの画面のように、短期のサインだけ、中期長期だけなど細かく調整できます。
コチラはパラメータ画面。短期中期長期、買われすぎ売られすぎの数値はそれぞれ設定できます。
ただし、買われすぎ売られすぎのラインを変更したとしても、サインやアラートは±80で固定です。
コチラがスタイル画面。短期中期長期線のラインの色や太さはコチラで変更可能です。
コチラがアラート画面。
短期、中期、長期の買いサイン売りサインに合わせて設定できます。
RCI80OUTインジケーターコード
//@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!")
コメント