平均回帰RSI(2)モメンタムブレイクアウト取引戦略と移動平均トレンドスクリーニングシステム

RSI SMA MA200 均值回归 动量突破 时间止损 目标获利
作成日: 2025-07-09 10:17:04 最終変更日: 2025-07-09 10:17:04
コピー: 0 クリック数: 256
2
フォロー
319
フォロワー

平均回帰RSI(2)モメンタムブレイクアウト取引戦略と移動平均トレンドスクリーニングシステム 平均回帰RSI(2)モメンタムブレイクアウト取引戦略と移動平均トレンドスクリーニングシステム

概要

平均値回帰RSI ((2)) 動量突破取引戦略と均線トレンドフィルタリングシステムは,短期超売り指標と長期トレンド確認を融合した量化取引戦略である.この戦略は,市場超売り状態を識別するために,非常に短い周期 ((2日) の比較的強い指数 ((RSI) を利用し,200日移動平均をトレンドフィルターとして組み合わせて,全体的な上昇傾向のみで取引することを保証する.この戦略は,明確な利益目標 ((前2取引日の最高価格) と固定された個人ポジションの時間制限 ((5取引日) を設計し,固定ストップを設定せず,短期価格の逆転後の反弹の機会を捉えることを目的としている.

戦略原則

この戦略の核心理は,市場の平均値回帰特性,特に強烈な上昇傾向中の短期回帰に基づいている.具体的には以下の通りである.

  1. 応募条件:

    • RSI ((2) 指標は25未満で,短期的に深刻な過剰売りを示しています.
    • 価格が200日移動平均より上にとどまり,長期の上昇傾向が有効であることを確認した.
  2. 退場条件 ((いずれかを満たせば即退場する):

    • 価格が利益目標に達した:前2取引日の最高値
    • タイム制限:入場から5取引日が経過しました
  3. 固定停止点のない設計:

    • ストラテジックは,強気なトレンドの中で,価格が下がった後に反発すると仮定します.
    • 目標価格または時間制限に達するまで保持されます.

この戦略は,コード実装でPine Script言語を使用し,ta.rsiとta.smaの関数によって技術指標を計算し,strategy.entryとstrategy.closeを使用して取引を管理し,入場価格とポジションの時間を変数で追跡する.

戦略的優位性

この戦略は,詳細に分析した結果,以下の顕著な利点がある:

  1. 双重確認メカニズム:RSIの超売りシグナルとトレンドフィルターの組み合わせにより,偽のシグナルの可能性が低くなります.

  2. 明確な入場・出場ルール:戦略規則は単純で明快で,理解し実行しやすい.主観的な判断の影響が軽減される.

  3. 200日平均線をフィルタリングして,長期の上昇傾向のみで取引を確実にするため,勝率を向上させる

  4. フレキシブルな収益目標:前2取引日の最高価格を動的目標として使用し,異なる市場状況に適応する

  5. リスクの時間管理: 長期の監禁を回避し,資金の効率的な循環を確保するために,平仓の仕組みを強制する5日

  6. 操作の簡素性:戦略のパラメータが少なく,異なるトレーダーのニーズに合わせて簡単に調整・最適化できます.

  7. 頻繁に監視する必要がない:明確な自動出場条件があり,トレーダーの心理的ストレスと監視の必要性が軽減されます.

戦略リスク

この戦略は合理的に設計されていますが,以下の潜在的なリスクがあります.

  1. 止まれないリスク: 固定された止まれないポイントがないことは,両刃の剣であり,極端な市場条件では大きな損失を引き起こす可能性があります.

    • 解決方法:ATRベースのダイナミックストップを追加するか,最大許容可能な損失比率を設定する
  2. トレンド逆転のリスク: 200日平均線以上であっても,突然のトレンド逆転が発生する可能性があります.

    • 解決方法:MACDやトレンドライン分析などの他のトレンド確認指標と組み合わせる
  3. パラメータの感受性:RSI周期と値の設定は,戦略のパフォーマンスに大きな影響を与える

    • 解決方法: 十分な履歴調査を行い,特定の市場に最適なパラメータの組み合わせを見つけること
  4. 時間のリスク:5日間の固定ポジション期間は,特定の市場条件で短すぎたり,長すぎたりする

    • 解決策:異なる市場の波動性に応じてポジション保持時間のパラメータを調整する
  5. 流動性のリスク:流動性の低い市場では,理想的な価格で取引を行うことは困難である

    • 解決策: 最小取引量要求のような流動性のフィルタリング条件を増やす
  6. スリップポイントと取引コスト: 戦略は実際の取引における スリップポイントと取引費用を考慮していない

    • 解決方法:これらの要素を反省と実態データに含め,実際の収益を評価する

戦略最適化の方向性

この戦略は,コード分析に基づいて,以下の方向に最適化できます.

  1. 動的RSIの限界値:

    • 固定RSIの値 ((25)) を,市場の波動性に基づく動的値に変更する
    • 理由: 市場環境によって超売りの定義が異なる可能性があり,動的減価償却は市場変化に適したものである
  2. 多周期的なトレンドは次のように確認されています.

    • 200日平均線以外で,中短期平均線 (例えば50日と20日) を追加トレンドフィルタ条件として追加
    • 理由:複数の時間枠分析により,より全面的なトレンド確認が可能で,偽信号が減少する
  3. 資金管理の最適化:

    • 固定パーセントではなく,波動的なポジションサイズ調整を実現する
    • 理由:市場の変動に応じてポジションを調整することで,リスクの均衡分配を実現し,資金効率を向上させる
  4. 損失防止の強化:

    • ATRまたは固定パーセントに基づくストップ・ローズ設定を導入する
    • 理由: 戦略の理念が反転を待つことであっても,適切なストップを設定することで,極端な状況で大きな損失を回避できます.
  5. 入場最適化:

    • RSIが25を下回ると50%の入場,さらに下回る場合は50%の入場,さらに下回る場合は50%の入場
    • 理由: 集団入学により平均コストが改善され,大きな変動の際の適応性が向上する
  6. 舞台の最適化:

    • 目標達成時に部分的に平仓するなど,分期利益の仕組みを実現する.
    • 理由: 分配により,部分的な利益が確保され,さらに上昇する可能性がある
  7. 市場環境のフィルター:

    • 波動率の指標 (ATRやVIXなど) を市場環境のフィルター条件として増やす
    • 理由: 不良な市場条件を回避するために,異なる波動的な環境下で戦略パラメータを調整するか,取引を一時停止する

要約する

RSIへの回帰 (((2) 動量突破取引戦略と均線トレンドフィルタリングシステムは,短期超売り指標と長期トレンドフィルタを組み合わせた量化取引戦略である.強力な上昇傾向中の短期回调の機会を識別することによって,この戦略は,リスクが比較的制御可能な場合に価格反転がもたらす利益の機会を捉えることができる.

この戦略の主な優点は,規則の明確性,操作の簡素性,および二重確認メカニズムが提供するより高い勝率である.同時に,固定ポジション保持時間とダイナミックな収益目標の設計は,資金管理とリスク制御のための良い枠組みを提供します.

しかし,固定ストップメカニズムの欠如は,この戦略の主要なリスクポイントであり,実用的なアプリケーションでは特に注意が必要である.ダイナミックストップを追加し,パラメータ設定を最適化し,資金管理を完善し,市場環境フィルターを追加するなど,この戦略には大きな最適化余地がある.

全体として,これは合理的に設計された平均回帰戦略であり,特に上昇傾向が明瞭な市場での適用に適しており,短期的な回帰の機会を捉えるよう求めるトレーダーにとって高い参照価値を持っています.

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

//@version=5
strategy("RSI(2) with MA200 + Target + Close after 5 Days (No Stop Loss)", overlay=true,
     default_qty_type=strategy.percent_of_equity, default_qty_value=100,
     initial_capital=1000, currency=currency.EUR)

// === PARAMETERS ===
rsi_threshold = 25
rsi_period = 2
valid_days = 5  // Auto-close after 5 useful candles

// === BASE CALCULATIONS ===
rsi = ta.rsi(close, rsi_period)
ma200 = ta.sma(close, 200)
trend_ok = close > ma200

// === ENTRY CONDITION ===
entry_condition = rsi < rsi_threshold and trend_ok

// === TAKE PROFIT LEVEL ===
max_2days = math.max(high[1], high[2])

// === POSITION MANAGEMENT VARIABLES ===
var float entry_price = na
var int bars_since_entry = na

if entry_condition and strategy.opentrades == 0
    strategy.entry("RSI(2) Long", strategy.long)
    entry_price := close
    bars_since_entry := 0

// === TIME COUNTER ===
bars_since_entry := strategy.opentrades > 0 ? (na(bars_since_entry) ? 1 : bars_since_entry + 1) : na
time_expired = bars_since_entry >= valid_days

// === EXIT ON TARGET OR TIME ===
target_hit = high >= max_2days

if strategy.opentrades > 0 and (target_hit or time_expired)
    reason = target_hit ? "🎯 Target Hit" : "⏳ Time Expired"
    strategy.close("RSI(2) Long", comment=reason)
    entry_price := na
    bars_since_entry := na

// === VISUALIZATION — SIGNAL & LEVELS ===
plot(entry_condition ? close : na, title="Entry Signal", color=color.green, style=plot.style_circles, linewidth=2)
plot(strategy.opentrades > 0 ? max_2days : na, title="Take Profit Level", color=color.lime, linewidth=1)