এটি ভলিউম ওয়েটেড এভারেজ প্রাইস (ভিডাব্লুএপি) এবং গারম্যান-ক্লাস ভোলাটিলিটি (জিকেভি) এর উপর ভিত্তি করে একটি অভিযোজিত ট্রেডিং কৌশল। কৌশলটি বুদ্ধিমান বাজার প্রবণতা ট্র্যাকিং অর্জনের জন্য ভল্যাটিলিটির মাধ্যমে ভিডাব্লুএপি স্ট্যান্ডার্ড ডিভিয়েশন ব্যান্ডগুলিকে গতিশীলভাবে সামঞ্জস্য করে। এটি যখন দাম উপরের ব্যান্ডের উপরে ভঙ্গ করে তখন দীর্ঘ অবস্থানগুলি খোলে এবং নিম্ন ব্যান্ডের নীচে ভঙ্গ করার সময় অবস্থানগুলি বন্ধ করে, উচ্চতর অস্থিরতা উচ্চতর ব্রেকআউট থ্রেশহোল্ড এবং কম অস্থিরতা কম থ্রেশহোল্ডের দিকে পরিচালিত করে।
কৌশলটির মূলটি ভিডাব্লুএপিকে জিকেভি অস্থিরতার সাথে একত্রিত করে। এটি প্রথমে দামের পিভট হিসাবে ভিডাব্লুএপি গণনা করে, তারপরে বন্ধের দামের স্ট্যান্ডার্ড বিচ্যুতি ব্যবহার করে ব্যান্ড তৈরি করে। মূলটি হ'ল অস্থিরতার গণনার জন্য জিকেভি সূত্র ব্যবহার করা, যা চারটি মূল্য পয়েন্ট (খোলা, উচ্চ, নিম্ন, বন্ধ) বিবেচনা করে এবং traditionalতিহ্যবাহী অস্থিরতার পরিমাপের চেয়ে আরও নির্ভুল। অস্থিরতা গতিশীলভাবে ব্যান্ড প্রস্থ সামঞ্জস্য করে - যখন অস্থিরতা বৃদ্ধি পায়, তখন ব্যান্ডগুলি প্রশস্ত হয়, ব্রেকআউট থ্রেশহোল্ডগুলি বাড়ায়; যখন অস্থিরতা হ্রাস পায়, তখন ব্যান্ডগুলি সংকীর্ণ হয়, ব্রেকআউট থ্রেশহোল্ডগুলি হ্রাস করে। এই অভিযোজনশীল প্রক্রিয়া কার্যকরভাবে মিথ্যা ব্রেকআউটগুলি এড়ায়।
কৌশলটি ভিডাব্লুএপি এবং জিকেভি অস্থিরতার উদ্ভাবনী সংমিশ্রণের মাধ্যমে গতিশীল বাজার ট্র্যাকিং অর্জন করে। এর অভিযোজনযোগ্য প্রকৃতি বিভিন্ন বাজারের পরিবেশে স্থিতিশীল পারফরম্যান্সকে সক্ষম করে। যদিও কিছু সম্ভাব্য ঝুঁকি রয়েছে, কৌশলটি সঠিক ঝুঁকি নিয়ন্ত্রণ এবং অবিচ্ছিন্ন অপ্টিমাইজেশনের মাধ্যমে ভাল প্রয়োগের সম্ভাবনা দেখায়।
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-18 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Adaptive VWAP Bands with Garman Klass Volatility", overlay=true) // Inputs length = input.int(25, title="Volatility Length") vwapLength = input.int(14, title="VWAP Length") vol_multiplier = input.float(1,title="Volatility Multiplier") // Function to calculate Garman-Klass Volatility var float sum_gkv = na if na(sum_gkv) sum_gkv := 0.0 sum_gkv := 0.0 for i = 0 to length - 1 sum_gkv := sum_gkv + 0.5 * math.pow(math.log(high[i]/low[i]), 2) - (2*math.log(2)-1) * math.pow(math.log(close[i]/open[i]), 2) gcv = math.sqrt(sum_gkv / length) // VWAP calculation vwap = ta.vwma(close, vwapLength) // Standard deviation for VWAP bands vwapStdDev = ta.stdev(close, vwapLength) // Adaptive multiplier based on GCV multiplier = (gcv / ta.sma(gcv, length)) * vol_multiplier // Upper and lower bands upperBand = vwap + (vwapStdDev * multiplier) lowerBand = vwap - (vwapStdDev * multiplier) // Plotting VWAP and bands plot(vwap, title="VWAP", color=color.blue, linewidth=2) plot(upperBand, title="Upper Band", color=color.green, linewidth=1) plot(lowerBand, title="Lower Band", color=color.red, linewidth=1) var barColor = color.black // Strategy: Enter long above upper band, go to cash below lower band if (close > upperBand) barColor := color.green strategy.entry("Long", strategy.long) else if (close < lowerBand) barColor := color.fuchsia strategy.close("Long") barcolor(barColor)