यह रणनीति बोलिंगर बैंड्स की अवधारणा पर आधारित है, मूल्य चैनल के लिए ऊपरी और निचले रेल सेट करना और ट्रेंड जजमेंट और ट्रेड सिग्नल जनरेशन के लिए उनका उपयोग करना। विशेष रूप से, यह चैनल बैंडविड्थ के रूप में कीमत के औसत पूर्ण विचलन की गणना करता है। चैनल की मध्य रेल कीमत का सरल चलती औसत है, और ऊपरी और निचली रेल चैनल बैंडविड्थ के 1 या माइनस 2 गुना मध्य रेल हैं। जब कीमत ऊपरी रेल के माध्यम से टूटती है, तो लंबी हो जाती है। जब यह निचली रेल के माध्यम से टूटती है, तो छोटी हो जाती है।
इस रणनीति के मुख्य बिंदुओं में निम्नलिखित शामिल हैंः
मूल्य के मध्य रेल की गणना करें, जो मूल्य का सरल चलती औसत है।
चैनल बैंडविड्थ के रूप में मूल्य के पूर्ण विचलन का सरल चलती औसत की गणना करें।
मध्य रेल और बैंडविड्थ के अनुसार ऊपरी और निचली रेल निर्धारित करें। ऊपरी रेल मध्य रेल प्लस 1 या 2 बार बैंडविड्थ है। निचली रेल मध्य रेल माइनस 1 या 2 बार बैंडविड्थ है।
लंबे और छोटे के लिए प्रवृत्ति निर्णय संकेतक की गणना करें। जब कीमत ऊपरी रेल 2 से ऊपर होती है, तो यह लंबी होती है। जब कीमत निचली रेल 2 से नीचे होती है, तो यह छोटी होती है।
ट्रेडिंग सिग्नल उत्पन्न करें. जब कीमत ऊपरी रेल 2 के ऊपर पार करती है, तो लंबी हो जाती है. जब यह निचली रेल 2 के नीचे पार करती है, तो छोटी हो जाती है.
स्टॉप लॉस लाइन सेट करें. लंबे ऑर्डर के लिए स्टॉप लॉस लाइन निचली रेल 1 है, और छोटे ऑर्डर के लिए यह ऊपरी रेल 1 है.
पूंजी प्रबंधन आवश्यकताओं के अनुसार स्थिति के आकार की गणना करें।
रणनीति में रुझानों को आंकने के लिए चलती औसत, ओवरबॉट और ओवरसोल्ड को आंकने के लिए बोलिंगर बैंड्स और रिवर्स करने के लिए ब्रेकआउट का उपयोग करने के विचार शामिल हैं। डबल रेल के बीच अंतर का उपयोग रुझान की ताकत का आकलन करने के लिए किया जाता है, जबकि बोलिंगर बैंड्स के प्रतिगमन फ़ंक्शन का उपयोग अपेक्षाकृत स्थिर ट्रेडिंग प्रणाली बनाने के लिए किया जाता है।
इस रणनीति के मुख्य लाभ इस प्रकार हैंः
डबल-रेल प्रणाली प्रवृत्ति की ताकत का बेहतर आकलन कर सकती है।
बोलिंगर बैंड्स में झूठे ब्रेकआउट से प्रभावी ढंग से बचने के लिए एक मजबूत प्रतिगमन कार्य होता है।
दोहरी रेलों के बीच का अंतर बोलिंगर बैंड्स के प्रतिगमन के साथ मिलकर अपेक्षाकृत स्थिर ट्रेडिंग सिग्नल बनाता है।
जोखिमों को नियंत्रित करने के लिए एक स्पष्ट स्टॉप लॉस/एक्जिट लॉजिक है।
स्थिति का आकार पूंजी प्रबंधन की आवश्यकताओं का पालन करता है, सुपर लीवरेज से बचता है।
रणनीति का विचार स्पष्ट और समझने और अनुकूलित करने में आसान है।
लचीली पैरामीटर सेटिंग्स इसे विभिन्न बाजारों के लिए अनुकूलन योग्य बनाती हैं।
इस रणनीति में कुछ जोखिम भी हैं:
अनुचित बोलिंगर बैंड्स मापदंडों के कारण दरों को प्रभावी ढंग से ट्रैक करने में विफल रहने के कारण ड्रैचिंग प्रभाव हो सकते हैं।
दोहरी रेलों के बीच का अंतर गलत रुझानों से पूरी तरह बच नहीं सकता।
यह रेंज-बाउंड बाजारों में अधिक अमान्य संकेत उत्पन्न कर सकता है।
झूठे ब्रेकआउट की स्थिति में नुकसान हो सकता है।
कुछ समय का विलंब है, संभवतः चक्र के मोड़ के बिंदु गायब हैं।
जोखिम/लाभ अनुपात स्टॉप लॉस बिंदु द्वारा सीमित है, जो असीमित रूप से रुझानों का पीछा करने में असमर्थ है।
संबंधित जोखिम प्रबंधन उपाय:
बोलिंगर बैंड को विभिन्न चक्रों के अनुकूल बनाने के लिए मापदंडों का अनुकूलन करना।
गलत आकलन से बचने के लिए पुष्टि के लिए अन्य संकेतकों को मिलाएं।
एकल हानि को नियंत्रित करने के लिए स्थिति का आकार कम करें।
जोखिम/लाभ अनुपात सुनिश्चित करने के लिए स्टॉप लॉस बिंदुओं को अनुकूलित करें।
देरी को कम करने के लिए चक्र को उचित रूप से छोटा करें।
जोखिम नियंत्रण मजबूत होना चाहिए, कोई असीमित पीछा नहीं।
इस रणनीति को निम्नलिखित दिशाओं में अनुकूलित किया जा सकता हैः
बेहतर मूल्य ट्रैकिंग के लिए बोलिंगर बैंड्स मापदंडों को अनुकूलित करें। अनुकूलन मापदंडों को पेश किया जा सकता है।
ईएमए, डीडब्ल्यूएमए, आदि जैसे विभिन्न चलती औसत का प्रयास करें।
रेंज-बाउंड बाजारों में ट्रेडिंग से बचने के लिए ट्रेंड फिल्टरिंग जोड़ें। एमएसीडी पर विचार किया जा सकता है।
अधिक रुझान लाभ प्राप्त करने के लिए आक्रामक निकास विधियों को जोड़ें। ट्रेलिंग स्टॉप लॉस, निकास संकेत आदि पर विचार किया जा सकता है।
विभिन्न बाजार स्थितियों के लिए उपयुक्त संयोजन के लिए कई समय सीमाएं लागू करें।
झूठे ब्रेकआउट से बचने के लिए वॉल्यूम में वृद्धि जैसी अतिरिक्त शर्तें जोड़ें।
रिवर्स बोलिंगर बैंड्स पर विचार करें, ऊपरी बैंड बेचें, निचले बैंड खरीदें।
सर्वोत्तम पैरामीटर संयोजनों के लिए पैरामीटर अनुकूलन करें.
इस रणनीति का समग्र विचार स्पष्ट और स्थिर है। परिमिति अनुकूलन, तर्क वृद्धि, जोखिम प्रबंधन आदि के माध्यम से इसे और अधिक परिष्कृत करने के लिए इसे एक बहुत ही व्यावहारिक मात्रात्मक व्यापार रणनीति में सुधार करने के लिए सुधार की जगह भी है। रणनीति मात्रात्मक व्यापार में शुरुआती लोगों के लिए एक अच्छा संदर्भ प्रदान करती है।
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © noro //@version=4 strategy(title = "Noro's Bands Strategy", shorttitle = "Bands", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1) //Sattings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") len = input(20, defval = 20, minval = 1, maxval = 1000, title = "Length") src = input(ohlc4, title = "Source") showbb = input(true, title = "Show Bands") showof = input(true, title = "Show Offset") showbg = input(false, title = "Show Background") fromyear = input(1900, defval = 1900, 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") //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //Distance dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma hd2 = center + distsma * 2 ld2 = center - distsma * 2 //Trend trend = 0 trend := high > hd2 ? 1 : low < ld2 ? -1 : trend[1] bgcol = showbg == false ? na : trend == 1 ? color.lime : color.red bgcolor(bgcol, transp = 70) //Lines colo = showbb == false ? na : color.black offset = showof ? 1 : 0 plot(hd2, color = colo, linewidth = 1, transp = 0, offset = offset, title = "High band 2") plot(hd, color = colo, linewidth = 1, transp = 0, offset = offset, title = "High band 1") plot(center, color = colo, linewidth = 1, transp = 0, offset = offset, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, offset = offset, title = "Low band 1") plot(ld2, color = colo, linewidth = 1, transp = 0, offset = offset, title = "Low band 2") //Trading size = strategy.position_size needstop = needlong == false or needshort == false truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59) lot = 0.0 lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1] if distsma > 0 strategy.entry("Long", strategy.long, lot, stop = hd2, when = truetime and needlong) strategy.entry("Short", strategy.short, lot, stop = ld2, when = truetime and needshort) sl = size > 0 ? ld2 : size < 0 ? hd2 : na if size > 0 and needstop strategy.exit("Stop Long", "Long", stop = sl) if size < 0 and needstop strategy.exit("Stop Short", "Short", stop = sl) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all() strategy.cancel("Long") strategy.cancel("Short")