RSI Double-Dip + SuperTrend|リサーチ76

リサーチ・論文

📝 概要

RSI Double-Dip + SuperTrendを紹介します。

この戦略は、RSIとその移動平均線のクロスを利用して、RSI上で「ダブルディップっぽい動き」が出たところを狙ってロングするストラテジーです。

そして、エントリー後の決済にはSuperTrendを使います。

ざっくり言うと、

・RSIが一定水準より低い場所でRSIシグナルを上抜く
・その上抜けを1回目としてカウント
・再び同じ条件で2回目の上抜けが発生したらロング
・その後、SuperTrendが下方向へ転換したら決済

という流れ。

 

 

 

💻️ バックテスト

すべて4時間足です。

日経平均CFD 

 

S&P500(CFD) 

 

 

USDJPY

 

 

 

🎯 作成の意図

RSIを使った逆張り戦略というと、よくあるのは、「RSIが30を下回ったら買う」というものです。

ただ、これだと強い下落相場ではかなり危険です。
RSIが30を割ったあと、そのまま20、15、10……と下がっていくこともあります。
RSIが売られすぎだからといって、価格がすぐ反転するとは限りません。

そこで、この戦略では単純な売られすぎ判定ではなく、RSIそのものの反転を確認します。

RSIがRSIシグナルを下から上へ抜いたとき、「少なくとも短期的にはRSIが上向きに変わった」と考えます。

ただし、1回目ではまだ買いません。RSIが設定したトリガー水準より下にいる間に、もう一度上抜けが起こるのを待ちます。

デフォルト設定なら、

・RSIが50以下
・RSIがRSIシグナルを1回上抜ける
・その後もRSI50以下の領域にいる
・もう一度RSIシグナルを上抜ける
・2回目でロング

という流れです。

RSIチャート上では、W型の底を作るような動きになる可能性があります。これが Double-Dip という名前の由来です。

もちろん、実際にきれいなW型になっている必要はありません。コードが見ているのは、あくまで「RSIがトリガー水準以下にある間に何回上抜けたか」です。

つまり、チャートパターンを画像認識しているわけではなく、RSIの反発回数を数値化しています。

 

裁量トレードなら、「なんとなく二番底っぽい」と判断するところを、

「RSIシグナルの上抜け回数」という明確なルールに置き換えています。

そして、出口にはSuperTrendを使います。

 

つまり、「入口はオシレーター、出口はトレンド系」という役割分担です。RSIだけで入口も出口も決めるより、戦略としては少し面白い組み合わせになっています。

 

 

 

📘 コード(戦略部分)の解説

この戦略で最も重要なのが、RSIの上抜け回数を数える部分です。

bullishRsiCross = ta.crossover(rsiValue, rsiSignal)

var int dipCrossCount = 0

if rsiValue > triggerLevel
    dipCrossCount := 0

if bullishRsiCross and rsiValue < triggerLevel
    dipCrossCount += 1

まず、

bullishRsiCross = ta.crossover(rsiValue, rsiSignal)

で、RSIがRSIシグナルを下から上へ抜いた瞬間を検出します。

そして、そのクロスがトリガー水準より下で発生するたびに、

dipCrossCount += 1

としてカウントを1つ増やします。

デフォルトのトリガー水準は50です。

つまり、RSIが50より下にいる弱い地合いの中で、何回上向きの反転が発生したかを数えています。

一方、RSIがトリガー水準より上まで回復した場合は、

if rsiValue > triggerLevel
    dipCrossCount := 0

としてカウンターをリセットします。

つまり、一度しっかり50より上まで戻ったら、それまでの「底探し」は終了です。

またゼロから数え直します。

 

 

 

🔏 コアメンバー向けソース

こちらからどうぞ。

note ご指定のページが見つかりません

コメント

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