리소스 로딩... 로딩...

VWAP 및 RSI 크로스오버 전략

저자:차오장, 날짜: 2024-05-11 11:42:20
태그:VWAPRSI

img

전반적인 설명

이 전략은 RSI 지표로 확인된 서로 다른 기간의 두 개의 VWAP 라인의 교차를 기반으로 합니다. 가격이 VWAP 라인을 넘어서고 RSI가 과판 수준을 넘어서면 긴 신호를 생성하고, 가격이 VWAP 라인을 넘어서고 RSI가 과판 수준을 넘어서면 짧은 신호를 생성합니다. 이 전략은 잠재적 인 가짜 브레이크를 필터링하는 동안 RSI를 사용하여 VWAP에 대한 가격의 파업 움직임을 포착하는 것을 목표로합니다.

전략 원칙

  1. VWAP값을 계산합니다. 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 및 RSI 크로스오버 전략은 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")



관련

더 많은