この戦略は,ボリンジャーバンド,RSI指標,ATRベースのダイナミックストップ・ロスのメカニズムを組み合わせた平均逆転理論に基づく定量的な取引システムである.この戦略は,平均値から極端な価格偏差を特定し,価格がボリンジャーバンドの下部に触れたとき,RSIが過剰販売領域にあり,価格がボリンジャーバンド上部に触れたとき,RSIが過剰購入領域にあり,ATRを使用して,効果的なリスク報酬管理のためにストップ・ロスのレベルと収益をダイナミックに設定する.
この戦略は20期ボリンジャーバンドを主要トレンドインジケーターとして採用し,標準偏差倍数2.0で価格動きの境界を決定する. 14期RSIは補足指標として組み込まれ,30未満の値が過売れ,70を超える値が過買いとみなされる. 価格が下帯を下回り,RSIが30以下になるとロングポジションが開始され,潜在的過売状況を示すが,価格が上帯を下回り,RSIが70以上になるとショートポジションが取られる. 中間帯はポジション管理のためのRSI逆転信号と組み合わせた利益引き上げレベルとして機能する. さらに,14期ATRベースのダイナミック損失目標メカニズムが実装され,リスクを正確に制御するために2xATRで利益停止と3xATRで停止を設定する.
この戦略は,ボリンジャーバンドとRSIの組み合わせによる包括的な平均逆転取引システムを構築する.ATRベースのダイナミックストップの導入は,リスクを効果的に制御し,有利なリスク・リターン特性を提供します.最適化のための余地がある一方で,全体的な設計コンセプトは明確で実用的です.トレーダーは特定の市場の特徴に応じてパラメータを調整し,ライブ取引で戦略のパフォーマンスを継続的に監視することをお勧めします.
/*backtest start: 2024-11-19 00:00:00 end: 2024-11-26 00:00:00 period: 15m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SOL/USDT Mean Reversion Strategy", overlay=true) // Input parameters length = input(20, "Bollinger Band Length") std_dev = input(2.0, "Standard Deviation") rsi_length = input(14, "RSI Length") rsi_oversold = input(30, "RSI Oversold") rsi_overbought = input(70, "RSI Overbought") // Calculate indicators [middle, upper, lower] = ta.bb(close, length, std_dev) rsi = ta.rsi(close, rsi_length) // Entry conditions long_entry = close < lower and rsi < rsi_oversold short_entry = close > upper and rsi > rsi_overbought // Exit conditions long_exit = close > middle or rsi > rsi_overbought short_exit = close < middle or rsi < rsi_oversold // Strategy execution if (long_entry) strategy.entry("Long", strategy.long) if (short_entry) strategy.entry("Short", strategy.short) if (long_exit) strategy.close("Long") if (short_exit) strategy.close("Short") // Stop loss and take profit atr = ta.atr(14) strategy.exit("Long SL/TP", "Long", stop=strategy.position_avg_price - 2*atr, limit=strategy.position_avg_price + 3*atr) strategy.exit("Short SL/TP", "Short", stop=strategy.position_avg_price + 2*atr, limit=strategy.position_avg_price - 3*atr) // Plot indicators plot(middle, color=color.yellow, title="BB Middle") plot(upper, color=color.red, title="BB Upper") plot(lower, color=color.green, title="BB Lower") // Plot entry and exit points plotshape(long_entry, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(short_entry, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) plotshape(long_exit, title="Long Exit", location=location.abovebar, color=color.orange, style=shape.circle, size=size.small) plotshape(short_exit, title="Short Exit", location=location.belowbar, color=color.orange, style=shape.circle, size=size.small)