
この戦略は,ブリン帯,RSI指標とATRダイナミック・ストップ・メカニズムを組み合わせた平均回帰理論に基づく定量取引システムである. この戦略は,価格が平均値から偏った極端な状況を識別することによって取引を行う. 価格がブリン帯を下回る線に触れるとRSIがオーバーセール領域にあるときに多めに取引し,価格がブリン帯を上回る線に触れるとRSIがオーバー買い領域にあるときに空白し,ATRダイナミックでストップ・ストップ・ポジションを設定し,リスク・利益の効果的な管理を実現する.
戦略は20周期ブリン帯を主要トレンド判断指標として採用し,標準差倍数は2.0で,価格変動の上下境界を決定する.同時に,14周期RSIを補助指標として導入し,RSIは30を下回ると超売り,70上回ると超買いとみなされる.価格がブリン帯を下回るとRSIは30を下回ると,市場が超売りする可能性を示し,システムは多信号を発信する.価格がブリン帯を突破するとRSIは70以上で,市場が超買いする可能性を示し,システムは空信号を発信する.戦略はブリン帯の中央軌道を利益の結束点として使用し,RSIを反転突破に結びつけ,ポジション管理を行う.さらに,戦略は14周期ATRに基づく動的ストップ・損失機構を導入し,損失を2倍にATRと設定し,リスクを3倍にATRと設定し,より精密なリスクコントロールを実現する.
この戦略は,ブリン帯と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)