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