Strategi ini didasarkan pada persilangan dua garis VWAP dari periode yang berbeda, yang dikonfirmasi dengan indikator RSI. Ini menghasilkan sinyal panjang ketika harga melanggar di atas garis VWAP dan RSI berada di atas tingkat oversold, dan sinyal pendek ketika harga melanggar di bawah garis VWAP dan RSI berada di bawah tingkat overbought. Strategi ini bertujuan untuk menangkap pergerakan harga relatif terhadap VWAP sambil menggunakan RSI untuk menyaring kemungkinan pecah palsu.
VWAP dan RSI Crossover Strategy adalah metode perdagangan yang sederhana dan mudah digunakan yang bertujuan untuk menangkap keuntungan potensial dengan menangkap pergerakan harga relatif terhadap VWAP. Namun, strategi ini juga memiliki masalah seperti optimasi parameter, kinerja yang buruk di pasar rangebound, dan kurangnya manajemen risiko. Dengan memperkenalkan analisis multi-frame waktu, menggabungkan dengan indikator teknis lainnya, mengoptimalkan aturan masuk dan keluar, dan menambahkan langkah-langkah pengendalian risiko, ketahanan dan kepraktisan strategi dapat ditingkatkan lebih lanjut. Pedagang perlu membuat penyesuaian dan optimalisasi yang sesuai berdasarkan gaya perdagangan dan karakteristik pasar mereka sendiri saat menerapkan strategi ini.
/*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")