এই কৌশলটি বিভিন্ন সময়কালের দুটি ভিডাব্লুএপি লাইনের ক্রসওভারের উপর ভিত্তি করে, আরএসআই সূচক দিয়ে নিশ্চিত করা হয়। এটি একটি দীর্ঘ সংকেত তৈরি করে যখন দাম ভিডাব্লুএপি লাইনের উপরে ভেঙে যায় এবং আরএসআই ওভারসোল্ড স্তরের উপরে থাকে এবং যখন দাম ভিডাব্লুএপি লাইনের নীচে ভেঙে যায় এবং আরএসআই ওভারক্রয় স্তরের নীচে থাকে তখন একটি সংক্ষিপ্ত সংকেত তৈরি করে। কৌশলটি সম্ভাব্য মিথ্যা ব্রেকআউটগুলি ফিল্টার করার জন্য আরএসআই ব্যবহার করার সময় ভিডাব্লুএপি সম্পর্কিত দামের ব্রেকআউট আন্দোলনগুলি ক্যাপচার করার লক্ষ্য রাখে।
ভিডাব্লুএপি এবং আরএসআই ক্রসওভার কৌশল একটি সহজ এবং সহজেই ব্যবহারযোগ্য ট্রেডিং পদ্ধতি যা ভিডাব্লুএপি-র তুলনায় দামের ব্রেকআউট চলাচলের মাধ্যমে সম্ভাব্য মুনাফা অর্জনের লক্ষ্য রাখে। তবে, কৌশলটিতে প্যারামিটার অপ্টিমাইজেশন, রেঞ্জবন্ড মার্কেটে দুর্বল পারফরম্যান্স এবং ঝুঁকি পরিচালনার অভাবের মতো সমস্যাও রয়েছে। মাল্টি-টাইমফ্রেম বিশ্লেষণ প্রবর্তন করে, অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে একত্রিত করে, প্রবেশ এবং প্রস্থান নিয়মগুলি অনুকূল করে এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা যুক্ত করে, কৌশলটির দৃust়তা এবং ব্যবহারিকতা আরও বাড়ানো যেতে পারে। এই কৌশলটি প্রয়োগ করার সময় ব্যবসায়ীদের তাদের নিজস্ব ট্রেডিং স্টাইল এবং বাজারের বৈশিষ্ট্যগুলির উপর ভিত্তি করে যথাযথ সমন্বয় এবং অপ্টিমাইজেশন করা দরকার।
/*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")