यह रणनीति बोलिंगर बैंड्स संकेतक पर आधारित है। जब कीमत निचले बैंड से ऊपर टूटती है और जब कीमत ऊपरी बैंड को छूती है तो यह स्थिति को बंद कर देती है। यह रणनीति कम खरीदने और उच्च बेचने के लिए असामान्य मूल्य ब्रेकआउट को ट्रैक करने के लिए बोलिंगर बैंड्स के नियंत्रण सिद्धांत का उपयोग करती है।
मध्य बैंड एसएमए की गणना हाल की समापन कीमतों के सरल चलती औसत के रूप में की जाती है।
मूल्य उतार-चढ़ाव के दायरे को प्रतिबिंबित करने के लिए मानक विचलन StdDev की गणना करें।
ऊपरी बैंड प्राप्त करने के लिए मध्य बैंड SMA में मानक विचलन के ऊपरी ऑफसेट को जोड़ें।
निम्न बैंड प्राप्त करने के लिए मध्य बैंड SMA से मानक विचलन के निचले ऑफसेट को घटाएं।
जब समापन मूल्य नीचे से ऊपर की ओर नीचे के बैंड से ऊपर टूट जाता है तो लंबा करें।
स्थिति को बंद करें जब कीमत ऊपरी बैंड को छूती है, क्योंकि कीमत को असामान्य माना जाता है।
इस रणनीति का सबसे बड़ा लाभ असामान्य बाजार उतार-चढ़ाव और रुझानों को प्रभावी ढंग से ट्रैक करने के लिए बोलिंगर बैंड के सांख्यिकीय गुणों का उपयोग करना है। नियमित चलती औसत रणनीतियों की तुलना में, बोलिंगर बैंड रणनीतियों के अधिक फायदे हैंः
बोलिंगर बैंड्स ऊपरी और निचले बैंड स्वचालित रूप से बाजार की अस्थिरता के अनुकूल हो सकते हैं।
Breakout सिग्नल प्रवेश के लिए अधिक विश्वसनीय हैं।
लाभ लेने के लिए अर्थ में प्रतिवर्तन करना उचित है।
विभिन्न बाजारों में समायोजित करने के लिए विशाल पैरामीटर ट्यूनिंग स्पेस।
मध्यम से दीर्घकालिक रुझानों को पकड़ सकता है और अल्पकालिक के लिए भी इस्तेमाल किया जा सकता है।
इस रणनीति के संभावित जोखिम मुख्यतः निम्नलिखित हैंः
रेंज-बाउंड बाजारों में बोलिंगर बैंड का खराब प्रदर्शन, गलत प्रविष्टियों से बचें।
ब्रेकआउट सिग्नल झूठे ब्रेकआउट हो सकते हैं, सावधानीपूर्वक निर्णय लेने की आवश्यकता होती है।
लाभ लेने की स्थिति बहुत आदर्श है, वास्तविक मूल्य कार्रवाई के लिए अनुकूलित किया जा सकता है।
अनुचित पैरामीटर सेटिंग्स से अत्यधिक व्यापार या अति-संरक्षणवाद हो सकता है।
बैकटेस्ट अवधि पर्याप्त लंबी होनी चाहिए ताकि वक्र फिट होने से बचा जा सके।
संबंधित जोखिम प्रबंधन उपाय:
संकेतों को फ़िल्टर करने के लिए ट्रेडिंग वॉल्यूम संकेतक जोड़ें।
विभिन्न बाजारों से मापदंडों और परीक्षण डेटा का अनुकूलन करें।
पीछे स्टॉप हानि जोड़ें, लाभ लेने के स्तरों को हिलाओ।
सिग्नल विचलन का आकलन करें, ऊंचाइयों का पीछा करने और नीचाइयों को बेचने से बचें।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
इष्टतम खोजने के लिए बोलिंगर बैंड्स मापदंडों के विभिन्न संयोजनों का प्रयास करें।
ब्रेकआउट संकेतों को फ़िल्टर करने के लिए एमए, एमएसीडी आदि जोड़ें।
बोलिंगर मापदंडों को अनुकूलित करने के लिए मशीन लर्निंग एल्गोरिदम लागू करें।
ब्रेकआउट की ताकत का आकलन करें और स्थिति आकार को समायोजित करें।
स्थिरता का परीक्षण करने के लिए लंबी अवधि के बैकटेस्ट।
जोखिम को नियंत्रित करने के लिए स्टॉप लॉस तंत्र जोड़ें।
संक्षेप में, बोलिंगर बैंड्स रणनीति एक समग्र विश्वसनीय प्रवृत्ति के बाद की रणनीति है। यह असामान्य मूल्य उतार-चढ़ाव को प्रभावी ढंग से पकड़ सकती है। लेकिन हमें वास्तविक मूल्य से इसके विचलन को भी ध्यान में रखना चाहिए और लगातार मापदंडों को अनुकूलित करना चाहिए। यदि लाइव ट्रेडिंग के लिए उपयोग किया जाता है, तो प्रति व्यापार हानि को नियंत्रित करने के लिए सख्त जोखिम प्रबंधन आवश्यक है।
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-12 04:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="BB training No Repainting (OTS Mode)", overlay=true) // Strategy Rules: // 1. Enter trade when price crosses above the lower band // 2. Exit trade when price touches the upper band // // Chart Properties testStartYear = input(2010, "Backtest Start Year") testStartMonth = input(01, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0) testStopYear = input(2030, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? #6c6f6c : na bgcolor(testPeriodBackgroundColor, transp=97) // User provided values smaLength = input(title="SMA Length", type=input.integer, defval=20) // Middle band period length (moving average) stdLength = input(title="StdDev Length", type=input.integer, defval=20) // Range to apply bands to ubOffset = input(title="Upper Band Offset", type=input.float, defval=2.0, step=0.5) // Number of standard deviations above MA lbOffset = input(title="Lower Band Offset", type=input.float, defval=2.0, step=0.5) // Number of standard deviation below MA testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false smaValue = sma(close, smaLength) // Middle band stdDev = stdev(close, stdLength) upperBand = smaValue + stdDev * ubOffset // Top band lowerBand = smaValue - stdDev * lbOffset // Bottom band // Plot bands to chart plot(series=smaValue, title="SMA", color=color.green) plot(series=upperBand, title="UB", color=color.blue, linewidth=2) plot(series=lowerBand, title="LB", color=color.blue, linewidth=2) longCondition = (crossover(close, lowerBand)) closeLongCondition = (close >= upperBand) if (longCondition and testPeriod()) strategy.entry(id="CALL", long=true) strategy.close(id="CALL", when=closeLongCondition)