RSIの買われすぎ・売られすぎを自由に変更でき、その数値に応じてアラートを設定できるインジケーターを作りました。
確認不要、無料で使っていただけます。
なぜカスタム設定が必要なのか
一般的なRSIは買われすぎが70、売られすぎが30に設定されています。
ただこの70・30という数値、すべての通貨ペアや時間足に合っているわけではありません。
例えばゴールド(XAUUSD)は上昇トレンドが強い時期に60台でずっと推移することがあります。その場合70まで待っていてもアラートが来ない、あるいは来たときにはもう遅い、という状況になりがちです。
逆に荒れやすい通貨ペアでは30・70に何度もタッチしてアラートが鳴りすぎることもあります。
このインジはアラートを鳴らすラインを自由に動かせるので、自分の使っている通貨ペアや時間足に合った数値に設定できます。
RSI 買われすぎ売られすぎカスタム設定アラート

コチラがインジケーターを設置した画面です。
見た目は通常のRSIと変わりませんが、買われすぎ・売られすぎのゾーンに薄い背景色を加えています。
パラメータ設定

コチラがパラメータ画面です。
アラートを鳴らすラインは「over~」の部分で設定します。ここを変えることで、どの数値に達したときに通知するかを決められます。
変更できる主な項目はこちらです。
- RSI期間(デフォルト14)
- 移動平均線の種類と期間
- アラートを鳴らす買われすぎレベル(over~)
- アラートを鳴らす売られすぎレベル(over~)
アラートレベルは整数で自由に入力できます。60に設定すればRSIが60を突き抜けたタイミングで通知が来ます。
スタイル設定

コチラがスタイル画面です。
MAの表示設定や、チャート上の買われすぎ・売られすぎラインの見た目を変更できます。
ひとつ注意点として、スタイル画面で設定するラインの位置はあくまでビジュアル的なものです。アラートが鳴るタイミングはパラメータ画面の「over~」の数値が基準になります。
ビジュアルのラインとアラートのラインを同じ数値にしておくと、チャートを見たときに直感的にわかりやすくなります。
アラートの設定

コチラがアラート設定画面です。4種類のアラートが用意されています。
- RSI Overbought(買われすぎアラート) RSIがパラメータで設定した買われすぎレベルを下から上に突き抜けた瞬間
- RSI Oversold(売られすぎアラート) RSIがパラメータで設定した売られすぎレベルを上から下に突き抜けた瞬間
- RSI Bullish Cross(強気クロス) RSI線が移動平均線を下から上に突き抜けた瞬間
- RSI Bearish Cross(弱気クロス) RSI線が移動平均線を上から下に突き抜けた瞬間
手法に合わせて必要なものだけ設定してください。
どんな数値に設定するといいか
正解はないのですが、ひとつの考え方として紹介します。
まずチャートをある程度さかのぼって、相場が反転した場面でRSIがどのくらいの数値だったかを確認してみてください。70・30よりも手前で反転していることが多い場合は、少し内側の数値(65・35など)に設定するのが合っているかもしれません。
また同じ通貨ペアでも上昇トレンド中・下落トレンド中・横横相場で反応する数値が変わることがあります。完璧な設定を探すよりも、ざっくりした数値でまずアラートを受け取って、そこから自分で判断するスタイルの方が使いやすいと思います。
実際の使いどころ
このインジの使い方は、通知が来たタイミングにチャートを確認するトリガーとして使うのがおすすめです。
アラートが来た段階でエントリーするのではなく、「チャートを見る理由ができた」という感覚で使うとダマシに引っかかりにくくなります。通知が来たらチャートを開いて、トレンドの方向やローソク足の形を確認してからエントリーを判断するのがいいと思います。
スキャルピングよりも、ある程度待てるトレードスタイルの方が活かしやすいです。
RSIカスタムアラートインジケーターコード
//@version=6
indicator(title="RSI 買われすぎ売られすぎ カスタムアラート", shorttitle="RSI Custom Alert", format=format.price, precision=2)
// ================================================================
// 移動平均関数
// ================================================================
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA(RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// ================================================================
// 設定
// ================================================================
grp_rsi = "RSI設定"
grp_ma = "移動平均線設定"
grp_alert = "アラートレベル(カスタム)"
grp_color = "カラー設定"
rsiLength = input.int(14, minval=1, title="RSI期間", group=grp_rsi)
rsiSource = input.source(close, title="ソース", group=grp_rsi)
maType = input.string("SMA", title="MAの種類",
options=["SMA","EMA","SMMA(RMA)","WMA","VWMA"], group=grp_ma)
maLength = input.int(9, minval=1, title="MA期間", group=grp_ma)
obLevel = input.int(70, minval=0, maxval=100, title="買われすぎアラートレベル", group=grp_alert,
tooltip="RSIがこの数値を下から上に抜けたときにアラートが鳴ります")
osLevel = input.int(30, minval=0, maxval=100, title="売られすぎアラートレベル", group=grp_alert,
tooltip="RSIがこの数値を上から下に抜けたときにアラートが鳴ります")
rsiColor = input.color(color.new(#00ACC1, 0), title="RSIラインの色", group=grp_color)
maColor = input.color(color.new(#FFA726, 0), title="MAラインの色", group=grp_color)
obColor = input.color(color.new(#EF5350, 92), title="買われすぎゾーンの色", group=grp_color)
osColor = input.color(color.new(#66BB6A, 92), title="売られすぎゾーンの色", group=grp_color)
midColor = input.color(color.new(#9C27B0, 80), title="中間ゾーンの色", group=grp_color)
// ================================================================
// RSI計算
// ================================================================
rsi = ta.rsi(rsiSource, rsiLength)
rsiMA = ma(rsi, maLength, maType)
// ================================================================
// プロット
// ================================================================
plot(rsi, "RSI", color=rsiColor, linewidth=2)
plot(rsiMA, "RSI MA", color=maColor, linewidth=2)
obLine = hline(obLevel, "買われすぎ", color=color.new(#EF5350, 0), linestyle=hline.style_dashed, linewidth=1)
midLine = hline(50, "中間ライン", color=color.new(#9C27B0, 50), linestyle=hline.style_dotted, linewidth=1)
osLine = hline(osLevel, "売られすぎ", color=color.new(#66BB6A, 0), linestyle=hline.style_dashed, linewidth=1)
fill(obLine, hline(100), color=obColor, title="買われすぎゾーン")
fill(osLine, hline(0), color=osColor, title="売られすぎゾーン")
fill(obLine, osLine, color=midColor, title="中間ゾーン")
// ================================================================
// アラート条件
// ※ アラート設定画面では「バーの終値ごとに1回」を選択してください。
// ================================================================
rsiOverbought = ta.crossover(rsi, obLevel)
rsiOversold = ta.crossunder(rsi, osLevel)
maCrossUp = ta.crossover(rsi, rsiMA)
maCrossDown = ta.crossunder(rsi, rsiMA)
alertcondition(rsiOverbought, title="買われすぎアラート", message="RSIが買われすぎレベル({{plot_0}})を上抜けました")
alertcondition(rsiOversold, title="売られすぎアラート", message="RSIが売られすぎレベル({{plot_0}})を下抜けました")
alertcondition(maCrossUp, title="RSIがMAを上抜け", message="RSIが移動平均線を上抜けました")
alertcondition(maCrossDown, title="RSIがMAを下抜け", message="RSIが移動平均線を下抜けました")

Tradingviewでは「RSI Custom Level Alert」という名前で無料公開しています。
興味のある方はご自由にお使いください。
あと、MT4やMT5など他のツールでチャートを見ている方はぜひ一度TradingViewを見てみてください。
まとめ
買われすぎ・売られすぎのラインをカスタマイズできるRSIアラートインジケーターを紹介しました。
デフォルトの70・30が合わないと感じている方は、自分の取引している通貨ペアや時間足に合った数値に調整してみてください。



コメント