RSI-BBモメンタムブレイクアウト戦略
概要
RSI-BBモメンタムブレイクアウト戦略は、相対力指数(RSI)とボリンジャーバンド(BB)を組み合わせたブレイクアウト戦略です。この戦略は、RSIで市場のトレンドと買われ過ぎ・売られ過ぎを判断し、BBでブレイクアウトのポイントを判断します。RSIとBBの両指標が同時に買いまたは売りのシグナルを発した場合に、対応する買いまたは売りの取引を実行します。
戦略の原理
コードではまずRSIとBBの2つの指標を計算します。
RSIの計算方法は以下の通りです。
pine
up = rma(max(change(close), 0), 30)
down = rma(-min(change(close), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ここで、upは直近30日の終値の上昇幅、downは直近30日の終値の下落幅を集計し、rsiは上昇幅と下落幅の比率から計算されます。
BBの計算方法は以下の通りです。
pine
basis = sma(close, 50)
dev = 0.2 * stdev(close, 50)
upper = basis + dev
lower = basis - dev
ここでbasisは50日移動平均線、devは標準偏差の0.2倍、upperとlowerはそれぞれバンドの上限線と下限線です。
bbrはボリンジャーバンド幅指数で、計算方法は以下の通りです。
pine
bbr = close>upper? 1 : close<lower? -1 : 0
bbi = bbr - bbr[1]
bbrは現在のcloseが上限線を上回れば1、下限線を下回れば-1、それ以外は0とします。bbiは現在のbbrから前の期間のbbrを引いた値で、0より大きければ上方ブレイクアウト、0より小さければ下方ブレイクアウトを示します。
RSIとBBIを計算した後、戦略の取引シグナル判断ロジックは以下の通りです。
long = rsi>52 and rsi<65 and bbi>0.11 and bbi<0.7
short = rsi<48 and rsi>35 and bbi<-0.11 and bbi>-0.7
すなわち、RSIが52~65の範囲にあり、かつBBIが0.11より大きく0.7より小さい場合に買い;RSIが35~48の範囲にあり、かつBBIが-0.11より小さく-0.7より大きい場合に売りです。
戦略の利点
-
RSIとBBの2つの指標を組み合わせることで、より正確に売買ポイントを判断できます。RSIは買われ過ぎ・売られ過ぎを判断し、BBはブレイクアウトポイントを判断するため、両者の組み合わせで信頼性が向上します。
-
RSIのパラメータを30日線に設定することで、市場のノイズの一部をフィルタリングし、主要なトレンドを識別できます。
-
BBのパラメータを50日線と標準偏差の0.2倍に設定することで、レンジ相場をフィルタリングする効果が得られます。
-
BBIに0.11と0.7のフィルタ条件を追加することで、偽のブレイクアウトをフィルタリングできます。
-
RSIの買い・売りのレンジを52~65および35~48に設定し、バッファを設けることで売買ポイントを逃すリスクを低減します。
戦略のリスク
-
ブレイクアウト取引戦略は往々にして逆方向に動かされやすく、リスク管理のためにストップロスを設定する必要があります。
-
バックテストデータに過学習の可能性があり、実運用時の結果が異なる場合があります。
-
市場が急激に変動した場合、ストップロスが破られ、大きな損失が発生する可能性があります。
-
RSIとBBのパラメータ(期間パラメータや売買レンジパラメータ)の最適化が必要です。
-
注文の価格設定も実運用のパフォーマンスに大きな影響を与えます。
戦略の最適化の方向性
-
RSIとBBの異なるパラメータの組み合わせをテストし、最適なパラメータを見つける。
-
MACD、KDなどの他の指標を追加してシグナルをフィルタリングする。
-
売買のRSIレンジパラメータを最適化・調整し、レンジを狭めてノイズをより多くフィルタリングする。
-
BBIのフィルタパラメータを最適化し、動的なレンジを設定して偽のブレイクアウトをフィルタリングする。
-
トレンド判断指標を追加し、逆張りを避ける。
-
異なるストップロス方法をテストし、最大ドローダウンが許容可能なストップロス方式を見つける。
-
異なる注文方法をテストし、スリッページの影響が最小の注文方式を見つける。
まとめ
RSI-BBモメンタムブレイクアウト戦略は、トレンド判断とブレイクアウト判断の長所を組み合わせ、バックテストで良好なパフォーマンスを示しています。しかし、実運用時にはスリッページやストップロスの影響を受ける可能性があります。バックテスト結果に基づいてパラメータを最適化し、異なるストップロスや注文方式をテストして、実運用により適した設定を見つける必要があります。また、パラメータやフィルタ条件は市場の変化に対応するために動的に調整する必要があります。総じて、本戦略は一定の実戦価値がありますが、安定した効果を得るには継続的な最適化と検証が必要です。
/*backtest
start: 2023-10-03 00:00:00
end: 2023-11-02 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Based on Larry Connors RSI-2 Strategy - Lower RSI
strategy(title="Spyfrat Strat", shorttitle="SpyfratStrat", overlay=true)
src = close, - 1

