이 전략은 평균 회귀의 원칙에 기초하여, 거래 결정을 내리기 위해 이동 평균에서 가격의 오차를 사용하여 이루어집니다. 가격이 상단 범위를 벗어날 때 짧고, 하단 범위를 벗어날 때 길게됩니다. 가격이 이동 평균으로 되돌아 갈 때 포지션은 닫습니다. 이 전략의 핵심 가정은 가격이 항상 평균 수준으로 되돌아 갈 것이라는 것입니다.
평균회전 전략은 통계적 원리에 기초한 양적 거래 전략으로, 평균 가격 주위를 중심으로 상위 및 하위 대역을 구성하여 거래 결정을 내린다. 전략은 간단한 논리와 명확한 실행을 가지고 있지만, 도구 선택과 매개 변수 최적화에 주의를 기울여야 한다. 실제 적용에서는 트렌드, 거래 비용 및 위험 통제와 같은 요소도 고려해야 전략의 견고성과 수익성을 향상시킬 수 있다. 일반적으로 평균회전 전략은 양적 거래 분야에서 공통적이고 심도 있는 연구 가치가 있다.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Mean Regression Strategy", overlay=true) // Define the lookback period for the moving average length = input.int(20, title="Moving Average Length") mult = input.float(1.5, title="Standard Deviation Multiplier") // Calculate the moving average and standard deviation ma = ta.sma(close, length) dev = mult * ta.stdev(close, length) // Calculate upper and lower bands upper_band = ma + dev lower_band = ma - dev // Plot the moving average and bands plot(ma, color=color.blue, linewidth=2, title="Moving Average") plot(upper_band, color=color.red, linewidth=2, title="Upper Band") plot(lower_band, color=color.green, linewidth=2, title="Lower Band") // Entry conditions long_condition = ta.crossover(close, lower_band) short_condition = ta.crossunder(close, upper_band) // Exit conditions exit_long_condition = ta.crossunder(close, ma) exit_short_condition = ta.crossover(close, ma) // Strategy orders if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) if (exit_long_condition) strategy.close("Long") if (exit_short_condition) strategy.close("Short") // Plot signals on the chart plotshape(series=long_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")