이중 이동 평균 교차 전형적인 가격 고정 VWAP 일중 동적 손절매 및 손절매 양적 전략

EMA VWAP ATR Typical Price Risk/Reward
생성 날짜: 2025-07-25 13:33:58 마지막으로 수정됨: 2025-07-25 13:33:58
복사: 4 클릭수: 263
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

이중 이동 평균 교차 전형적인 가격 고정 VWAP 일중 동적 손절매 및 손절매 양적 전략 이중 이동 평균 교차 전형적인 가격 고정 VWAP 일중 동적 손절매 및 손절매 양적 전략

개요

이 전략은 기술 지표에 기반한 일간 단선 거래 시스템으로, 주로 20주기 지수 이동 평균 ((EMA 20) 과 전형적인 가격 계산에 기반한 거래량 가중 평균 가격 ((VWAP)) 사이의 관계를 사용하여 거래 신호를 결정한다. 전략은 ATR ((진실 파도 평균) 과 무기 (신호 ) 의 크기를 통해 위험과 수익의 비율을 정확하게 계산하여 위험 제어와 수익을 최대화하는 균형을 이룬다. 이 전략은 특히 변동성이 높은 시장 환경에 적합하며, 단기 가격 경향의 전환점을 포착하여 수익을 얻는다.

전략 원칙

이 전략의 핵심 원리는 두 개의 평행선 (EMA 20과 고정 VWAP) 과 가격의 상호작용에 기초하고 있다. 구체적으로:

  1. 입력 신호 생성 메커니즘

    • 구매 조건: EMA 20이 VWAP 위에 있고, 종결 가격이 아래에서 EMA 20을 통과하거나, 또는 EMA 20이 아래에서 VWAP를 통과할 때 구매 신호를 유발한다.
    • 판매 조건: EMA 20이 VWAP 아래에 있고 종결 가격이 EMA 20을 상단으로 통과하거나 EMA 20이 VWAP를 상단으로 통과하면 판매 신호를 유발합니다.
  2. 전형적인 가격의 적용전략: VWAP를 계산하기 위해 전형적인 가격 ((높은 가격 + 낮은 가격 + 종결 가격) / 3을 사용한다. 이는 종결 가격을 사용하는 것보다 더 포괄적인 가격 정보를 제공한다.

  3. VWAP의 일기결정: VWAP는 거래일 초에 재설정되어, 당일 가격과 거래량 관계를 반영하는 지표가 되어, 당일 거래자의 사용에 적합하다.

  4. 동적 위험 관리

    • 스톱로스 설정: ATR을 기반으로 사용자 정의의 곱하기 (기본 2.0) 를 사용하여 시장의 변동성에 따라 동적 스톱로스를 제공합니다.
    • 목표 수익: 신호 크기에 따라, 구매 목표가 신호 최고점과 두 배의 크기를 더하고, 판매 목표가 신호 최저점과 두 배의 크기를 것이다.
  5. 위험과 수익의 비율이 전략은 기본적으로 1:3의 리스크-비용 비율을 사용한다. 즉, 잠재적인 수익은 잠재적인 위험의 3배이다. 이는 전문 거래자의 위험 관리 기준에 부합한다.

전략적 이점

  1. 통합 기술 지표의 장점 통합: EMA의 트렌드 추적 능력과 VWAP의 거래량 무게 우위를 결합하여 신호를 더욱 신뢰할 수 있게 한다.

  2. 시장의 변동성에 적응하는 역동적인 상쇄: ATR을 통해 스톱 포지션을 계산하여 스톱 포인트를 시장의 실제 변동 상황에 따라 자동으로 조정할 수 있도록 하며, 고정 스톱 포인트가 다양한 변동 환경에서 부적응하는 것을 방지한다.

  3. 체 크기에 따른 목표 설정신호 의 실제 크기를 사용하여 목표 가격을 결정하는 방법은 현재의 시장의 변동적 특성에 더 잘 적응할 수 있습니다. 큰 변동이 있을 때 더 먼 목표를 설정하고 작은 변동이 있을 때 더 가까운 목표를 설정합니다.

  4. 하루 동안의 VWAP 계산: 매 거래일마다 VWAP를 재계산하여, 현재 거래일에 대한 역사 데이터의 간섭을 피하고, 보다 명확한 당일 가격 참조를 제공합니다.

  5. 다중 인증 메커니즘: 평선 교차와 가격 교차의 조합 조건을 요구하여 잘못된 신호의 가능성을 줄이고 거래의 정확도를 높인다.

  6. 직관적인 시각화 효과전략: 전략은 거래 결정을 직관적으로 이해하고 실행할 수 있도록 구매 및 판매 신호, 중지 및 목표 가격 라인을 포함하는 명확한 그래픽 표시를 제공합니다.

전략적 위험

  1. 수평선 뒤떨어진 위험: EMA는 단순 이동 평균보다 더 빠르게 반응하지만, 여전히 약간의 지연성이 존재하며, 빠르게 변화하는 시장에서 최적의 진입 지점을 놓치거나 지연 신호를 발생시킬 수 있습니다.

  2. VWAP 계산은 거래량에 의존합니다.: 거래량이 비정상적일 경우, 예를 들어 대형 기관의 단일 대량의 거래는 VWAP의 편차를 유발할 수 있으며, 신호의 정확성에 영향을 미칠 수 있다.

  3. 거래 빈도 위험: 불안정한 시장에서, 평행선은 자주 교차할 수 있으며, 이는 과도한 거래와 거래 비용을 증가시킨다.

  4. 손해배상 트리거 위험: 시장은 단기적인 가격 가시가 발생할 수 있으며, 정지 손실을 유발한 후 다시 원래의 추세 방향으로 돌아가서 불필요한 손실을 초래할 수 있습니다.

  5. 목표 가격 설정의 한계개별 덩어리 크기를 기반으로 한 목표 설정은 모든 시장 조건에 적합하지 않을 수 있습니다. 특히 시장 구조가 변화 할 때 그렇습니다.

해결 방법

  • 추가적인 필터링 조건을 추가하는 것이 고려될 수 있습니다. 예를 들어, 거래량 확인이나 트렌드 강도 지표와 같은 경우, 가짜 신호를 줄일 수 있습니다.
  • 손해 중지 설정의 경우, 이동 중지 또는 ATR에만 의존하지 않고 지원 / 저항 위치에 기반한 중지를 사용할 수 있습니다.
  • 시간 필터를 적용하여 시장 개시와 종결 전후의 높은 변동 기간의 거래를 피할 수 있습니다.
  • 규칙적으로 재검토 및 최적화 매개 변수를 사용하여 현재의 시장 환경에서 전략이 유효하게 유지되도록하십시오.

전략 최적화 방향

  1. 변수 최적화

    • EMA 사이클은 다른 거래 품종과 시간 프레임에 따라 최적화 될 수 있으며, 더 큰 변동성이있는 품종은 더 긴 EMA 사이클이 필요할 수 있습니다.
    • ATR 곱수는 시장의 변동 특성에 따라 조정될 수 있으며, 높은 변동성이 있는 시장은 조기 상실을 피하기 위해 더 큰 곱수가 필요할 수 있다.
    • 리스크/이익 비율은 개인의 위험 선호와 시장 특성에 따라 조정할 수 있다.
  2. 시장 환경 필터 추가

    • 부린 대역폭과 같은 변동성 지표를 도입하고, 낮은 변동성 환경에서 거래를 중지하거나 파라미터를 조정한다.
    • 트렌드 강도 지표인 ADX를 추가하여 트렌드가 명확한 경우에만 거래한다.
  3. 시간 필터

    • 거래 시간 창을 적용하여 시장 개시 및 종료 시기의 높은 변동 기간과 정오 시기의 낮은 활동 기간을 피하십시오.
    • 중요한 경제 자료가 발표되기 전과 후의 거래 제한을 고려하십시오.
  4. 정지 손실 최적화

    • 세트 정지 메커니즘을 구현하고, 일부 포지션은 목표에 가까운 수익을 얻고, 일부 포지션은 더 먼 목표를 추구한다.
    • 트래킹 스톱을 도입하여 가격이 유리한 방향으로 움직일 때 자동으로 스톱 위치를 조정합니다.
  5. 다중 시간 프레임 분석 통합

    • 더 높은 시간 프레임의 트렌드 확인을 추가하여 더 큰 트렌드와 일일 거래의 방향을 확인합니다.
    • 더 짧은 시간 프레임의 정확한 입국지 확인을 소개합니다.

이러한 최적화 방향의 구현은 전략의 안정성과 수익성을 크게 향상시킬 수 있지만, 과도한 최적화가 과잉 적합성에 이르지 않도록 주의해야 한다. 각 개선은 엄격한 피드백과 전향 테스트를 통해 그 효과를 검증해야 한다.

요약하다

쌍평선 교차 전형적인 가격 고정 VWAP 일일 동적 중지 중지 손실량화 전략은 여러 가지 기술적 분석 도구를 결합한 통합 거래 시스템이다. 그것은 EMA 20과 전형적인 가격 계산의 VWAP 사이의 관계를 통해 잠재적인 거래 기회를 식별하고 ATR 및 크기에 기반한 동적 위험 관리 장치를 사용하여 위험을 제어하고 수익을 최적화한다.

전략의 주요 장점은 시장의 변동성에 적응할 수 있는 능력과 여러 기술 지표와 결합하여 제공되는 신호의 신뢰성이다. 그러나, 그것은 또한 평평선 낙후 및 과도한 거래와 같은 위험에 직면해 있으며, 추가적인 필터링 조건과 변수 최적화를 통해 완화해야 한다.

이 전략은 일일 거래자에게 체계화된 거래 프레임워크를 제공하며, 특히 합리적인 위험 통제를 유지하면서 단기 시장 기회를 잡으려는 거래자에게 적합합니다. 지속적인 피드백, 최적화 및 연습을 통해 거래자는 자신의 위험 수용 능력과 거래 목표에 따라 이 전략을 더 개선하여 개인화 된 안정적인 거래 시스템으로 만들 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-07-25 00:00:00
end: 2025-07-23 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("EMA 20 and Anchored VWAP with Typical Price", overlay=true)

// === INPUTS ===
emaLength = input.int(20, title="EMA Length")
atrMultiplier = input.float(2.0, title="Stop Loss Multiplier (x ATR)", minval=1)
riskRewardRatio = input.float(3.0, title="Risk/Reward Ratio", minval=1, step=0.1)  // 1:3 Risk/Reward Ratio

// === CALCULATIONS ===
// EMA 20
ema20 = ta.ema(close, emaLength)

// === TYPICAL PRICE ===
typicalPrice = (high + low + close) / 3

// === VWAP CALCULATION (ANCHOR PERIOD = SESSION) ===

// Reset at the start of each session (new day)
var float cumPriceVol = na
var float cumVol = na

if (dayofweek != dayofweek[1])  // Reset at the start of each day
    cumPriceVol := typicalPrice * volume
    cumVol := volume
else
    cumPriceVol := cumPriceVol + (typicalPrice * volume)
    cumVol := cumVol + volume

vwap = cumPriceVol / cumVol  // VWAP = cumulative price-volume / cumulative volume

// ATR Calculation
atr = ta.atr(14)

// === BUY CONDITIONS ===
// EMA 20 above VWAP and close crosses EMA 20 from below, OR EMA 20 crosses VWAP from below
buyCondition = (ema20 > vwap and ta.crossover(close, ema20)) or ta.crossover(ema20, vwap)

// === SELL CONDITIONS ===
// EMA 20 below VWAP and close crosses EMA 20 from above, OR EMA 20 crosses VWAP from above
sellCondition = (ema20 < vwap and ta.crossunder(close, ema20)) or ta.crossunder(ema20, vwap)

// === STOP LOSS and TARGET ===
// Buy Stop Loss and Target calculation (Weapon Candle is the signal candle)
buyStopLoss = close - atr * atrMultiplier

// Weapon Candle (signal candle) for Buy
weaponCandleSize = high - low
buyTarget = high + 2 * weaponCandleSize // Target = High of weapon candle + 2 * candle size

// Sell Stop Loss and Target calculation (Weapon Candle is the signal candle)
sellStopLoss = close + atr * atrMultiplier

// Weapon Candle (signal candle) for Sell
weaponCandleSizeSell = high - low
sellTarget = low - 2 * weaponCandleSizeSell // Target = Low of weapon candle - 2 * candle size

// === EXECUTE STRATEGY (Buy and Sell) ===
// Buy order entry
if (buyCondition)
    strategy.entry("Buy", strategy.long, stop=buyStopLoss, limit=buyTarget)
    
// Sell order entry
if (sellCondition)
    strategy.entry("Sell", strategy.short, stop=sellStopLoss, limit=sellTarget)

// === PLOTS ===
// Plot EMA 20
plot(ema20, color=color.blue, title="EMA 20", linewidth=2)

// Plot VWAP
plot(vwap, color=color.orange, title="Session Anchored VWAP", linewidth=2)

// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")

// === BACKGROUND COLORS ===
bgcolor(buyCondition ? color.new(color.green, 90) : na, title="Buy Background")
bgcolor(sellCondition ? color.new(color.red, 90) : na, title="Sell Background")