VWAP 및 RSI 크로스오버 전략

VWAP RSI
생성 날짜: 2024-05-11 11:42:20 마지막으로 수정됨: 2024-05-11 11:42:20
복사: 1 클릭수: 378
avatar of ChaoZhang ChaoZhang
1
집중하다
1234
수행원

VWAP 및 RSI 크로스오버 전략

개요

이 전략은 두 개의 다른 주기의 VWAP 라인을 교차하고 RSI 지표와 결합하여 거래 신호를 확인합니다. 가격이 VWAP 라인을 상향으로 돌파하고 RSI가 초과 수준을 초과하면 여러 신호가 발생하며 가격이 VWAP 라인을 상향으로 돌파하고 RSI가 초과 수준을 초과하면 공백 신호가 발생합니다. 이 전략은 VWAP에 대한 가격의 돌파구를 포착하는 동시에 RSI 지표를 사용하여 가짜 돌파구 신호를 필터링합니다.

전략 원칙

  1. VWAP 값은 거래량 가중 평균 가격으로, 일정 기간 동안 시장 참가자의 평균 포지션 비용을 나타냅니다.
  2. RSI를 계산한다. RSI는 가격의 상대적인 강점을 측정하고, 시장이 과매매되거나 과매매되는지 판단한다.
  3. 종결 가격이 VWAP 라인을 상향으로 돌파하고 RSI가 초매 수준 (기본 30) 보다 높을 때, 더 많은 신호가 발생한다.
  4. 종결 가격이 아래로 VWAP 라인을 뚫고 RSI가 오버 바이 레벨 (기본 70) 보다 낮을 때, 코오피 신호가 발생한다.
  5. 다수 상위 포지션을 보유할 때, 종결 가격이 하향으로 VWAP 라인을 돌파하거나 RSI가 초과 구매 수준을 초과하면 평점.
  6. 공백점 포지션을 보유할 때, 종결 가격이 VWAP 라인을 상향으로 돌파하거나 RSI가 초과 수준을 넘어서면 평점이다.

전략적 이점

  1. 가격과 거래량 정보를 결합한다. VWAP는 가격과 거래량을 종합적으로 고려하여 시장의 흐름을 더 포괄적으로 반영한다.
  2. RSI를 사용하여 트렌드를 확인하고 가짜 신호를 필터링하십시오. RSI는 돌파구를 판단하는 데 도움이되며, 잘못된 판단을 줄일 수 있습니다.
  3. 이 전략의 논리는 명확하고 초보자들도 배울 수 있고 사용할 수 있습니다.
  4. 여러 시간 주기에 적용한다. VWAP와 RSI의 계산 주기를 조정함으로써 이 전략은 다른 거래 스타일과 시장에 적용될 수 있다.

전략적 위험

  1. VWAP와 RSI의 변수 선택은 전략의 성과에 영향을 미칩니다. 부적절한 변수 설정은 자주 거래하거나 기회를 놓치게 할 수 있습니다.
  2. 이 전략은 추세가 불명확하거나 변동성이 낮은 시장에서 더 많은 가짜 신호를 생성할 수 있다.
  3. 이 전략은 위험 관리, 예를 들어, 스톱 로즈 및 포지션 컨트롤을 고려하지 않는다. 실제 응용에서는 위험 관리 조치와 결합이 필요하다.
  4. 돌파 전략은 흔들리는 시장에서 손실을 초래할 수 있다. 가격이 VWAP 근처에서 흔들릴 때, 이 전략은 자주 거래되어 손실을 초래할 수 있다.

전략 최적화 방향

  1. 여러 시간 주기의 VWAP와 RSI를 도입한다. 다양한 주기의 지표를 결합하여 신호의 신뢰성과 안정성을 향상시킨다.
  2. 이동 평균이나 ADX와 같은 트렌드 확인 지표를 추가하십시오. 트렌드가 명확한 방향으로 거래 할 때만 전략의 승률과 수익률을 높일 수 있습니다.
  3. 진입 및 출전 규칙을 최적화한다. 예를 들어, VWAP의 일정 비율을 초과하는 가격을 요구하거나 ATR을 필터링 조건으로 사용합니다.
  4. 다른 기술 지표와 결합하여, 예를 들어, 브린 밴드 또는 동력 지표. 여러 지표의 공동 확인을 통해 신호 품질을 향상시킨다.
  5. 위험 관리, 예를 들어 중지 및 동적 위치 제어. 합리적으로 설정된 중지 손실은 단일 거래의 위험을 줄일 수 있으며, 동적으로 조정된 위치는 자금 사용 효율을 높일 수 있습니다.

요약하다

거래량 가중 평균 가격과 상대적으로 강한 지수 교차 전략은 가격 상대적으로 VWAP의 돌파구를 포착하여 잠재적인 이익을 얻기 위해 사용하는 간단한 거래 방법이다. 그러나 이 전략에는 파라미터 최적화, 진동 시장의 열악한 성능, 위험 관리의 부족 등의 문제가 있습니다. 다중 시간 주기 분석을 도입하고, 다른 기술 지표와 결합하여, 출입 규칙을 최적화하고, 위험 제어와 같은 방법을 추가함으로써 이 전략의 안정성과 실용성을 더욱 향상시킬 수 있습니다.

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

//@version=4
strategy("VWAP and RSI Strategy with Alerts", overlay=true)

// Inputs
cumulativePeriod = input(20, "Rolling Period for VWAP", minval=1)
rsiPeriod = input(20, "RSI Period", minval=1)
rsiOverbought = input(70, "RSI Overbought Level")
rsiOversold = input(30, "RSI Oversold Level")
tradeQty = input(1, "Trade Quantity", minval=0.01)  // Cantidad de la operación

// VWAP Calculation
typicalPrice = (high + low + close) / 3
typicalPriceVolume = typicalPrice * volume
cumulativeTypicalPriceVolume = sum(typicalPriceVolume, cumulativePeriod)
cumulativeVolume = sum(volume, cumulativePeriod)
vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume
plot(vwapValue, color=color.blue, title="VWAP")

// RSI Calculation
rsiValue = rsi(close, rsiPeriod)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)

// Entry Conditions
longCondition = crossover(close, vwapValue) and rsiValue > rsiOversold
shortCondition = crossunder(close, vwapValue) and rsiValue < rsiOverbought

// Strategy Execution for Entries
if (longCondition)
    strategy.entry("Long", strategy.long, qty=tradeQty)
if (shortCondition)
    strategy.entry("Short", strategy.short, qty=tradeQty)

// Conditions for Exiting
exitLongCondition = crossunder(close, vwapValue) or rsiValue > rsiOverbought  // Salir de long cuando el precio cruce debajo del VWAP o el RSI sea alto
exitShortCondition = crossover(close, vwapValue) or rsiValue < rsiOversold  // Salir de short cuando el precio cruce por encima del VWAP o el RSI sea bajo

// Strategy Execution for Exits
strategy.exit("Exit Long", "Long", when=exitLongCondition)
strategy.exit("Exit Short", "Short", when=exitShortCondition)

// Alert Conditions
alertcondition(longCondition, title="Enter Long", message="ENTER-LONG_BINANCE-FUTURES_BTCUSDT_WunderTrading-1_1M_1354a524d74bc295")
alertcondition(exitLongCondition, title="Exit Long", message="EXIT-LONG_BINANCE-FUTURES_BTCUSDT_WunderTrading-1_1M_1354a524d74bc295")
alertcondition(shortCondition, title="Enter Short", message="ENTER-SHORT_BINANCE-FUTURES_BTCUSDT_WunderTrading-1_1M_1354a524d74bc295")
alertcondition(exitShortCondition, title="Exit Short", message="EXIT-SHORT_BINANCE-FUTURES_BTCUSDT_WunderTrading-1_1M_1354a524d74bc295")