
यह एक स्व-अनुकूली ट्रेडिंग रणनीति है जो लेन-देन की मात्रा के भारित औसत मूल्य (VWAP) और गार्मन-क्लास अस्थिरता (GKV) पर आधारित है। यह रणनीति बाजार के रुझानों पर बुद्धिमान ट्रैकिंग के लिए अस्थिरता की गतिशीलता के माध्यम से 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)