یہ حجم وزن شدہ اوسط قیمت (VWAP) اور گارمین کلاس Volatility (GKV) پر مبنی ایک انکولی تجارتی حکمت عملی ہے۔ حکمت عملی مارکیٹ کے رجحان کی ذہین ٹریکنگ کو حاصل کرنے کے لئے Volatility کے ذریعے VWAP کے معیاری انحراف بینڈ کو متحرک طور پر ایڈجسٹ کرتی ہے۔ جب قیمت اوپری بینڈ سے اوپر ٹوٹ جاتی ہے تو یہ طویل پوزیشنیں کھولتی ہے اور جب نچلی بینڈ سے نیچے ٹوٹ جاتی ہے تو پوزیشنیں بند کردیتی ہے ، زیادہ اتار چڑھاؤ کے نتیجے میں زیادہ توڑ کی حد ہوتی ہے اور کم اتار چڑھاؤ کی وجہ سے کم حد ہوتی ہے۔
اس حکمت عملی کا بنیادی حصہ VWAP کو GKV اتار چڑھاؤ کے ساتھ جوڑتا ہے۔ یہ پہلے VWAP کو قیمت کے محور کے طور پر شمار کرتا ہے ، پھر اختتامی قیمتوں کے معیاری انحراف کا استعمال کرتے ہوئے بینڈ بناتا ہے۔ اس کی کلید اتار چڑھاؤ کے حساب کے لئے GKV فارمولے کا استعمال کررہی ہے ، جو چار قیمتوں کے نکات (کھولنے ، اونچائی ، کم ، بند) پر غور کرتی ہے اور روایتی اتار چڑھاؤ کی پیمائش سے زیادہ درست ہے۔ اتار چڑھاؤ متحرک طور پر بینڈ کی چوڑائی کو ایڈجسٹ کرتا ہے - جب اتار چڑھاؤ بڑھتا ہے تو ، بینڈ وسیع ہوجاتے ہیں ، توڑنے کی حدوں کو بڑھاتے ہیں۔ جب اتار چڑھاؤ کم ہوتا ہے تو ، بینڈ تنگ ہوجاتے ہیں ، توڑنے کی حدوں کو کم کرتے ہیں۔ یہ موافقت پذیر طریقہ کار مؤثر طریقے سے جھوٹے توڑنے سے بچتا ہے۔
یہ حکمت عملی VWAP اور GKV اتار چڑھاؤ کے جدید امتزاج کے ذریعے متحرک مارکیٹ ٹریکنگ حاصل کرتی ہے۔ اس کی موافقت پذیر نوعیت مختلف مارکیٹ کے ماحول میں مستحکم کارکردگی کو ممکن بناتی ہے۔ اگرچہ کچھ ممکنہ خطرات موجود ہیں ، لیکن حکمت عملی مناسب خطرہ کنٹرول اور مسلسل اصلاح کے ذریعے درخواست کے اچھے امکانات دکھاتی ہے۔
/*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)