리소스 로딩... 로딩...

화합 패턴과 윌리엄스 %R을 결합한 다중 시간 프레임 거래 전략

저자:차오장, 날짜: 2025-01-17 16:19:15
태그:WPRSLTPRR피브

 Multi-Timeframe Trading Strategy Combining Harmonic Patterns and Williams %R

전반적인 설명

이 전략은 하모닉 패턴과 윌리엄스 퍼센트 레인지 (WPR) 인디케이터를 결합한 고급 거래 시스템이다. 시장에서 하모닉 포메이션 (가트리, 박쥐, 크래브 및 버터플라이 패턴과 같은) 을 식별하고 거래 진입 및 출구 지점을 결정하기 위해 WPR 과잉 구매 / 과잉 판매 수준을 사용합니다. 전략은 여러 확인 메커니즘을 사용하여 기술 지표의 시너지를 활용하여 거래 정확성과 신뢰성을 향상시킵니다.

전략 원칙

핵심 논리는 몇 가지 핵심 요소를 포함합니다. 1. 하모닉 패턴 인식: 상승과 하락 사이의 관계를 분석하여 잠재적 인 하모닉 형성을 식별하기 위해 가격 회전 지점을 사용합니다. 2. 윌리엄스 %R 계산: WPR를 계산하기 위해 사용자 정의 기간을 사용하여 시장 조건을 결정하기 위해 높은 가격, 낮은 가격 및 폐쇄 가격 사이의 관계를 분석합니다. 3. 입국 조건: - 긴 진입: 상승 하모닉 패턴이 나타나고 WPR가 과판 영역에 있을 때 - 단기 진입: 하락 하모닉 패턴이 나타나고 WPR가 과잉 매입 영역에있을 때 4. 리스크 관리: 최근 최저/최고치를 기반으로 동적 스톱 로스를 구현하고 리스크-어워드 비율을 사용하여 수익을 취하는 수준을 설정합니다.

전략적 장점

  1. 다차원 분석: 패턴 분석을 더 신뢰할 수 있는 거래 신호를 위해 모멘텀 지표와 결합합니다.
  2. 강력한 리스크 제어: 트레이드 당 위험을 효과적으로 제어하기 위해 역동적인 스톱 로스 및 리스크 보상 기반의 리스크 리프트 설정을 사용합니다.
  3. 높은 적응력: 매개 변수 최적화를 통해 다른 시장 환경과 도구에 적응 할 수 있습니다.
  4. 신호 확인 메커니즘: 합성 패턴과 WPR를 사용하여 이중 확인을 통해 잘못된 신호를 줄입니다.

전략 위험

  1. 패턴 인식 위험: 단순화 된 조화 패턴 인식은 일부 형식의 잘못된 식별으로 이어질 수 있습니다.
  2. 매개 변수 민감성: 여러 매개 변수는 잘못된 설정이 전략 성능에 영향을 줄 수 있기 때문에 신중한 최적화가 필요합니다.
  3. 시장 환경 의존성: 매우 변동성 있는 시장이나 변동성 있는 시장에서 실적이 저하될 수 있습니다.
  4. 신호 지연: 기술 지표 기반 신호는 고유한 지연을 가질 수 있습니다.

전략 최적화 방향

  1. 더 나은 패턴 인식:
    • 더 엄격한 하모닉 비율 검증을 추가
    • 더 나은 패턴 식별을 위해 가격 구조 분석을 포함
  2. 신호 필터링:
    • 트렌드 필터를 추가
    • 시장 환경 적응을 위해 변동성 지표를 고려
  3. 리스크 관리 최적화:
    • 역동적인 리스크/이익 비율 조정
    • 변동성 기반 포지션 크기를 추가합니다

요약

이 전략은 윌리엄스 %R 지표와 조화 패턴을 결합하여 포괄적인 거래 시스템을 구축합니다. 이 전략의 강점은 다차원 분석 접근법과 강력한 위험 관리 메커니즘에 있습니다. 그러나 매개 변수 최적화 및 시장 환경 적응에주의를 기울여야합니다. 제안된 최적화 방향을 통해 전략의 안정성과 신뢰성을 더욱 향상시킬 수 있습니다.


/*backtest
start: 2025-01-09 00:00:00
end: 2025-01-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=5
strategy("Harmonic Pattern with WPR Backtest", overlay=true)

// === Inputs ===
patternLength = input.int(5, title="Pattern Length")
wprLength = input.int(14, title="WPR Length")
wprOverbought = input.float(-20, title="WPR Overbought Level")
wprOversold = input.float(-80, title="WPR Oversold Level")
riskRewardMultiplier = input.float(0.618, title="Take-Profit Risk/Reward Multiplier")
stopLossBuffer = input.float(0.005, title="Stop-Loss Buffer (%)")

// === Manual Calculation of William Percent Range (WPR) ===
highestHigh = ta.highest(high, wprLength)
lowestLow = ta.lowest(low, wprLength)
wpr = ((highestHigh - close) / (highestHigh - lowestLow)) * -100

// === Harmonic Pattern Detection (Simplified Approximation) ===
// Calculate price pivots
pivotHigh = ta.pivothigh(high, patternLength, patternLength)
pivotLow = ta.pivotlow(low, patternLength, patternLength)

// Detect Bullish and Bearish Harmonic Patterns
bullishPattern = pivotLow and close > ta.lowest(close, patternLength)  // Simplified detection for bullish patterns
bearishPattern = pivotHigh and close < ta.highest(close, patternLength)  // Simplified detection for bearish patterns

// === Entry Conditions ===
longCondition = bullishPattern and wpr < wprOversold
shortCondition = bearishPattern and wpr > wprOverbought

// === Stop-Loss and Take-Profit Levels ===
longEntryPrice = close
longSL = ta.valuewhen(longCondition, low, 0) * (1 - stopLossBuffer)  // Stop-loss for long trades
longTP = longEntryPrice * (1 + riskRewardMultiplier)  // Take-profit for long trades

shortEntryPrice = close
shortSL = ta.valuewhen(shortCondition, high, 0) * (1 + stopLossBuffer)  // Stop-loss for short trades
shortTP = shortEntryPrice * (1 - riskRewardMultiplier)  // Take-profit for short trades

// === Backtesting Logic ===
// Long Trade
if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop=longSL, limit=longTP)

// Short Trade
if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", stop=shortSL, limit=shortTP)

// === Visualization ===
bgcolor(longCondition ? color.new(color.green, 90) : na, title="Long Entry Signal")
bgcolor(shortCondition ? color.new(color.red, 90) : na, title="Short Entry Signal")


관련

더 많은