지수 이동 평균과 ATR 동적 손절매 및 손절매를 기반으로 한 고주파 가격 불균형 구역 모멘텀 거래 전략

FVG EMA ATR SMA TP SL
생성 날짜: 2025-02-20 15:18:11 마지막으로 수정됨: 2025-02-20 15:18:11
복사: 0 클릭수: 548
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

지수 이동 평균과 ATR 동적 손절매 및 손절매를 기반으로 한 고주파 가격 불균형 구역 모멘텀 거래 전략 지수 이동 평균과 ATR 동적 손절매 및 손절매를 기반으로 한 고주파 가격 불균형 구역 모멘텀 거래 전략

개요

이 전략은 가격 불균형 지역 (Fair Value Gap, FVG) 을 기반으로 한 고주파 거래 전략이다. 50주기 및 200주기 지수 이동 평균 (EMA) 을 결합하여 트렌드 방향을 확인하고 거래량 및 가격 변동과 같은 여러 가지 필터링 지표를 사용하여 거래 신호의 신뢰성을 향상시킵니다. 전략은 실제 변동의 폭 (ATR) 을 기반으로 한 동적 중지 손실 메커니즘을 채택하여 수익을 보장하면서 위험을 엄격하게 제어합니다.

전략 원칙

전략의 핵심은 가격 운동의 불균형 지역 (FVG) 을 식별하여 잠재적 인 거래 기회를 잡는 것입니다. 단기간에 가격이 눈에 띄는 폭등이 발생하고 폭등의 방향이 주 트렌드와 일치하면, 전략은 이러한 가격 불균형이 그 방향으로 계속 될 것을 예고합니다. 구체적으로:

  1. EMA50과 EMA200의 위치 관계를 통해 전체적인 추세를 판단
  2. 20주기 평균의 1.5배 이상)
  3. 가격 변동이 정상 이상으로 확인됨으로 시장에서 구매 의지가 강하다는 것을 나타냅니다.
  4. 위의 조건이 동시에 충족되면, 동향 방향과 일치하는 FVG가 나타나면 포지션 거래를 시작합니다.
  5. 2배의 ATR을 스톱로, 1.2배의 ATR을 스톱로 사용해서, 약 1.67의 리스크/수익률을 달성합니다.

전략적 이점

  1. 다중 신호 필터링 메커니즘은 거래의 정확성을 크게 향상시킵니다.
  2. 다양한 시장 환경에 적응하기 위한 동적 손절매 및 손절매 설정
  3. 트렌드 추적과 반전 거래의 특성을 결합하여 다양한 시장 상태에서 수익을 올릴 수 있습니다.
  4. 거래량 및 가격 변동과 같은 시장 미시 구조 특성을 충분히 고려합니다.
  5. 여러 주요 통화 쌍과 다른 시간 사이즈에 적용

전략적 위험

  1. 극도로 변동하는 시장에서 미미한 손실이 발생할 수 있는 상황
  2. 시장의 전환점에 대한 판단이 다소 뒤떨어져 있습니다.
  3. 가로 디스크 정리 단계에서 빈번하게 잘못된 신호가 발생할 수 있습니다.
  4. 데이터 품질에 대한 높은 요구 사항과 실시간 트랜지스 변화 모니터링이 필요합니다. 위험은 다음과 같이 조절할 수 있습니다.
  • 다양한 시장의 변동성 특성에 맞게 ATR 배수를 적절하게 조정합니다.
  • 트렌드 필터링 조건을 추가하여 수평 시장에서 거래하는 것을 피하십시오.
  • 시장 유동성 변화를 실시간으로 모니터링합니다.

전략 최적화 방향

  1. 주문 흐름 데이터와 같은 시장 미시 구조 지표를 더 많이 도입하십시오.
  2. 최적화된 통역량 필터 값, 적응 값을 사용할 수 있다.
  3. 스티드 스탠드 패스 메커니즘을 개선하고, 모바일 패스를 도입한다.
  4. 시장 상태의 인식이 증가하고, 다른 상태에서 다른 파라미터 설정을 사용합니다.
  5. 시간 필터링을 추가하여 비활성 시간 동안 거래를 피하십시오.

요약하다

이 전략은 기술 분석과 시장 미시 구조 분석 방법을 통합하여 비교적 완전한 거래 시스템을 구축한다. 전략의 핵심 장점은 다중 신호 확인 메커니즘과 동적 위험 제어에 있다. 그러나 실제 응용에서는 특정 시장 상황에 따라 변수를 최적화해야 한다. 지속적인 개선과 최적화를 통해 전략은 다양한 시장 환경에서 안정적인 성능을 유지할 수 있을 것으로 보인다.

전략 소스 코드
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-01 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Effective FVG Strategy - Forex", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Exponential Moving Averages for Faster Trend Detection ===
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
bullishTrend = ema50 > ema200
bearishTrend = ema50 < ema200

// === Volume & Imbalance Filters ===
highVolume = volume > ta.sma(volume, 20) * 1.5  // 1.5x higher than average volume
strongImbalance = math.abs(close - open) > ta.sma(math.abs(close - open), 20)  // Large price movement

// === Fair Value Gap (FVG) Detection ===
fvgUp = low[2] > high[0]  // Bullish FVG
fvgDown = high[2] < low[0]  // Bearish FVG

// Effective FVGs with trend confirmation
validBullFVG = fvgUp and highVolume and strongImbalance and bullishTrend
validBearFVG = fvgDown and highVolume and strongImbalance and bearishTrend

// === ATR-based Take Profit & Stop Loss (Optimized for Forex) ===
atr = ta.atr(14)
longTP = close + (2 * atr)  // TP = 2x ATR
longSL = close - (1.2 * atr)  // SL = 1.2x ATR
shortTP = close - (2 * atr)
shortSL = close + (1.2 * atr)

// === Execute Trades ===
if validBullFVG
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", from_entry="Long", limit=longTP, stop=longSL)

if validBearFVG
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", from_entry="Short", limit=shortTP, stop=shortSL)

// === Plot Buy/Sell Signals ===
plotshape(series=validBullFVG, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", title="BUY Signal")
plotshape(series=validBearFVG, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", title="SELL Signal")

// Highlight Significant FVGs
bgcolor(validBullFVG ? color.new(color.green, 85) : na)
bgcolor(validBearFVG ? color.new(color.red, 85) : na)