이 전략은 트래킹 스톱 로스 트레이딩 전략을 설계하기 위해 트래킹 스톱 로스 트렌드를 결합한 이동 평균과 슈퍼 트렌드 지표를 사용하여 시장 트렌드를 결정합니다. 슈퍼 트렌드 지표가 상승 추세를 판단할 때, 닫기 가격이 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)