यह वॉल्यूम वेटेड एवरेज प्राइस (वीडब्ल्यूएपी) और गारमैन-क्लास वोलाइटिटी (जीकेवी) पर आधारित एक अनुकूलन ट्रेडिंग रणनीति है। यह रणनीति बुद्धिमान बाजार प्रवृत्ति ट्रैकिंग प्राप्त करने के लिए वोलाइटिटी के माध्यम से वीडब्ल्यूएपी के मानक विचलन बैंड को गतिशील रूप से समायोजित करती है। यह लंबी स्थिति खोलती है जब कीमत ऊपरी बैंड से ऊपर टूटती है और निचले बैंड से नीचे टूटने पर स्थिति बंद कर देती है, जिसमें उच्च अस्थिरता उच्च ब्रेकआउट सीमाओं और कम अस्थिरता के साथ कम सीमाओं के लिए अग्रणी होती है।
रणनीति का मूल 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)