다중 지표 모멘텀 돌파 추세 거래 전략

WPR MACD EMA RRR SL TP
생성 날짜: 2025-02-24 09:18:48 마지막으로 수정됨: 2025-02-24 09:18:48
복사: 2 클릭수: 326
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다중 지표 모멘텀 돌파 추세 거래 전략 다중 지표 모멘텀 돌파 추세 거래 전략

개요

이 전략은 윌리엄스 지표 ((%R), 이동 평균 트렌드 지표 ((MACD) 및 지수 이동 평균 ((EMA) 를 기반으로 한 다중 지표 조합 전략이다. 시장의 과매매 상태를 판단하여 동력 지표의 변화 추세와 평행선 지지를 결합하여 전체 트렌드 추적 거래 시스템을 구축한다. 이 전략은 입시 신호의 생성뿐만 아니라 완벽한 위험 관리 장치를 설계했다.

전략 원칙

이 전략은 다음의 세 가지 핵심 지표에 기반을 두고 있습니다.

  1. 윌리엄 지표 ((%R) 는 시장의 과매매 상태를 식별하는 데 사용되며, 지표가 과매매 영역 ((-80 이하) 에서 상향으로 돌파 할 때, 보석 반전 신호가 발생할 수 있음을 나타냅니다.
  2. MACD 지표는 빠른 선과 느린 선의 교차를 통해 동력의 변화를 확인하며, MACD 선에서 신호선을 통과하면 상승 동력을 추가로 확인합니다.
  3. 55주기 EMA는 트렌드 필터로서, 가격이 EMA 위에 있을 때만 더 많은 것을 고려하며, 반대로 하락을 고려합니다.

전략은 위의 세 가지 조건을 동시에 충족시킬 때만 입장을 열 수 있습니다. 또한, 전략은 리스크 수익률 기반의 중지 중지 손실 메커니즘을 포함합니다. 고정된 중지 손실 비율과 리스크 수익률을 설정하여 각 거래의 위험을 제어합니다.

전략적 이점

  1. 다중 지표 크로스 검증: 윌리엄 지표, MACD 및 EMA 삼중 지표의 조합을 통해 거짓 신호의 발생 가능성을 크게 감소시킵니다.
  2. 철저한 위험 관리: 위험과 이익의 비율에 기반한 동적인 중지 및 손실 메커니즘을 설계하고, 거래마다 명확한 위험 관리 목표가 있습니다.
  3. 트렌드 추적과 반전 결합: 오버 바이 오버 셀 반전 기회를 포착하고 EMA를 통해 주 트렌드 방향에 부응하는 것을 보장합니다.
  4. 매개 변수 조절성: 주요 지표의 주기 매개 변수는 시장의 특성에 따라 최적화 조정할 수 있다

전략적 위험

  1. 흔들림 시장 위험: 가로판 흔들림 시장에서 빈번한 가짜 브레이크 신호가 발생할 수 있으며, 이로 인해 연속적인 정지 손실이 발생할 수 있습니다.
  2. 슬라이드 포인트 위험: 시장의 급격한 변동이 있을 때 실제 거래 가격과 신호 생성 가격에 큰 오차가 있을 수 있다.
  3. 매개 변수 민감성: 전략 효과는 매개 변수 설정에 민감하며, 다른 시장 환경에는 다른 매개 변수 조합이 필요할 수 있습니다.
  4. 신호 지연성: 복수의 지표 확인을 사용했기 때문에 거래의 최적의 입구 지점을 놓칠 수 있습니다.

전략 최적화 방향

  1. 동적 변수 최적화: 시장의 변동에 따라 각 지표의 변수를 자동으로 조정하여 전략의 적응력을 향상시킵니다.
  2. 시장 환경 분류: 시장 환경 식별 모듈을 추가하여 다른 시장 상태에서 다른 파라미터 조합을 사용합니다.
  3. 진입 시점 최적화: 진입 시점의 정확성을 높이기 위해 매출량과 같은 보조 지표를 증가시킬 수 있습니다.
  4. 리스크 관리가 개선되었습니다. 시장의 변동에 따라 자동으로 중지 거리를 조정하는 동적 스톱 메커니즘을 추가하는 것이 고려될 수 있습니다.

요약하다

이 전략은 다중 기술 지표의 협동 협동으로, 비교적 완벽한 트렌드 추적 거래 시스템을 구축한다. 전략의 주요 특징은 신호 신뢰도가 높고, 위험 제어 명확하지만, 또한 약간의 낙후성 및 변수 감수성 문제가 있다. 제안 된 최적화 방향에 의해, 전략에는 추가로 향상 할 여지가 있다. 실장 적용 시, 먼저 재검토를 통해 충분히 검증 된 변수 포지션을 제안하고, 시장 특성과 결합하여 타깃적 최적화를 수행한다.

전략 소스 코드
/*backtest
start: 2025-02-19 00:00:00
end: 2025-02-23 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("Williams %R & MACD Swing Strategy", overlay=true)

// INPUTS
length_wpr = input(14, title="Williams %R Length")
overbought = input(-20, title="Overbought Level")
oversold = input(-80, title="Oversold Level")

// MACD Inputs
fastLength = input(12, title="MACD Fast Length")
slowLength = input(26, title="MACD Slow Length")
signalSmoothing = input(9, title="MACD Signal Smoothing")

// EMA for Trend Confirmation
ema_length = input(55, title="EMA Length")
ema55 = ta.ema(close, ema_length)

// INDICATORS
wpr = ta.wpr(length_wpr)
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// LONG ENTRY CONDITIONS
longCondition = ta.crossover(wpr, oversold) and ta.crossover(macdLine, signalLine) and close > ema55
if longCondition
    strategy.entry("Long", strategy.long)

// SHORT ENTRY CONDITIONS
shortCondition = ta.crossunder(wpr, overbought) and ta.crossunder(macdLine, signalLine) and close < ema55
if shortCondition
    strategy.entry("Short", strategy.short)

// RISK MANAGEMENT
riskRewardRatio = input(1.5, title="Risk-Reward Ratio")
stopLossPerc = input(2, title="Stop Loss %") / 100
takeProfitPerc = stopLossPerc * riskRewardRatio

longSL = strategy.position_avg_price * (1 - stopLossPerc)
longTP = strategy.position_avg_price * (1 + takeProfitPerc)

shortSL = strategy.position_avg_price * (1 + stopLossPerc)
shortTP = strategy.position_avg_price * (1 - takeProfitPerc)

strategy.exit("Take Profit / Stop Loss", from_entry="Long", loss=longSL, profit=longTP)
strategy.exit("Take Profit / Stop Loss", from_entry="Short", loss=shortSL, profit=shortTP)