RCI3本を使ったインジケーターです。
買われすぎラインを80 売られすぎラインを-80とし、このラインに短期線、中期線、長期戦いずれかが入り込んだ時にサインが出現します。
サインに合わせてアラートを鳴らすこともできます。
RCI80INインジケーター
コチラがインジケーターを表示させたときの画像。
トレーディングビューの下の段にRCIを3本表示します。
短期線:S
中期線:M
長期戦:L
でサインを表示。サインはそれぞれ表示、非表示切り替えられます。
例えばこの画面のように、短期のサインだけ、中期長期だけなど細かく調整できます。
コチラはパラメータ画面。短期中期長期、買われすぎ売られすぎの数値はそれぞれ設定できます。
ただし、買われすぎ売られすぎのラインを変更したとしても、サインやアラートは±80で固定です。
コチラがスタイル画面。短期中期長期線のラインの色や太さはコチラで変更可能です。
コチラがアラート画面。
短期、中期、長期の買いサイン売りサインに合わせて設定できます。
RCI80INインジケーターコード
//@version=5 indicator("RCI 80 in", overlay=false, shorttitle="RCI 80 in") 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") 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 sellSignal1 = showShortSignals and ta.crossover(rci(itvs), upperband) buySignal1 = showShortSignals and ta.crossunder(rci(itvs), lowerband) sellSignal2 = showMidSignals and ta.crossover(rci(itvm), upperband) buySignal2 = showMidSignals and ta.crossunder(rci(itvm), lowerband) sellSignal3 = showLongSignals and ta.crossover(rci(itvl), upperband) buySignal3 = showLongSignals and ta.crossunder(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 sellSignal1 label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.red, text="▼S") if buySignal1 label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.red, text="▲S") if sellSignal2 label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.green, text="▼M") if buySignal2 label.new(x=bar_index, y=lowerband, style=label.style_label_up, color=color.green, text="▲M") if sellSignal3 label.new(x=bar_index, y=upperband, style=label.style_label_down, color=color.blue, text="▼L") if buySignal3 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(sellSignal1, title="Short Term Sell Signal Alert", message="Short Term RCI has crossed below overbought!") alertcondition(buySignal1, title="Short Term Buy Signal Alert", message="Short Term RCI has crossed above oversold!") alertcondition(sellSignal2, title="Mid Term Sell Signal Alert", message="Mid Term RCI has crossed below overbought!") alertcondition(buySignal2, title="Mid Term Buy Signal Alert", message="Mid Term RCI has crossed above oversold!") alertcondition(sellSignal3, title="Long Term Sell Signal Alert", message="Long Term RCI has crossed below overbought!") alertcondition(buySignal3, title="Long Term Buy Signal Alert", message="Long Term RCI has crossed above oversold!")
コメント