이 전략은 선형 회귀 지표와 이중 기하급수적 이동 평균을 결합하여 단기 추적 작업을 구현합니다. 이 전략은 가격이 상위 및 하위 레일을 통과 할 때 짧은 포지션을 설정하고 가격이 다시 통과 할 때 포지션을 닫습니다. 동시에이 전략은 포지션을 설정하는 보조 조건으로 가격 추세를 결정하기 위해 이중 기하급수적 이동 평균을 사용합니다.
이 전략은 주로 선형 회귀 지표를 사용하여 가격 브레이크오프를 결정합니다. 선형 회귀 지표는 선형 회귀를 사용하여 일정 기간 동안 최고 및 최저 가격을 기반으로 계산하여 상위 및 하위 레일을 얻습니다. 가격이 상위 레일에서 깨지거나 하위 레일에서 깨지면 거래 신호라고 생각합니다.
또한 이 전략은 중간 트렌드를 결정하기 위해 이중 기하급수적인 이동 평균을 도입하기도 한다. 이중 기하급수적 이동 평균은 가격 변화에 더 빠르게 반응할 수 있다. 가격이 상부 레일에서 떨어지면 이중 기하급수적 이동 평균이 현재 가격보다 이미 높으면 현재 하향 트렌드에 있음을 나타낸다. 우리는 단위 포지션을 설정할 것이다. 가격이 다시 상부 레일을 뚫거나 이중 기하급수적 이동 평균을 뚫을 때 우리는 포지션을 평평하게 할 것이다.
특히 전략의 주요 내용은 다음과 같습니다.
전통적인 이동 평균과 다른 지표에 비해 이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략은 또한 몇 가지 위험을 가지고 있습니다.
위의 위험은 매개 변수 최적화, 엄격한 스톱 로스, 적절하게 침투 진폭을 완화 등으로 해결할 수 있습니다.
이 전략은 다음 측면에서도 최적화 될 수 있습니다.
이 전략은 직선 회귀 지표와 이중 기하급수 이동 평균을 종합적으로 사용하며 이론과 실제에서 특정 이점을 가지고 있습니다. 지속적인 최적화 및 조정으로 안정성과 전략 결과에 대한 추가 개선이 가능합니다. 이 전략은 단기 운영에 적합하며 양적 거래자에게 좋은 알파를 가져올 수 있습니다.
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy('LR&SSL_Short', overlay=true) startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0) end = timestamp(9999,1,1,0,0) _testPeriod() => true len = input(title="Period", defval=89) smaHigh = linreg(high, len, 0) smaLow = linreg(low, len, -1) Hlv = 0.0 Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? smaHigh : smaLow sslUp = Hlv < 0 ? smaLow : smaHigh plot(sslDown, linewidth=2, color=color.red) plot(sslUp, linewidth=2, color=color.lime) length = input(200, title="DEMA") d1 = ema(close, length) d2 = 2 * d1 - ema(d1, length) trendColour = d2 > d1 ? #AAFFAA : #FFAAAA dema=sma(d2,length) turnGreen = d2 > d1 and d2[1] <= d1[1] turnRed = d2 <= d1 and d2[1] > d1[1] up =turnGreen down=turnRed plotshape(down, title="down", style=shape.triangledown,location=location.abovebar, color=color.red, transp=0, size=size.small) plotshape(up, title="up", style=shape.triangleup,location=location.belowbar, color=color.green, transp=0, size=size.small) plot(dema, color = trendColour,linewidth=3 ,transp = 0) bgcolor(close > dema ? color.green : color.red) strategy.entry("short", strategy.short, when= crossunder(sslUp, sslDown) and dema > close and _testPeriod()) strategy.close("short", when = crossover(sslUp, sslDown) or crossover(close, dema))