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