
이 전략은 평균선과 초과 지표를 사용하여 시장 추세를 판단하고, 스톱 로즈 메커니즘을 추적하는 데 결합하여, 스톱 로즈 거래 전략을 설계합니다. 지표를 초과하는 것이 상승 추세라고 판단되면, 종결 가격에 14 주기의 평균선을 통과하면, 더 많이하십시오. 지표를 초과하는 것이 하향 추세라고 판단되면, 종결 가격에 14 주기의 평균선을 통과하면, 더 많이하십시오.
이 전략은 평균선, 초과 지표 및 추적 중지 손실의 세 가지 기술 지표를 사용합니다.
우선, 14주기 및 44주기 지수 이동 평균을 계산한다. 이 중 14주기 평균은 단기 경향을 판단하는데, 44주기 평균은 장기 경향을 판단하는데 사용된다. 단기 평균에 장기 평균을 가로질러서는 더 많은 신호를 보고, 반대로 무시한다.
둘째, 현재 시장의 흐름을 판단하기 위해 초과 지표를 계산한다. 초과 지표는 정향 지표 DI+와 역향 지표 DI-로 구성된다. DI+가 DI-보다 높으면 상향 경향을 보며, DI-가 DI+보다 높으면 상향 경향을 보는다.
마지막으로, 평평선 신호와 초과 지표의 트렌드 판단을 결합하여 거래 신호를 생성한다. 초과 지표가 많이 보이며 가격이 14 주기 평균선을 통과하면 더 많이 한다. 초과 지표가 많이 보이며 가격이 14 주기 평균선을 통과하면 하락한다. 입시 후, 44 주기 평균선 근처에 중지 손실을 설정하여 추적 중지한다.
이 전략은 세 가지 기술 지표의 장점을 종합하여 정확하고 적시에 손실을 방지하여 다음과 같은 장점을 가지고 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
대응방법:
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
다른 지표 판단을 추가하고, 잘못된 신호를 필터링하고, 전략 승률을 높여줍니다. 예를 들어 거래량 지표와 결합하여, 강도 트렌드를 강화합니다.
손실을 추적하는 방법을 최적화하여 손실을 더 똑똑하고 유연하게 만듭니다. 예를 들어, ATR의 손실, Chandelier Exit 등에 따라
기계학습 방법을 사용하여 더 우수한 변수를 찾습니다. 예를 들어, 유전 알고리즘, 심도학습 등과 같은 최적의 변수 조합을 찾습니다.
더 높은 시간 프레임에 전략을 실행하여 고주파음 방해를 피하십시오.
이 전략은 종합적으로 평균선, 지표를 초월하고, 트래킹 스톱로스 기술을 사용하여 신호의 정확성, 스톱로스의 적당성을 판단하는 실용적이고 신뢰할 수 있는 트래킹 스톱로스 거래 전략이다. 후속적으로 신호 품질을 향상시키고, 스톱로스 방식을 최적화함으로써 전략의 효과를 더욱 강화할 수 있다.
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Santanu Strategy", overlay=true)
atrPeriod = input(3, "ATR Length")
factor = input.float(1, "Factor", step = 0.01)
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
bodyMiddle = plot((open + close) / 2, display=display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend = plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr)
fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps=false)
len = input.int(14, minval=1, title="Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out = ta.ema(src, len)
len44 = input.int(44, minval=1, title="Length")
out44 = ta.ema(src, len44)
isRising = ta.rising(out, 1)
isFalling = ta.falling(out, 1)
plotColor = color.black
if isRising
plotColor := color.green
else if isFalling
plotColor := color.red
plot(out, color=plotColor, title="MA", offset=offset)
plot(out44, color=color.blue, title="MA", offset=offset)
if direction < 0
if close >= out
//if low >= out44
if isRising
strategy.entry("Buy Now", strategy.long)
if direction > 0
if close <= out
//if high <= out44
if isFalling
strategy.entry("Sell Now", strategy.short)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)