यह रणनीति बोलिंगर बैंड्स पर आधारित एक दो-ट्रैक ब्रेकथ्रू ट्रेडिंग रणनीति है। यह बोलिंगर बैंड्स के ऊपरी और निचले रेल का उपयोग खरीद और बिक्री संकेतों के रूप में करता है, और जोखिमों को नियंत्रित करने के लिए एक स्टॉप लॉस बिंदु निर्धारित करता है।
रणनीति बोलिंगर बैंड के ऊपरी और निचले रेल का उपयोग करती है। बोलिंगर बैंड में एक चलती औसत और दो मानक विचलन चैनल होते हैं। जब कीमत बोलिंगर बैंड के ऊपरी रेल को छूती है या तोड़ती है तो एक बिक्री संकेत उत्पन्न होता है; जब कीमत बोलिंगर बैंड के निचले रेल को छूती है या तोड़ती है तो एक खरीद संकेत उत्पन्न होता है। इसके अलावा, रणनीति एक स्टॉप लॉस बिंदु भी निर्धारित करती है। जब कीमत चलती औसत के एक निश्चित प्रतिशत से कम होती है, तो स्टॉप लॉस की पहचान की जाएगी।
विशेष रूप से, रणनीति बोलिंगर बैंड्स को प्लॉट करने के लिए निर्दिष्ट चक्र (जैसे 20 दिन) के दो बार चलती औसत और मानक विचलन की गणना करती है। ऊपरी रेल चलती औसत प्लस दो बार मानक विचलन है, और निचली रेल चलती औसत माइनस दो बार मानक विचलन है। जब समापन मूल्य ऊपरी रेल से अधिक या बराबर होता है, तो एक बिक्री संकेत जारी किया जाता है; जब समापन मूल्य निचले रेल से कम या बराबर होता है, तो एक खरीद संकेत जारी किया जाता है। इसके अलावा, यदि कीमत चलती औसत के एक निश्चित प्रतिशत (जैसे 1%) से कम है, तो एक स्टॉप लॉस संकेत जारी किया जाता है।
यह रणनीति असामान्य मूल्य उतार-चढ़ाव होने पर ट्रेडिंग सिग्नल जारी करने के लिए बोलिंगर बैंड की विशेषताओं का उपयोग करती है, इस प्रकार मूल्य उलट के अवसरों को पकड़ती है। सरल चलती औसत ट्रैकिंग रणनीतियों की तुलना में, यह रणनीति अस्थिरता बढ़ने पर ट्रेडिंग सिग्नल उत्पन्न कर सकती है, कुछ हद तक झूठे ब्रेकआउट के जोखिम से बचती है।
सरल दो-ट्रैक सफलता रणनीतियों की तुलना में, यह रणनीति एक स्टॉप-लॉस तंत्र जोड़ती है। यह व्यक्तिगत गलत संकेतों के कारण होने वाले नुकसान को प्रभावी ढंग से नियंत्रित कर सकती है। स्टॉप-लॉस बिंदु की सेटिंग भी अपेक्षाकृत उचित है, मूविंग एवरेज के करीब है, अत्यधिक स्टॉप-लॉस से बचने के लिए बहुत अधिक नुकसान का कारण बनता है।
इस रणनीति का सबसे बड़ा जोखिम यह है कि बोलिंगर बैंड्स स्वयं ट्रेडिंग सिग्नल की वैधता की गारंटी नहीं दे सकते हैं। जब बाजार में विशेष स्थितियां होती हैं, तो कीमतें तेजी से और असामान्य रूप से उतार-चढ़ाव कर सकती हैं, इस मामले में बोलिंगर बैंड्स द्वारा जारी किए गए ट्रेडिंग सिग्नल गलत हो सकते हैं। इससे काफी नुकसान होने की संभावना है।
इसके अलावा, स्टॉप लॉस पॉइंट्स की सेटिंग भी बहुत आक्रामक या रूढ़िवादी हो सकती है, जो अंतिम आय को प्रभावित करेगी। यदि स्टॉप लॉस रेंज बहुत बड़ी है, तो वैध संकेतों को अक्सर स्टॉप लॉस किया जा सकता है; यदि स्टॉप लॉस रेंज बहुत छोटी है, तो यह प्रभावी रूप से नुकसान को नियंत्रित नहीं कर सकती है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
इष्टतम मापदंडों को खोजने के लिए विभिन्न मापदंड संयोजनों का परीक्षण करें, जैसे कि चलती औसत चक्र, मानक विचलन गुणक, स्टॉप लॉस प्रतिशत आदि के विभिन्न मान;
गलत संकेतों से बचने के लिए अन्य संकेतकों को बढ़ाएं और कई फिल्टर स्थितियों का आकलन करें।
स्टॉप लॉस रणनीतियों को अनुकूलित करें, जैसे कि सरल स्टॉप लॉस के बजाय चलती स्टॉप लॉस, बैच स्टॉप लॉस का उपयोग करना;
फंसने से बचने के लिए विभिन्न समय चक्रों के बोलिंगर बैंड को मिलाकर ट्रेडिंग संकेतों की पुष्टि करें।
कुल मिलाकर, यह रणनीति ट्रेंड ट्रैकिंग और ड्यूल-ट्रैक ब्रेकथ्रू रणनीति का एक व्यावहारिक संयोजन है। यह मूल्य उतार-चढ़ाव बढ़ने पर उलटफेर के अवसरों को जब्त कर सकती है, और जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस सेट कर सकती है। पैरामीटर अनुकूलन, बढ़ी हुई सिग्नल फ़िल्टरिंग, अनुकूलित स्टॉप लॉस रणनीतियों आदि के माध्यम से, रणनीति की स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है।
/*backtest start: 2024-01-28 00:00:00 end: 2024-02-04 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Strategy by Royce Mars", overlay=true) length = input.int(20, minval=1) maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") stopLossPercent = input.float(1.0, title="Stop Loss Percent", minval=0.1, maxval=10, step=0.1) ma(source, length, _type) => switch _type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) basis = ma(src, length, maType) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Buy and Sell Conditions buyCondition = close <= lower sellCondition = close >= upper // Stop Loss Condition stopLossCondition = close < basis * (1 - stopLossPercent / 100) // Strategy Execution strategy.entry("Buy", strategy.long, when=buyCondition) strategy.close("Buy", when=sellCondition or stopLossCondition) strategy.entry("Sell", strategy.short, when=sellCondition) strategy.close("Sell", when=buyCondition) // Plotting on the Chart plotshape(buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(sellCondition or stopLossCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar) // Plotting the Bollinger Bands plot(basis, "Basis", color=color.orange) p1 = plot(upper, "Upper Band", color=color.blue) p2 = plot(lower, "Lower Band", color=color.blue) fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))