यह रणनीति बोलिंगर बैंड संकेतक के आधार पर चयन योग्य ऐतिहासिक दिनांक सीमाओं के साथ एक गतिशील बोलिंगर बैंड ट्रेडिंग रणनीति को लागू करती है। यह उपयोगकर्ताओं को बैकटेस्टिंग के लिए प्रारंभ और समाप्ति समय चुनने की अनुमति देती है, जिससे विभिन्न समय अवधि में गतिशील बोलिंगर बैंड रणनीति का बैकटेस्टिंग और तुलना संभव हो जाती है।
इस रणनीति का नाम
इस रणनीति का मूल सिद्धांत बोलिंगर बैंड संकेतक के गतिशील ऊपरी और निचले रेल के आधार पर ट्रेडिंग सिग्नल उत्पन्न करना है। बोलिंगर बैंड का मध्य रेल एन-दिवसीय सरल चलती औसत है, जबकि ऊपरी और निचले रेल क्रमशः मध्य रेल प्लस और माइनस एम बार एन-दिवसीय मानक विचलन हैं। जब कीमत निचली रेल के माध्यम से टूटती है, तो लंबी; जब कीमत ऊपरी रेल को तोड़ती है, तो छोटी जाती है।
इस रणनीति की एक और मुख्य विशेषता उपयोगकर्ताओं को बैकटेस्टिंग समय सीमा का चयन करने की अनुमति दे रही है। रणनीति कई आयामों में जैसे महीने, दिन, वर्ष, घंटे, मिनट, आदि में बैकटेस्टिंग के लिए प्रारंभ और अंत समय का चयन करने के लिए इनपुट मापदंड प्रदान करती है। यह उपयोगकर्ताओं को रणनीति को बैकटेस्ट और मान्य करने के लिए विभिन्न ऐतिहासिक समय अवधि चुनने में सक्षम बनाता है, जिससे अधिक व्यापक और गतिशील रणनीति विश्लेषण प्राप्त होता है।
विशेष रूप से, यह रणनीति चयनित प्रारंभ और समाप्ति समय को टाइमस्टैम्प () फ़ंक्शन के माध्यम से टाइमस्टैम्प प्रारूप में परिवर्तित करती है, और फिर समय> = प्रारंभ और समय<= समाप्ति शर्तों के माध्यम से रणनीति की वैध बैकटेस्टिंग समय विंडो सेट करती है। यह गतिशील समय सीमा चयन फ़ंक्शन प्राप्त करता है।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह गतिशील बोलिंगर बैंड रणनीति को मनमाने समय सीमा चयन के साथ पूरी तरह से जोड़ती है। यह उपयोगकर्ताओं को अधिक लचीले और व्यापक तरीके से रणनीतियों का बैकटेस्ट और सत्यापन करने की अनुमति देता है। विशिष्ट लाभ हैंः
गतिशील बोलिंगर बैंड रणनीतियों को लागू करें जो प्रवृत्ति व्यापार के लिए बाजार के उतार-चढ़ाव के दौरान प्रवृत्ति उलट संकेतों को पकड़ सकें।
विभिन्न बाजार वातावरणों में रणनीति प्रदर्शन का विश्लेषण करने के लिए बैकटेस्टिंग के लिए मनमाने ऐतिहासिक समय सीमाओं का चयन करने का समर्थन, रणनीतियों के गतिशील अनुकूलन को प्राप्त करना।
बोलिंगर बैंड संकेतकों की अनुकूलन क्षमता के साथ संयुक्त, यह रणनीति बाजार की स्थितियों में व्यापक परिवर्तनों के अनुकूल पैरामीटर को स्वचालित रूप से समायोजित कर सकती है।
दीर्घकालिक और अल्पकालिक उपयोग के लिए समायोज्य मापदंड प्रदान करें ताकि उपयोगकर्ता रणनीतियों को अधिक व्यावहारिक बनाने के लिए अपनी आवश्यकताओं के अनुसार मापदंडों को अनुकूलित कर सकें।
अधिक विस्तृत रणनीति विश्लेषण के लिए उच्च सटीकता के साथ बैकटेस्टिंग के लिए विशिष्ट घंटों और मिनटों का चयन करने की अनुमति दें।
अच्छे उपयोगकर्ता अनुभव के लिए चीनी और अंग्रेजी भाषाओं का समर्थन करें।
इस रणनीति के मुख्य जोखिम बोलिंगर बैंड्स संकेतक की अनिश्चितता में निहित हैं। विशिष्ट जोखिम बिंदु हैंः
बोलिंगर बैंड्स सूचक स्वयं बाजार के उतार-चढ़ाव को पूरी तरह से निर्धारित नहीं करता है, और झूठे संकेत हो सकते हैं।
बोलिंगर बैंड्स मापदंडों का अनुचित चयन खराब रणनीति प्रदर्शन या यहां तक कि नुकसान का कारण बन सकता है।
विशेष बाजार स्थितियों में सूचक की विफलता की संभावना।
बैकटेस्ट की तिथि सीमा का अनुचित चयन कुछ महत्वपूर्ण बाजार स्थितियों को याद कर सकता है।
इन जोखिमों को नियंत्रित करने और सुधारने के लिए निम्नलिखित तरीकों का उपयोग किया जा सकता हैः
बोलिंगर बैंड मापदंडों को अनुकूलित करें और विभिन्न उत्पादों और समय अवधि के अनुकूल मध्य रेल के चक्र को समायोजित करें।
झूठे संकेतों को कम करने के लिए पुष्टि के लिए चलती औसत जैसे अन्य संकेतकों का प्रयोग करें।
रणनीति की मजबूती का आकलन करने के लिए अधिक बाजार समय अवधि का परीक्षण करें।
एकल हानि को नियंत्रित करने के लिए स्टॉप लॉस प्वाइंट सेट करें.
इस रणनीति को अनुकूलित करने के लिए कई मुख्य दिशाएं हैंः
बोलिंगर बैंड मापदंडों के गतिशील अनुकूलन को प्राप्त करने के लिए मशीन लर्निंग एल्गोरिदम को मिलाएं।
पैरामीटर स्थिरता का पूर्ण मूल्यांकन करने के लिए ब्रेक-बैक परीक्षण जैसी कार्यक्षमता बढ़ाएं।
लाभ में लॉक करने और जोखिम को कम करने के लिए स्टॉप लॉस को स्थानांतरित करने और स्टॉप लॉस को ट्रैक करने जैसे कार्य जोड़ें।
प्रवेश तर्क को अनुकूलित करें और अधिक पुष्टिकरण शर्तें निर्धारित करें जैसे कि व्यापारिक मात्रा में वृद्धि।
रणनीति के अनुप्रयोग के दायरे का विस्तार करने के लिए स्टॉक इंडेक्स वायदा मध्यस्थता जैसी रणनीतियों को मिलाएं।
बैकटेस्टिंग से लाइव ट्रेडिंग में संक्रमण के लिए ऑटो ट्रेड निष्पादन कार्य जोड़ें.
ये अनुकूलन रणनीति के व्यावहारिक प्रदर्शन और स्थिर लाभप्रदता में काफी सुधार कर सकते हैं।
इस रणनीति ने सफलतापूर्वक बोलिंगर बैंड रणनीति को मनमाने ऐतिहासिक समय सीमा चयन के साथ एकीकृत किया है। इस तरह का अत्यधिक लचीला और गतिशील बैकटेस्टिंग विश्लेषण उपयोगकर्ताओं को विभिन्न बाजार वातावरण में रणनीति मापदंडों को सटीक रूप से समायोजित और अनुकूलित करने में सक्षम बनाता है। प्रदान की गई विज़ुअलाइज़ेशन भी उपयोगकर्ता अनुभव में काफी सुधार करती है। यह अनुमानित है कि यह रणनीति उपयोगकर्ताओं को शक्तिशाली और कुशल मात्रात्मक ट्रेडिंग उपकरण प्रदान कर सकती है।
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("BB Range", shorttitle = "BB Range", overlay=true, max_bars_back=200) // Revision: 1 // Author: @allanster // === INPUT BACKTEST RANGE === FromMonth = input(defval = 7, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 20, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2019, title = "From Year", minval = 2017) FromHour = input(defval = 17, title = "From Hour", minval = 00) FromMinute = input(defval = 00, title = "From Minute", minval = 00) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) ToHour = input(defval = 23, title = "To Hour", minval = 00) ToMinute = input(defval = 59, title = "To Minute", minval = 00) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, FromHour, FromMinute) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, ToHour, ToMinute) // backtest finish window window() => true source = close length = input(20, minval=1) mult = input(2.0, minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev upper_stop = upper * 1.05 lower_stop = lower * 0.95 buyEntry = crossover(source, lower) sellEntry = crossunder(source, upper) if (crossover(source, lower)) strategy.entry("BBandLE", strategy.long, stop=lower_stop, when = window(), oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") if (crossunder(source, upper)) strategy.entry("BBandSE", strategy.short, stop=upper_stop, when=window(), oca_name="BollingerBands",comment="BBandSE") else strategy.cancel(id="BBandSE")