VWAP 이동평균 교차 동적 ATR 손절매 및 이익 실현 전략


생성 날짜: 2024-04-01 10:51:46 마지막으로 수정됨: 2024-04-01 10:51:46
복사: 1 클릭수: 772
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

VWAP 이동평균 교차 동적 ATR 손절매 및 이익 실현 전략

개요

이 전략은 VWAP (대량 가중 평균 가격) 지표와 가격의 교차 관계를 기반으로 거래한다. 가격이 VWAP를 상향으로 통과할 때 상위 포지션을 열고, VWAP를 하향으로 통과할 때 빈 포지션을 열는다. 동시에 ATR (평균 실제 변동의 폭) 지표를 사용하여 역동적인 중지 손실과 중지 수준을 계산하여 위험을 제어하고 수익을 잠금합니다.

전략 원칙

  1. 시장의 평균 비용에 대한 참고로 주어진 기간의 VWAP 값을 계산한다.
  2. 가격과 VWAP의 교차 상황을 판단하십시오: 종결 가격 상단에서 VWAP를 통과하면 다중 신호를 유발하고, VWAP를 통과하면 하위 신호를 유발합니다.
  3. ATR 지표를 사용하여 현재 시장의 변동성을 계산하고 ATR 값과 주어진 배수 인자에 따라 동적 스톱로즈 및 스톱 레벨을 설정합니다.
  4. 포지션을 개시한 후, 가격이 스톱로스 또는 스톱 레벨에 도달하면 평위 포지션을 탈퇴한다.

우위 분석

  1. VWAP는 시장의 평균 비용을 효과적으로 반영하고, 가격과 결합하여 트렌드 강도 및 잠재적인 지지/저항 위치를 더 잘 판단할 수 있습니다.
  2. 동적 중지 및 정지는 ATR 지표에 기반하여, 다른 시장 상태의 변동의 폭에 적응할 수 있으며, 위험을 제어하면서 수익 공간을 고려합니다.
  3. VWAP 및 ATR 계산 주기, 스톱 스톱 배수 등과 같은 파라미터는 다른 시장 특성 및 위험 선호에 따라 유연하게 설정할 수 있습니다.

위험 분석

  1. VWAP는 트렌드 지표로서 다소 뒤쳐져 있으며, 흔들리는 시장에서 좋지 않은 성능을 보이며, 더 많은 가짜 신호를 생성할 수 있다.
  2. 고정된 ATR 배수 중지 손실은 급변하는 시장 정서에 완전히 적응하지 못할 수 있으며, 이는 너무 이른 중지 손실 또는 수익 공간이 부족할 수 있습니다.
  3. 이 전략은 가격의 폭파 틈새를 고려하지 않고, 오픈 가격이 직접적으로 스톱 손실 또는 스톱 스톱 수준을 뛰어넘는 경우, 특정 위험 틈새가 있습니다.

최적화 방향

  1. VWAP를 기반으로 다른 경향 지표 또는 MA, EMA 등과 같은 변동 지표 보조 판단을 결합하여 신호 신뢰도를 높인다.
  2. ATR 배수 인자를 최적화하여 적응 동적 조정 메커니즘을 도입하여 최근 가격 변동 특성에 따라 동적으로 배수의 크기를 조정합니다.
  3. 스톱 스톱 로직에 가격 점프 허브 처리를 추가하여, 오픈 디스크 직접 스톱 또는 스톱, 수표 등의 대응 메커니즘을 추가한다.
  4. 포지션 관리 및 자산 관리 전략, 예를 들어 고정 비율, 고정 위험과 같은 자금 분배 방법을 도입하는 것을 고려하여 전반적인 수익률 위험 비율을 향상하십시오.

요약하다

이 전략은 VWAP를 중심으로 가격과 교차하여 거래 신호를 생성하고 ATR과 결합하여 동적 스톱로스를 구현하여 추세를 파악하는 동시에 회수 위험을 제어합니다. 전체적인 아이디어는 간단하고 이해하기 쉽습니다. 그러나 전략에는 보조 지표를 도입하고 스톱로스 로직을 최적화하고 자금 관리를 추가함으로써 전략의 안정성과 수익성을 향상시킬 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-03-26 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Hannah Strategy Stop Loss and Take Profit", overlay=true)

// Inputs
cumulativePeriod = input(40, "VWAP Period")
atrPeriod = input(14, "ATR Period")
multiplier = input(1.5, "ATR Multiplier for Stop Loss")
targetMultiplier = input(3, "ATR Multiplier for Take Profit")

// Calculations for VWAP
typicalPrice = (high + low + close) / 3
typicalPriceVolume = typicalPrice * volume
cumulativeTypicalPriceVolume = sum(typicalPriceVolume, cumulativePeriod)
cumulativeVolume = sum(volume, cumulativePeriod)
vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume

// Plot VWAP on the chart
plot(vwapValue, color=color.blue, title="VWAP")

// Entry Conditions based on price crossing over/under VWAP
longCondition = crossover(close, vwapValue)
shortCondition = crossunder(close, vwapValue)

// ATR Calculation for setting dynamic stop loss and take profit
atr = atr(atrPeriod)

// Execute Trades with Dynamic Stop Loss and Take Profit based on ATR
if (longCondition)
    strategy.entry("Long", strategy.long)
    // Setting stop loss and take profit for long positions
    strategy.exit("Long Exit", "Long", stop=close - atr * multiplier, limit=close + atr * targetMultiplier)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    // Setting stop loss and take profit for short positions
    strategy.exit("Short Exit", "Short", stop=close + atr * multiplier, limit=close - atr * targetMultiplier)