동적 ATR 역추세 거래 전략: 시장 유동성 워시 및 역 돌파 정량 시스템

ATR CHoCH 流动性洗盘 逆势交易 风险管理 动态止盈止损
생성 날짜: 2025-05-28 09:36:41 마지막으로 수정됨: 2025-05-28 09:36:41
복사: 1 클릭수: 297
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

동적 ATR 역추세 거래 전략: 시장 유동성 워시 및 역 돌파 정량 시스템 동적 ATR 역추세 거래 전략: 시장 유동성 워시 및 역 돌파 정량 시스템

개요

동적 ATR 역동 거래 전략은 시장의 유동성 세탁 인식 및 CHoCH (Character Change) 신호에 기반한 거래 시스템으로, 시장에서 역전 기회를 잡기 위한 것이다. 이 전략의 핵심적인 사고방식은 시장의 유동성 세탁 행동을 식별함으로써, 대부분의 거래자가 평정시 입점할 때 입점하여 “스마트 자금” (Smart Money) 방향에 부응하는 이익을 얻는 것이다. 전략은 동적 ATR (진실 평균 파동폭) 을 사용하여 중지 및 중지 수준을 설정하고, 엄격한 위험 관리 메커니즘을 사용하여 각 거래의 위험을 통제할 수 있도록 한다.

전략 원칙

이 전략의 작동 메커니즘은 다음과 같은 몇 가지 핵심 단계에 기반합니다.

  1. 유동성 세탁기 식별전략은 lookback 파라미터를 사용하여 (기본 20주기) 역사적 고위와 낮은 점을 모니터링합니다. 현재 가격이 지난 lookback 주기의 최고점을 돌파했을 때, 최고점 유동성 세탁기 (sweepHigh) 로 인식됩니다. 가격이 지난 lookback 주기의 최저점을 넘어섰을 때, 낮은 점 유동성 세탁기 (sweepLow) 로 인식됩니다.

  2. CHoCH 신호 생성:

    • 더 많은 신호 ((bullishCHoCH) 조건: 낮은 시점 유동성 세탁이 발생하고, 동시에 종료 가격이 이전 주기의 종료 가격보다 높으며, 종료 가격이 오픈 가격보다 높다.
    • 하향 신호 ((bearishCHoCH) 조건: 고점 유동성 세탁이 발생하고, 동시에 종료 가격은 이전 주기 종료 가격보다 낮고, 종료 가격은 오픈 가격보다 낮다.
  3. 동적 위험 관리:

    • 이 전략은 ATR을 1.5으로 곱하여 중지 거리를 사용하며, 시장의 실제 변동성을 고려한 중지 지점을 보장합니다.
    • 리스크 수익률은 [기본 2.0]으로 계산한다.
    • 각 거래의 리스크는 계좌 총액의 지정된 비율 (비용으로 1%) 내에 제어된다.
  4. 거래 실행:

    • 더 많은 것을 볼 수 있는 조건이 충족되면, 전략은 현재의 종결 가격에 더 많은 것을 입시하고, 그에 따른 중지 및 중지 위치를 설정한다.
    • 보잉 조건이 충족되면, 전략은 현재 종결 가격에 상장 하락을 하고, 그에 따른 중지 손실 및 중지 위치를 설정한다.

전략적 이점

  1. 역전 거래 장점이 전략은 시장의 유동성 세탁 행위를 대상으로 거래하며, 대부분의 거래자들이 포지션이 밀려 있을 때 입문하여 더 큰 가격 변동을 포착할 잠재력을 가지고 있다.

  2. 동적 위험 관리: 고정 점수 스톱 전략과는 달리, 이 시스템은 ATR 설정 스톱을 기반으로 다양한 시장 조건과 변동적 환경에 적응할 수 있으며, 위험 관리를 더 과학적으로 만듭니다.

  3. 명확한 입구 신호: 유동성 세탁기와 CHoCH 신호를 결합하여 명확한 입시 조건을 제공하여 주관적 판단을 줄이고 시스템의 반복성과 일관성을 강화합니다.

  4. 위험은 통제할 수 있습니다.: 각 거래의 위험 비율을 설정하여 단일 거래의 손실이 계좌에 과도한 영향을 미치지 않도록 보장하여 장기적으로 안정적인 거래에 도움이 됩니다.

  5. 융통성, 적응력: 전략의 매개 변수들 (위험의 수익률, 거래당 위험의 비율, 회수기) 은 다른 시장과 개인의 위험 선호도에 따라 조정될 수 있다.

전략적 위험

  1. 가짜 침입 위험: 시장에서 유동성 세탁 신호가 작동하지 않는 가짜 돌파구가 발생할 수 있습니다. 이 경우, 가격이 입문 신호를 쏘아 올린 후 빠르게 역동으로 인해 정지 손실이 유발됩니다. 해결 방법은 확인 지표를 늘리거나 확인 시간을 연장하는 것이 포함될 수 있습니다.

  2. 높은 변동성 환경에서의 위험: 시장의 급격한 변동 환경에서는 ATR 값이 눈에 띄게 증가하여 입구 지점에서 멀리 떨어져있는 중지 손실로 인해 단일 거래의 절대 손실 금액이 증가 할 수 있습니다. 높은 변동 환경에서는 ATR 배수를 조정하거나 거래당 위험 비율을 줄이는 것을 고려 할 수 있습니다.

  3. 매개변수 민감도: 전략 성능은 파라미터 설정에 민감할 수 있습니다 (특히 룩백 주기와 ATR 배수). 다른 시장과 시간 프레임에 따라 최적의 효과를 얻기 위해 다른 파라미터 설정이 필요할 수 있습니다. 특정 거래 환경에 가장 적합한 파라미터를 결정하기 위해 충분한 재검토가 권장됩니다.

  4. 자금 관리 위험: 전략에는 위험 제어 장치가 포함되어 있지만, 연쇄 손실이 발생하면 계정에 누적되는 영향을 미칠 수 있습니다. 연쇄 손실 후 거래 규모를 줄이거나 거래를 중단하는 것과 같은 추가 자금 관리 규칙을 시행하는 것이 좋습니다.

전략 최적화 방향

  1. 필터링 조건을 추가: 이동 평균 방향이나 다른 추세 지표와 같은 추세 필터를 추가하는 것을 고려할 수 있습니다. 주류 방향에서만 거래하여 재조정 시장에서 자주 거래하는 것을 피하십시오.

  2. CHoCH 확인 메커니즘 최적화: 현재 CHoCH 신호는 단일 K 라인의 가격 행동에 기반하고, 다중 K 라인의 확인 조건을 추가하거나, 거래량 변화를 결합하여 추가 확인으로 신호의 신뢰성을 높일 수 있습니다.

  3. 동적으로 조정된 리스크 수익률: 시장의 변동성이나 다른 시장 상태 지표에 따라 역동적으로 리스크 수익률을 조정할 수 있습니다. 변동성이 낮은 시장에서 더 높은 리스크 수익률을 사용하고, 변동성이 높은 시장에서 더 보수적인 설정을 사용합니다.

  4. 시간 필터링: 특정 시장은 특정 시간 동안 더 큰 변동성이나 방향성을 가질 수 있으며, 시간 필터를 추가하면 불리한 거래 시간에 거래하는 것을 피할 수 있습니다.

  5. 감정 지표 통합: 시장 감정 지표와 결합하여 (대비적으로 약한 RSI, 무작위 지표 등) 잠재적인 전환점을 확인하고 진입 신호의 정확도를 높일 수 있습니다.

  6. 정지 전략 최적화: 현재 전략은 고정된 리스크 수익률을 사용하여 스톱 포지션을 설정합니다. 1:1 리스크 수익률이 달성되면 스톱 손실을 상쇄 손해 균형점으로 이동하여 수익의 일부가 계속 증가하도록 허용하는 단계적 스톱 전략을 실행하는 것이 고려 될 수 있습니다.

요약하다

동적 ATR 역동 거래 전략은 시장 유동성 세탁 후 역전 기회를 포착하는 데 초점을 맞춘 정량 거래 시스템이다. 유동성 세탁 인식과 CHoCH 신호를 결합하여, 이 전략은 대부분의 거래자가 포지션을 줄이도록 강요당할 때 진입하여 “지능한 자금”의 방향을 따라 거래하는 것을 시도한다. 전략의 핵심 장점은 동적 위험 관리 장치와 명확한 진입 조건에 있으며, 이는 시스템이 다양한 시장 환경에서 어느 정도의 적응력을 유지할 수 있도록 해준다.

그러나, 이 전략은 가짜 돌파 위험과 변수 감수성 같은 도전에 직면한다. 필터링 조건을 추가, 신호 확인 메커니즘을 최적화, 위험 변수를 동적으로 조정하는 등의 최적화 조치를 통해 전략의 안정성과 수익성을 더욱 향상시킬 수 있다.

전체적으로, 이것은 명확한 구조와 위험 관리가 잘 된 거래 전략이며, 특히 역전 거래 기회를 찾는 거래자에게 적합합니다. 모든 거래 전략과 마찬가지로, 실전 거래 전에 충분한 회전 및 시뮬레이션 거래가 권장되며, 개인의 위험 수용 능력과 거래 목표에 따라 매개 변수를 조정합니다.

전략 소스 코드
/*backtest
start: 2024-05-28 00:00:00
end: 2025-05-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Contrarian PRO - Smart Money", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)

// === INPUTS ===
riskReward = input.float(2.0, title="Risk/Reward Ratio", minval=1.0)
riskPerc = input.float(1.0, title="Risk per Trade (%)", minval=0.1, maxval=5.0)
lookback = input.int(20, title="Liquidity Sweep Lookback", minval=5)

// === PRICE ACTION TOOLS ===
var float entryPrice = na
var float stopLoss = na
var float takeProfit = na

// Detect potential liquidity sweep (high or low taken)
sweepHigh = ta.highest(high, lookback)[1] < high
sweepLow = ta.lowest(low, lookback)[1] > low

// Define CHoCH logic (Change of Character)
bullishCHoCH = sweepLow and close > close[1] and close > open
bearishCHoCH = sweepHigh and close < close[1] and close < open

// Entry logic
longCondition = bullishCHoCH
shortCondition = bearishCHoCH

// Manage risk: dynamic stop and TP
risk = riskPerc / 100 * strategy.equity
atr = ta.atr(14)
slPips = atr * 1.5

if (longCondition)
    entryPrice := close
    stopLoss := close - slPips
    takeProfit := close + slPips * riskReward
    strategy.entry("Long", strategy.long)
    strategy.exit("TP/SL", from_entry="Long", stop=stopLoss, limit=takeProfit)

if (shortCondition)
    entryPrice := close
    stopLoss := close + slPips
    takeProfit := close - slPips * riskReward
    strategy.entry("Short", strategy.short)
    strategy.exit("TP/SL", from_entry="Short", stop=stopLoss, limit=takeProfit)

// === PLOT ===
plotshape(longCondition, title="Long Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="LONG")
plotshape(shortCondition, title="Short Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT")