이 전략은 가격 트렌드가 역전되었는지 여부를 결정하기 위해 가격의 동력 지표를 계산하여 가격 역전 기회를 포착합니다. 가격의 상승 추세 또는 하락 추세가 느려지면 가격 동력이 역전되었음을 나타냅니다. 이 시점에서 전략은 긴 또는 짧은 포지션을 열 것입니다.
이 전략은 주로 모멘텀 지표의 계산에 기반합니다. 모멘텀 지표는 가격 변화의 속도와 강도를 반영합니다. 두 개의 모멘텀 지표 MOM 및 MOM1이 전략에서 계산됩니다.
MOM 계산 공식:
MOM = 오늘 종료 가격 - N 일 전 종료 가격
MOM1 계산 공식:
엄마1 = 오늘 엄마 - 어제 엄마
MOM와 MOM1의 값에 따라 가격이 반전되었는지 판단하십시오. MOM > 0과 MOM1 < 0이면 가격 상승 추세가 느려지고 반전 신호가 길어지는 것으로 보입니다. MOM < 0과 MOM1 > 0이면 가격 하락 추세가 느려지고 반전 신호가 짧아지는 것으로 보입니다.
주요 위험 감축 방법:
이 전략은 가격 동력 지표를 계산하여 가격 트렌드가 반전되었는지, 자동으로 길게 또는 짧게 이동했는지 여부를 결정합니다. 백테스트는이 전략이 전반적으로 원활하게 작동하고 가격 반전 지점을 효과적으로 포착한다는 것을 보여줍니다. 매개 변수 설정을 최적화하고 신호 필터를 추가함으로써 전략의 안정성과 수익성이 더욱 향상 될 수 있습니다.
/*backtest start: 2023-11-11 00:00:00 end: 2023-12-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Momentum - Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_type = strategy.commission.percent, commission_value = 0.2 ) i_len = input(defval = 12, title = "Length", minval = 1) i_src = input(defval = close, title = "Source") i_percent = input(defval = true, title = "Percent?") i_mom = input(defval = "MOM2", title = "MOM Choice", options = ["MOM1", "MOM2"]) momentum(seria, length, percent) => _mom = percent ? ( (seria / seria[length]) - 1) * 100 : seria - seria[length] _mom mom0 = momentum(i_src, i_len, i_percent) mom1 = momentum(mom0, 1, i_percent) mom2 = momentum(i_src, 1, i_percent) momX = mom1 if i_mom == "MOM2" momX := mom2 if (mom0 > 0 and momX > 0) strategy.entry("MomLE", strategy.long, stop = high + syminfo.mintick, comment = "MomLE") else strategy.cancel("MomLE") if (mom0 < 0 and momX < 0) strategy.entry("MomSE", strategy.short, stop = low - syminfo.mintick, comment = "MomSE") else strategy.cancel("MomSE") plot(mom0, color = #0000FF, title = "MOM") plot(mom1, color = #00FF00, title = "MOM1", display = display.none) plot(mom2, color = #00FF00, title = "MOM2")