“비평선 뒤떨어진 돌파 전략”은 흔히 쓰이는 기술 분석 거래 전략이다. 이 전략은 두 개의 다른 주기의 간단한 이동 평균 (SMA) 과 평균 실제 파도 (ATR) 지표를 결합하여 시장 추세 전환점을 포착하여 낮은 위험 높은 수익을 창출하는 거래를 목표로 한다. 그것의 핵심 아이디어는 평선의 뒤떨어진 성과와 시장의 변동성을 활용하여 가격이 평선을 돌파하고 변동률이 통제 가능한 범위에서 거래 신호를 발생시킨다.
이 전략의 주요 원칙은 다음과 같습니다.
위의 원리를 통해 볼 수 있듯이, 이 전략은 평선 시스템의 추세 판단과 ATR 지표의 변동률 측정을 결합하여, 추세를 추적하는 것을 주력으로 하며, 철회 위험을 제어하는 동시에, 추세형 전략이다.
“비평선 뒤처진 돌파구 전략”은 다음과 같은 장점을 가지고 있습니다.
이 전략은 장점이 있지만 다음과 같은 위험도 있습니다.
위와 같은 위험들에 대해, 다음과 같은 측면에서 최적화 및 개선이 가능합니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
위의 최적화는 전략의 적응성, 안정성 및 수익성을 향상시킬 수 있지만, 과도한 최적화는 전략 곡선 적합성을 초래할 수 있으므로 샘플 외부에서 좋지 않은 성능을 발휘할 수 있으므로 샘플 내부 및 외부에서 충분한 피드백 검증이 필요합니다.
“쌍평평선 낙후 돌파 전략”은 평평선 시스템을 통해 트렌드 방향을 판단하고, ATR 지표를 사용하여 위험을 제어하고, 트렌드 행태를 포착하면서 위험 관리를 겸비하는 고전적인 트렌드 추적 전략이다. 약간의 낙후성 및 빈번한 거래 문제가 있음에도 불구하고, 스톱 로즈 스톱을 최적화하고, 신호 필터링, 변수 적응, 최적화, 포지션 관리 등의 방법을 도입함으로써 이 전략의 성능을 더욱 향상시킬 수 있으며, 실용적인 수량화 거래 전략으로 만들 수 있다.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="2 Moving Averages", shorttitle="2MA", overlay=true)
// Moving Averages
len = input(14, minval=1, title="Length MA1")
src = input(close, title="Source MA1")
ma1 = sma(src, len)
len2 = input(50, minval=1, title="Length MA2")
src2 = input(close, title="Source MA2")
ma2 = sma(src2, len2)
// Plotting Moving Averages
plot(ma1, color=#0b6ce5, title="MA1")
plot(ma2, color=#00ff80, linewidth=2, title="MA2")
// ATR Bands
atrLength = input(14, title="ATR Length")
atrMultiplier = input(1.5, title="ATR Multiplier")
upperBand = high + atr(atrLength) * atrMultiplier
lowerBand = low - atr(atrLength) * atrMultiplier
u =plot(upperBand, color=color.rgb(217, 220, 223, 84), title="ATR Upper Band")
l = plot(lowerBand, color=color.rgb(217, 220, 223, 84), title="ATR Lower Band")
fill(u, l, color=#471eb821, title="ATR Background")
// Conditions for plotting arrows
upArrowCondition = ma1 > ma2 and crossover(close, ma1)
downArrowCondition = ma1 < ma2 and crossunder(close, ma1)
// Plotting arrows
plotshape(upArrowCondition, style=shape.arrowup, color=color.rgb(66, 45, 255), size=size.normal, location=location.belowbar, title="Up Arrow")
plotshape(downArrowCondition, style=shape.arrowdown, color=color.red, size=size.normal, location=location.abovebar, title="Down Arrow")
// Checkbox for trade execution
showTrades = input(true, title="Hiển thị giao dịch")
// Buy Condition
if (upArrowCondition and showTrades)
strategy.entry("Buy", strategy.long)
// Sell Condition
if (downArrowCondition and showTrades)
strategy.entry("Sell", strategy.short)
// Stop Loss and Take Profit
stopLossBuy = low - atr(14) * atrMultiplier
takeProfitBuy = close + (close - stopLossBuy) * 2
stopLossSell = high + atr(14) * atrMultiplier
takeProfitSell = close - (stopLossSell - close) * 2
strategy.exit("Exit Buy", "Buy", stop=stopLossBuy, limit=takeProfitBuy)
strategy.exit("Exit Sell", "Sell", stop=stopLossSell, limit=takeProfitSell)