Strategi ini adalah berdasarkan persilangan dua garis VWAP dari tempoh yang berbeza, disahkan dengan penunjuk RSI. Ia menghasilkan isyarat panjang apabila harga memecahkan di atas garis VWAP dan RSI di atas tahap oversold, dan isyarat pendek apabila harga memecahkan di bawah garis VWAP dan RSI di bawah tahap overbought. Strategi ini bertujuan untuk menangkap pergerakan harga berbanding VWAP sambil menggunakan RSI untuk menapis kemungkinan pecah palsu.
VWAP dan RSI Crossover Strategy adalah kaedah perdagangan yang mudah dan mudah digunakan yang bertujuan untuk menangkap keuntungan berpotensi dengan menangkap pergerakan harga yang berkaitan dengan VWAP. Walau bagaimanapun, strategi ini juga mempunyai masalah seperti pengoptimuman parameter, prestasi yang buruk di pasaran jangkauan, dan kekurangan pengurusan risiko. Dengan memperkenalkan analisis pelbagai jangka masa, menggabungkan dengan penunjuk teknikal lain, mengoptimumkan peraturan kemasukan dan keluar, dan menambah langkah kawalan risiko, ketahanan dan kepraktisan strategi dapat ditingkatkan lagi. Pedagang perlu membuat penyesuaian dan pengoptimuman yang sesuai berdasarkan gaya perdagangan dan ciri pasaran mereka sendiri ketika menggunakan 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")