यह रणनीति पारंपरिक बोलिंगर बैंड्स ट्रेंड-फॉलोइंग सिस्टम का एक बेहतर संस्करण है। यह ट्रेंड विश्वसनीयता की पुष्टि करने के लिए बोलिंगर बैंड्स के लगातार तीन स्पर्शों के लिए मूल्य कार्रवाई की निगरानी करता है, जिसके परिणामस्वरूप उच्च जीत दर होती है। रणनीति मध्य बैंड के रूप में 20 अवधि के चलती औसत और ऊपरी और निचले बैंड के लिए 2 मानक विचलन का उपयोग करती है। बैंड सीमाओं के साथ मूल्य संबंधों के विस्तृत विश्लेषण के माध्यम से, यह अद्वितीय लाभों के साथ एक ट्रेडिंग प्रणाली प्राप्त करता है।
मूल तर्क बोलिंगर बैंड की सीमाओं के निरंतर मूल्य स्पर्श की पहचान करने के लिए एक गिनती तंत्र पर निर्भर करता है। जब कीमत लगातार तीन बार निचले बैंड से नीचे टूटती है, तो सिस्टम एक लंबा संकेत उत्पन्न करता है, और जब कीमत लगातार तीन बार ऊपरी बैंड से ऊपर टूटती है, तो एक छोटा संकेत। यह तंत्र प्रभावी रूप से झूठे ब्रेकआउट को फ़िल्टर करता है, जिससे ट्रेडिंग विश्वसनीयता में सुधार होता है। रणनीति मध्य बैंड (20-अवधि चलती औसत) को एक निकास संकेत के रूप में उपयोग करती है, जब कीमत मध्य बैंड में लौटती है तो ट्रेडों को पूरा करती है। यह डिजाइन ट्रेंड कैप्चर और समय पर लाभ लेने दोनों को सुनिश्चित करता है।
यह रणनीति एक अत्यधिक विश्वसनीय ट्रेंड-फॉलोइंग दृष्टिकोण को लागू करके पारंपरिक बोलिंगर बैंड्स ट्रेडिंग सिस्टम पर सुधार करती है। इसका अद्वितीय ट्रिपल-टच पुष्टिकरण तंत्र प्रभावी रूप से जीत की दरों को बढ़ाता है, जबकि चलती औसत-आधारित निकास तंत्र एक तर्कसंगत लाभ लेने का समाधान प्रदान करता है। हालांकि अंतर्निहित जोखिम मौजूद हैं, सुझाए गए अनुकूलन दिशाएं रणनीति स्थिरता और लाभप्रदता को और बढ़ा सकती हैं।
/*backtest start: 2024-11-10 00:00:00 end: 2024-12-09 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("Bollinger Bands Strategy - 3 Crossings", overlay=true) // Input Parameters length = input.int(20, title="Bollinger Bands Length", minval=1) src = input(close, title="Source") mult = input.float(2.0, title="Multiplier", step=0.1) // Calculate Bollinger Bands basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plotBasis = plot(basis, color=color.blue, title="Basis") plotUpper = plot(upper, color=color.red, title="Upper Band") plotLower = plot(lower, color=color.green, title="Lower Band") fill(plot1=plotUpper, plot2=plotLower, color=color.new(color.blue, 90), title="Band Fill") // Counter Variables var int longCrossCount = 0 var int shortCrossCount = 0 // Detect Crossings longCondition = close < lower // Price closes below the lower band shortCondition = close > upper // Price closes above the upper band if longCondition longCrossCount += 1 // Increment the counter for long shortCrossCount := 0 // Reset the short counter if shortCondition shortCrossCount += 1 // Increment the counter for short longCrossCount := 0 // Reset the long counter if not longCondition and not shortCondition longCrossCount := 0 // Reset if no crossing shortCrossCount := 0 // Entry and Exit Rules if longCrossCount >= 3 and strategy.position_size <= 0 strategy.entry("Long", strategy.long) longCrossCount := 0 // Reset the counter after entering if shortCrossCount >= 3 and strategy.position_size >= 0 strategy.entry("Short", strategy.short) shortCrossCount := 0 // Reset the counter after entering // Exit Condition (When Price Returns to the Middle Band) exitCondition = ta.crossover(src, basis) or ta.crossunder(src, basis) if exitCondition and strategy.position_size > 0 strategy.close("Long") if exitCondition and strategy.position_size < 0 strategy.close("Short")