यह बोलिंगर बैंड्स पर आधारित गति ट्रैकिंग रणनीति है। यह बाजार के रुझानों और उलट बिंदुओं का न्याय करने के लिए बोलिंगर बैंड्स को जोड़ती है, और बाजार के उतार-चढ़ाव को ट्रैक करने के लिए लंबी और छोटी स्थिति निर्धारित करती है।
इस रणनीति का मुख्य संकेतक बोलिंगर बैंड है, जिसमें मध्य बैंड, ऊपरी बैंड और निचला बैंड शामिल हैं। मध्य बैंड n दिनों का चलती औसत है, और ऊपरी और निचले बैंड मध्य बैंड प्लस / माइनस मानक विचलन के ऑफसेट हैं। जब कीमत ऊपरी / निचले बैंड के करीब आती है, तो इसे ओवरबॉट / ओवरसोल्ड का संकेत माना जाता है। रणनीति में ट्रेन्ड विचलन को खोलने की स्थिति के आधार के रूप में शामिल किया गया है, यानी खोलने की स्थिति जब कीमत विपरीत दिशा में मध्य बैंड के माध्यम से टूटती है। झूठे ब्रेकआउट के कारण होने वाले नुकसान को रोकने के लिए, रणनीति के लिए आवश्यक है कि ब्रेकआउट की चौड़ाई औसत से अधिक हो। समापन शर्त यह है कि मध्य बैंड के माध्यम से तोड़ने के बाद कीमत वापस घूमती है।
इस रणनीति में विभिन्न ट्रेडिंग अवसरों के अनुरूप ट्रेंड-फॉलोइंग एंट्री और औसत-रिवर्स एंट्री दोनों शामिल हैं। ट्रेंड-फॉलोइंग एंट्री के लिए मध्य बैंड को सपोर्ट/रेसिस्टेंस रेफरेंस होना आवश्यक है और विचलन ब्रेकआउट बनाते हैं। औसत-रिवर्स एंट्री सीधे ऊपरी/निम्न बोलिंगर बैंड के पास उलट जाती है। रणनीति इन दो प्रकार के संकेतों को जोड़ती है और ट्रेंड ट्रैकिंग और रिवर्स ऑपरेशन दोनों ले सकती है।
यह रणनीति बोलिंगर बैंड्स की ओवरबॉट/ओवरसोल्ड विशेषताओं को रिवर्स पॉइंट जजमेंट के साथ जोड़ती है। यह इसे विभिन्न प्रकार के ट्रेडिंग अवसरों को पकड़ते हुए, ट्रेंडिंग और रेंजिंग दोनों बाजारों पर लागू करने में सक्षम बनाता है। स्टॉप लॉस एक्जिट सेटिंग नुकसान के विस्तार से रोकती है। इसके अलावा, लंबी और छोटी दोनों ट्रेडिंग करने की क्षमता रणनीति की प्रयोज्यता को बढ़ाती है।
सरल बोलिंगर रणनीतियों की तुलना में, अतिरिक्त प्रवृत्ति तर्क इस रणनीति के प्रविष्टियों को अधिक स्थिर बनाता है, और यह उलट अवसरों को भी पकड़ता है। इससे संकेत-शोर अनुपात में सुधार होता है। इसके अलावा, दोनों दिशाओं में व्यापार विभिन्न बाजार स्थितियों में व्यापारिक अवसरों का अधिक पूरी तरह से उपयोग करता है।
यह रणनीति मुख्य रूप से बोलिंगर बैंड्स की ओवरबॉट / ओवरसोल्ड विशेषताओं पर निर्भर करती है। इसलिए जब चरम मूल्य उतार-चढ़ाव होता है, तो बोलिंगर बैंड्स की चौड़ाई विस्तार करती रहती है, जिससे आसानी से कई खोने वाले ट्रेडों का कारण बन सकता है। यह एक संभावित जोखिम बिंदु है। इसके अलावा, रिवर्सल निर्णयों में अभी भी कुछ अनिश्चितताएं और त्रुटियां हैं, जिससे असफल प्रविष्टियां और स्टॉप हो सकते हैं।
बोलिंगर बैंड की विफलता के खिलाफ, हम बैंड को अधिक संवेदनशील बनाने के लिए पैरामीटर एन को छोटा कर सकते हैं, या नुकसान की संभावना को कम करने के लिए बैंड चौड़ाई को कम कर सकते हैं। उल्टा वक्र निर्णयों के लिए, ब्रेकआउट के मापदंडों का अनुकूलन त्रुटियों को कम कर सकता है।
इस रणनीति को अनुकूलित करने के मुख्य दिशाओं में निम्नलिखित शामिल हैंः
यह रणनीति मानक बोलिंगर रणनीतियों के लिए प्रभावी विस्तार और अनुकूलन करती है। जोड़ा गया प्रवृत्ति विचलन स्थिरता में सुधार करता है और उलट अवसरों का अच्छी तरह से उपयोग करता है। दोनों दिशाओं में व्यापार करने और हानि को रोकने की क्षमता भी रणनीति को अधिक मजबूत बनाती है। पैरामीटर अनुकूलन और अधिक फ़िल्टर जोड़ने के माध्यम से और सुधार प्राप्त किए जा सकते हैं।
/*backtest start: 2023-11-20 00:00:00 end: 2023-11-27 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 strategy("Noro's Bollinger Strategy v1.3", shorttitle = "Bollinger str 1.3", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length") mult = input(2.0, defval = 2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult") source = input(ohlc4, defval = ohlc4, title = "Bollinger Source") uset = input(true, defval = true, title = "Use trend entry") usect = input(true, defval = true, title = "Use counter-trend entry") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") showbands = input(true, defval = true, title = "Show Bollinger Bands") //Bollinger Bands basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev //Lines col = showbands ? black : na plot(upper, linewidth = 1, color = col) plot(basis, linewidth = 1, color = col) plot(lower, linewidth = 1, color = col) //Body body = abs(close - open) abody = ema(body, 30) //Signals bar = close > open ? 1 : close < open ? -1 : 0 up1 = bar == -1 and ohlc4 >= basis and ohlc4 < upper and (close < strategy.position_avg_price or strategy.position_size == 0) and uset dn1 = bar == 1 and ohlc4 <= basis and ohlc4 > lower and (close > strategy.position_avg_price or strategy.position_size == 0) and uset up2 = close <= lower and usect dn2 = close >= upper and usect exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2 //Trading if up1 or up2 strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 or dn2 strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) or exit strategy.close_all()