ボリンジャーバンド - RSI二重確認平均回帰戦略とトレーリングストップロス保護

BB RSI SMA SD TS
作成日: 2025-08-11 09:39:46 最終変更日: 2025-08-11 09:39:46
コピー: 3 クリック数: 257
2
フォロー
319
フォロワー

ボリンジャーバンド - RSI二重確認平均回帰戦略とトレーリングストップロス保護 ボリンジャーバンド - RSI二重確認平均回帰戦略とトレーリングストップロス保護

概要

この戦略は,ブリン帯とRSI指標を組み合わせて,二重確認方法によって潜在的な市場逆転点を識別する.価格がブリン帯を下回り,RSIがオーバーセール条件を確認すると,多頭ポジションに入ります.価格がブリン帯を上回り,RSIがオーバーバイ条件を確認すると,空頭ポジションに入ります.この戦略は,固定ストップとトラッキングストップのメカニズムを同時に実施し,リスク管理を行います.

戦略原則

この戦略は,平均回帰原理と動量確認機構に基づいて動作する. ブリン帯は,近期変動に対する価格極限を識別するのに役立つが,RSIは,市場が実際に過買または過売状態にあるかどうかを確認する. 核心原理は,以下のとおりである.

  1. ブリン帯 (標準差に基づくSMAの周りの波動帯) を用いて,価格が平均から大きく離れているときを識別する
  2. 潜在的反転をRSI読み込みで確認し,偽信号をフィルターする
  3. 固定ストップとストップを追跡する総合的なリスク管理機構の導入
  4. 同技術原理に基づく多頭と空頭取引のチャンス

コード実装では,戦略は30日周期のSMAを計算し,ブリン帯の中軸線,標準差の倍数2.0を使用し,14日周期のRSIを動量として確認する.価格が上線を突破し,RSIが70を超えると空頭シグナルを触発し,価格が下線を突破し,RSIが30を下回ると多頭シグナルを触発する.同時に,各取引に固定40ポイントのストップ損失と40ポイントのトラッキングストップ損失を適用し,リスクを制御できるようにする.

戦略的優位性

  1. 双重確認メカニズムは,価格行動 (ブリン帯) と動力 (RSI) を同時に満たす条件を要求し,偽信号を減らす.
  2. 平均回帰法では,市場が極端な波動後に平均に戻る傾向特性を利用する.
  3. 柔軟なパラメータ設定により,戦略は異なる市場状況と取引品種に適応できます.
  4. 総合的なストップ戦略は,固定ストップとストップを追跡するストップを同時に使用し,資本を保ち,利益をロックするのに役立ちます.
  5. 比較的単純な実装により,戦略は理解しやすくなり,市場騒音をフィルターするほど複雑である.
  6. 策略対称性により,多頭と空頭の機会を同じ原理で処理できます.
  7. 明確なコード構造とパラメータ化された設計により,異なる市場特性に合わせて戦略を最適化できます.

戦略リスク

  1. 強いトレンドの市場では,平均回帰戦略は,連続した損失に直面する可能性があります.
  2. 固定ストップは,異なる市場の変動で常に最適化できない可能性があります.
  3. 継続的なトレンドでは,RSIとブリン帯は長期間,極端な領域に留まることになり,早期入場につながる可能性があります.
  4. 40点の固定ストップは,異なる取引品種とその典型的な価格範囲に自律的に調整されません.
  5. ポジション管理の論理の欠如は,異なる取引間のリスクの格差を引き起こす可能性があります.
  6. タイムベースの出場のメカニズムがないことにより,波動的な市場では長期間ポジションを保持することがあります.
  7. 固定ストップポイントは,高度に変動する環境で資本を保護するのに不十分である

戦略最適化の方向性

  1. ATR (平均リアルレンジ) または歴史的な変動率に基づく自律的なストップとストップトラッキングを実現する
  2. トレンドフィルターを追加し,強くなっている市場での逆転取引を避ける
  3. 統合された取引量確認により,信号の質が向上する
  4. 変動率またはリスク指標に基づくダイナミックなポジション管理を開発する
  5. タイムベースの出場ルールを追加し,長期のポジション保持を避ける
  6. 代替ブリン帯計算方法をテストする (例えば,SMAの代わりにEMAを使用するか,または異なる標準差の倍数)
  7. アクシダント認証指標を追加して入学時間を最適化
  8. リスク・リターン比率の整体性を改善するために,部分的利益獲得ルールを追加することを検討する
  9. 波動率調整メカニズムを導入し,異なる波動環境で戦略をより安定的に実行できるようにする

要約する

ブリン帯-RSI二重確認平均回帰策とトラッキング・ストップ・保護は,市場逆転取引の熟考された手法を表しています. ブリン帯の波動的信号とRSIの動態確認を組み合わせることで,この戦略は,高確率の逆転を捕捉し,偽の信号をフィルターします. 組み込みのリスク管理メカニズムは,固定とトラッキング・ストップを介して重要な保護層を提供します. この戦略は,他の潜在的逆転を二重確認して利用する点で明らかな利点がありますが,特に異なる市場条件に適応し,より複雑なポジション管理と出場メカニズムを実施する点で,さらなる最適化から利益を得ることができます.

ストラテジーソースコード
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("BB & RSI Trailing Stop Strategy", overlay=true, initial_capital=10000)

// --- Inputs for Bollinger Bands, RSI, and Trade Management ---
bb_length = input.int(30, title="BB Length", minval=1)
bb_mult = input.float(2.0, title="BB StdDev", minval=0.001, maxval=50)
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1)
rsi_oversold = input.int(30, title="RSI Oversold Level", minval=1)
// We only need an input for the fixed stop loss now.
fixed_stop_points = input.int(40, title="Fixed Stop Loss Points", minval=1)

// --- Define Trailing Stop Value ---
// The trailing stop is hardcoded to 40 points as requested.
trailing_stop_points = 40

// --- Calculate Indicators ---
// Bollinger Bands
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// RSI
rsi_value = ta.rsi(close, rsi_length)

// --- Plot the Indicators on the chart ---
plot(basis, "Basis", color=color.new(color.gray, 0))
plot(upper, "Upper", color=color.new(color.red, 0))
plot(lower, "Lower", color=color.new(color.green, 0))

// --- Define Entry Conditions ---
// Short entry when price crosses upper band AND RSI is overbought
short_condition = ta.crossover(close, upper) and (rsi_value > rsi_overbought)
// Long entry when price crosses under lower band AND RSI is oversold
long_condition = ta.crossunder(close, lower) and (rsi_value < rsi_oversold)

// --- Execute Trades and Manage Exits ---
if (strategy.position_size == 0)
    // Logic for SHORT trades
    if (short_condition)
        strategy.entry("BB/RSI Short", strategy.short)
    // Logic for LONG trades
    if (long_condition)
        strategy.entry("BB/RSI Long", strategy.long)

// Apply the fixed stop loss and trailing stop to any open position
strategy.exit(id="Exit Order",
             loss=fixed_stop_points,
             trail_points=trailing_stop_points,
             trail_offset=0)