TradingView用のRCI3本を使ったインジケーターです。
短、中、長期線に対し、それぞれクロスすることでサインやアラートを出します。
※一応軽量化バージョンも作ってみたので、使い勝手のいい方を選んでください。微妙に計算違うのでサインが違います。
≫【軽量化Vr】RCI3本 短期中期長期クロスでサインとアラート
軽量化といっても微々たるものなので期待せず。
RCI3LINE CROSSインジケーター
コチラがインジケーターの画面。
RCIの短期、中期、長期がそれぞれクロスしたタイミングで背景の色が変わってサインが出ます。
一度確定するとリペイントしません。
全部のクロスを表示していまうとゴチャゴチャしてわけがわからなくなると思うので、
このように、短期線だけ強調。
中期線長期線のサインは消す、みたいな感じにできます。
※サインを消すときは、設定で透明度を0%にすると実質消えます。
デフォルトのパラメータは
- 短期:9
- 中期:26
- 長期:52
ですが好みで変更できます。
既存のRCI系のインジケーターは、中期が36になっていることが多いですね。
アラート画面はコチラ。
上から
- 中期が長期を下にクロス
- 中期が長期を上にクロス
- 短期が長期を下にクロス
- 短期が長期を上にクロス
- 短期が中期を下にクロス
- 短期が中期を上にクロス
です。
英語で書いてありますが、まぁなんとなくわかると思います。
任意の時間足と通貨で、欲しいアラートを設定してください。
RCI3LINE CROSSインジケーターコード
//@version=5 indicator("RCI Cross Indicator", shorttitle="RCI Cross", overlay=false) // Periods itvs = input(9, "Short Term RCI Period") itvm = input(26, "Mid Term RCI Period") itvl = input(52, "Long Term RCI Period") // RCI calculation 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 // Cross conditions crossShortMidUp = ta.crossover(rci(itvs), rci(itvm)) crossShortMidDown = ta.crossunder(rci(itvs), rci(itvm)) crossShortLongUp = ta.crossover(rci(itvs), rci(itvl)) crossShortLongDown = ta.crossunder(rci(itvs), rci(itvl)) crossMidLongUp = ta.crossover(rci(itvm), rci(itvl)) crossMidLongDown = ta.crossunder(rci(itvm), rci(itvl)) // Alert conditions alertcondition(crossShortMidUp, title="Short-Mid Up Cross", message="Short Term RCI crossed above Mid Term RCI!") alertcondition(crossShortMidDown, title="Short-Mid Down Cross", message="Short Term RCI crossed below Mid Term RCI!") alertcondition(crossShortLongUp, title="Short-Long Up Cross", message="Short Term RCI crossed above Long Term RCI!") alertcondition(crossShortLongDown, title="Short-Long Down Cross", message="Short Term RCI crossed below Long Term RCI!") alertcondition(crossMidLongUp, title="Mid-Long Up Cross", message="Mid Term RCI crossed above Long Term RCI!") alertcondition(crossMidLongDown, title="Mid-Long Down Cross", message="Mid Term RCI crossed below Long Term RCI!") // Plotting 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") hline(80, "Overbought", color=color.red) hline(-80, "Oversold", color=color.blue) bgcolor(crossShortMidUp ? color.new(color.red, 90) : crossShortMidDown ? color.new(color.green, 90) : crossShortLongUp ? color.new(color.blue, 90) : crossShortLongDown ? color.new(color.orange, 90) : crossMidLongUp ? color.new(color.purple, 90) : crossMidLongDown ? color.new(color.yellow, 90) : na)
不具合あればコメントなどでお知らせください。
注意点として、RCI系のインジケーターは読み込みに時間がかることが多いです。(処理がたくさん)
インジケーターが映らなくなったら、再読み込みか、表示非表示ボタンを押すと改善されることがあります。
コメント