다중 시간 프레임 모멘텀 공명 거래 전략 및 유동성 감지 및 ATR 위험 관리 시스템

EMA MACD ATR MTF 流动性捕获 风险回报比 动量
생성 날짜: 2025-07-21 13:07:11 마지막으로 수정됨: 2025-07-21 13:07:11
복사: 0 클릭수: 214
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다중 시간 프레임 모멘텀 공명 거래 전략 및 유동성 감지 및 ATR 위험 관리 시스템 다중 시간 프레임 모멘텀 공명 거래 전략 및 유동성 감지 및 ATR 위험 관리 시스템

개요

이 전략은 1시간 시간 프레임에 기반한 거래 시스템으로, 더 높은 시간 프레임의 트렌드 확인, 유동성 함정 식별, MACD 지표 조화 및 ATR 기반의 위험 관리 메커니즘을 결합한다. 전략은 다중 시간 프레임 분석을 통해 전체 시장의 트렌드를 확인하며, 가격 구조와 유동성 영역을 활용하여 높은 확률의 입문점을 찾는다.

전략 원칙

이 전략의 핵심 원칙은 다중 시간 프레임 분석을 통해 거래 방향과 주요 추세와 일치하도록 보장하는 것입니다. 구체적으로:

  1. 높은 시간 프레임 트렌드 확인전략: 4시간 시간 프레임의 EMA200과 MACD 지표를 사용하여 전체 시장의 흐름을 결정한다. 가격이 4시간 EMA200보다 높고 MACD 라인이 신호 라인의 위에 있을 때만 더 많은 것을 고려한다. 반대로.

  2. 로컬 동력 확인: 1시간 MACD 지표를 사용하여 현재 시간 프레임의 동력 방향을 확인하고 더 높은 시간 프레임의 추세와 일치하도록 한다.

  3. 유동성 캡처 메커니즘이 전략은 두 가지의 잠재적인 높은 확률의 입국 지점을 식별합니다.

    • 가격이 이전 고점을 돌파했다 (이하) 또는 낮은 (이하)
    • 유동성 포획 상황: 가격이 이전 하위점을 만지면 반등 (부상) 또는 이전 고점을 만지면 다시 하락 (부상)
  4. ATR 기반의 위험 관리

    • 스톱 로드는 ATR의 배수로 설정되어 시장의 변동성에 자동으로 적응합니다.
    • 리스크/이익 비율을 기본으로 계산한 정지점
    • 기본으로 10%의 계정 이자율을 포지션 크기로 사용합니다.
  5. 시간 필터: 전략은 사용자가 정의한 거래 시간 내에만 신호를 생성하고, 비활성 시간대에 가짜 신호를 피한다.

전략적 이점

이 전략에 대한 코드에 대한 깊은 분석을 통해 우리는 다음과 같은 중요한 장점을 요약할 수 있습니다.

  1. 추세와 동력 공명: 여러 시간 프레임의 트렌드 및 동력 지표 확인을 통해 거래 신호의 신뢰성이 크게 향상되었습니다. 4 시간 및 1 시간 지표 방향이 일치 할 때 거래 신호의 성공 확률이 크게 향상되었습니다.

  2. 스마트 유동성 인식: 전략은 시장의 유동성 함정과 가격 구조의 변화를 식별할 수 있습니다. 이는 일반적으로 기관의 자본 활동의 표시입니다. 예를 들어, 가격이 이전 저점으로 내려가 판매 주문을 유치 한 후 빠르게 역전 될 때, 전략은 이러한 역전 기회를 잡을 수 있습니다.

  3. 자율적 위험 관리ATR을 사용하여 스톱 및 스톱을 설정하여 위험 관리자가 시장의 변동성에 따라 자동으로 조정할 수 있도록합니다. 변동성이 증가하면 자동으로 스톱 범위를 확장하고 변동성이 감소하면 스톱을 강화합니다.

  4. 시간 필터특정 시간대에만 거래함으로써, 전략은 시장의 유동성이 낮거나 변동성이 불규칙한 시간에 대한 방해를 피하고, 시장이 가장 활발한 시간에 거래하는 데 집중한다.

  5. 고정 리스크 리터드 비율예상된 위험수익률은 각 거래의 잠재적인 수익률이 위험의 최소 2배 이상인 것을 보장하는 것으로, 장기적으로 자본 곡선의 긍정적인 성장에 도움이 된다.

전략적 위험

이 전략은 합리적으로 설계되었지만 다음과 같은 몇 가지 위험 요소가 있습니다.

  1. 가짜 침입 위험: 시장에서 가짜 브레이크 또는 가짜 반전이 발생할 수 있으며, 이는 전략이 잘못된 거래에 들어가는 것을 초래합니다. 해결책은 거래량 확인 또는 가격 재검토와 같은 확인 필터를 추가하는 것을 고려하는 것입니다.

  2. MACD 과잉 의존전략: 여러 시간 프레임에 MACD를 사용하지만 MACD는 지연 지표로, 급격한 변동 시장에서 지연 신호를 일으킬 수 있습니다. RSI 또는 무작위 지표와 같은 더 민감한 동력 지표와 결합하면 고려할 수 있습니다.

  3. 고정된 리스크/수익률의 한계2: 1의 리스크/이익 비율은 합리적인 출발점이지만, 다양한 시장 조건에서 항상 최적이 아닐 수 있습니다. 강한 추세 시장에서 더 큰 수익을 놓칠 수 있습니다.

  4. 시간 필터의 잠재적인 문제: 고정 거래 시간은 거래하지 않는 시간에 중요한 기회를 놓칠 수 있습니다. 또는 다른 계절과 시장 환경에 따라 최적 거래 시간은 달라질 수 있습니다.

  5. 거래량 분석의 부족현재 전략은 거래량 요소를 고려하지 않고 거래량이 종종 가격 돌파와 반전의 중요한 지표입니다.

전략 최적화 방향

코드의 심층적인 분석을 바탕으로 다음과 같은 몇 가지 가능한 최적화 방향이 있습니다.

  1. 동적 리스크 수익률: 시장의 변동 상태나 트렌드 강도에 따라 자동으로 리스크 수익률을 조정할 수 있다. 예를 들어, 강한 트렌드 시장에서 더 높은 리스크 수익률을 사용한다 (예: 3:1 또는 4:1), 반면 간격 시장에서 더 보수적인 비율을 사용한다 (예: 1.5:1) [2].

  2. 거래량 필터를 추가합니다.: 입시 조건에 거래량 확인을 추가하고, 거래량이 눈에 띄게 증가하는 브레이크 또는 유동성 캡처와 함께 거래만 실행합니다.

  3. 트렌드 강도 평가: ADX와 같은 트렌드 강도 지표를 도입하여, 강한 트렌드 환경에서는 더 적극적으로 진출하고, 약한 트렌드 환경에서는 더 보수적으로 진출한다.

  4. 동적 시간 필터: 고정된 시간 범위를 사용하는 대신, 역사적인 데이터 분석을 기반으로 서로 다른 시장 단계 또는 계절에 대한 최적의 거래 시간을 자동으로 조정합니다.

  5. 부분 차단 장치: 분기 중지 전략을 구현합니다. 예를 들어 1:1 리스크 수익률이 달성되면 중지 손실을 비용으로 이동하여 더 큰 상황을 포착하기 위해 일부 포지션을 계속 실행하십시오.

  6. 시장 상태 적응: 시장 환경 인식 메커니즘을 추가하여, 높은 변동성이나 특정 시장 패턴에 따라 자동으로 전략 매개 변수를 조정하거나 거래를 중지한다.

요약하다

다중 시간 프레임 동적 공명 거래 전략과 유동성 탐지 및 ATR 위험 관리 시스템은 합리적으로 설계된 양적 거래 전략으로, 다중 시간 프레임 분석을 통해 거래 방향이 주요 추세와 일치하는지 확인하고, 유동성 캡처 및 가격 구조를 활용하여 높은 확률의 진입 지점을 찾으며, ATR 기반의 적응 위험 관리 시스템을 사용합니다.

이 전략의 핵심 장점은 트렌드와 동력의 다층 확인, 지능적인 유동성 식별 메커니즘, 그리고 적응 가능한 위험 관리 시스템이다. 그러나, 모든 거래 전략과 마찬가지로, 가짜 돌파구, 지표 낙후 및 고정 변수 제한 등의 위험에 직면합니다.

동적 리스크 수익률, 거래량 필터링, 트렌드 강도 평가 및 부분 차단 메커니즘과 같은 최적화 조치를 도입함으로써 이 전략은 성능과 적응력을 더욱 향상시킬 잠재력을 가지고 있습니다. 변동성 시장에서 높은 확률의 거래 기회를 잡는 동시에 합리적인 위험 제어를 추구하는 거래자에게는 고려해야 할 정량 거래 시스템입니다.

전략 소스 코드
/*backtest
start: 2024-07-21 00:00:00
end: 2025-07-19 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":2000000}]
*/

// MNQ 1H Trading Bot with Liquidity Grab, MACD, EMA200 and ATR R:R Filter (Version 6)
//@version=5
strategy("MNQ 1H Liquidity + MTF Bot", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===
slATRMult = input.float(1.0, "ATR Multiplier for Stop Loss", minval=0.1)
riskReward = input.float(2.0, "Risk-Reward Ratio", minval=1.0)
timeFilterStart = input.int(0, "Start Hour (UTC)", minval=0, maxval=23)
timeFilterEnd = input.int(23, "End Hour (UTC)", minval=0, maxval=23)

// === HIGHER TIMEFRAME FILTERS (4H) ===
htf = "240"
htfPrice = request.security(syminfo.tickerid, htf, close)
htfEMA200 = request.security(syminfo.tickerid, htf, ta.ema(close, 200))
[macdHTF, signalHTF, _] = request.security(syminfo.tickerid, htf, ta.macd(close, 12, 26, 9))

longHTF = htfPrice > htfEMA200 and macdHTF > signalHTF
shortHTF = htfPrice < htfEMA200 and macdHTF < signalHTF

// === MAIN TIMEFRAME (1H) ===
[macdLine, signalLine, hist] = ta.macd(close, 12, 26, 9)

bullBreakout = close > ta.highest(close[1], 5)
bearRejection = close < ta.lowest(close[1], 5)

// === LIQUIDITY GRAB FILTER ===
liqHigh = high[1] > ta.highest(high[2], 10) and close < high[1]
liqLow = low[1] < ta.lowest(low[2], 10) and close > low[1]

// === TIME FILTER ===
withinTime = (hour >= timeFilterStart and hour <= timeFilterEnd)

// === ENTRY CONDITIONS ===
longCond = withinTime and longHTF and macdLine > signalLine and (bullBreakout or liqLow)
shortCond = withinTime and shortHTF and macdLine < signalLine and (bearRejection or liqHigh)

// === ATR-BASED RISK ===
atr = ta.atr(14)
longSL = close - atr * slATRMult
longTP = close + atr * slATRMult * riskReward
shortSL = close + atr * slATRMult
shortTP = close - atr * slATRMult * riskReward

// === EXECUTION ===
if (longCond and strategy.position_size <= 0)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long TP/SL", from_entry="Long", stop=longSL, limit=longTP)

if (shortCond and strategy.position_size >= 0)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short TP/SL", from_entry="Short", stop=shortSL, limit=shortTP)

// === VISUAL ===
plot(ta.ema(close, 200), color=color.orange, title="EMA 200")