यह रणनीति व्यापार प्रणाली के बाद एक प्रवृत्ति का निर्माण करने के लिए हॉल मूविंग एवरेज संकेतक पर आधारित है। यह हॉल वक्रों की दिशा के आधार पर लंबा या छोटा जाने का निर्णय लेता है, जिससे यह एक विशिष्ट प्रवृत्ति पीछा रणनीति बन जाती है।
यह रणनीति मुख्य तकनीकी संकेतक के रूप में हॉल मूविंग एवरेज का उपयोग करती है। हॉल मूविंग एवरेज को अमेरिकी व्यापारी एलन हॉल ने 2005 में प्रस्तावित किया था। यह लेग को कम करने के लिए वर्गमूल फ़ंक्शन का उपयोग करके मूविंग एवरेज में सुधार करता है।
विशेष रूप से, हुल मूविंग एवरेज में दो औसत होते हैं - एक अवधि n का मूविंग एवरेज MA ((n) है, दूसरा अवधि n/2 का मूविंग एवरेज MA ((n/2) है। दोनों मूविंग एवरेज के बीच का अंतर हुल अंतर वक्र बनाता है। हुल अंतर वक्र के मूविंग एवरेज को लेने से ही हुल वक्र मिलता है।
जब हुल वक्र ऊपर की ओर झुकाव करता है, तो छोटी अवधि चलती औसत लंबी अवधि के ऊपर पार करती है, जो एक लंबा संकेत देती है। जब हुल वक्र नीचे की ओर झुकाव करती है, तो छोटी एमए लंबी एमए के नीचे पार करती है, जो एक छोटा संकेत देती है।
यह रणनीति हॉल वक्र की अवधि n को 16 पर सेट करती है। यह हॉल वक्र प्राप्त करने के लिए 8-अवधि एमए (एन / 2 = 8), 16-अवधि एमए, और उनके बीच के अंतर की गणना करती है। फिर यह हॉल वक्र के स्वयं के 4-अवधि एमए (एन = 4 का वर्गमूल) लेता है। जब हॉल वक्र ऊपर से पार होता है, तो यह लंबा हो जाता है। जब हॉल वक्र नीचे से पार होता है, तो यह छोटा हो जाता है।
साधारण चलती औसत की तुलना में, हुल चलती औसत के निम्नलिखित फायदे हैंः
स्क्वायर रूट फंक्शन का उपयोग करके, हुल वक्र मूल्य कार्रवाई को करीब से गले लगाता है और रुझान उलटने को पकड़ने के लिए तेज़ होता है।
गलत पारों को कम करता है. पारंपरिक एमए अधिक गलत पारों का उत्पादन करते हैं. हुल वक्र कुछ शोर को फ़िल्टर कर सकता है और अनावश्यक ट्रेडों से बच सकता है.
कम मापदंडों. हुल वक्र केवल एक पैरामीटर n की जरूरत है, अनुकूलन आसान बनाने. एक दोहरी एमए प्रणाली दो मापदंडों का अनुकूलन करने की जरूरत है.
कस्टमाइज करने योग्य. हुल वक्र के n मान को विभिन्न बाजारों के लिए समायोजित किया जा सकता है और विभिन्न उपकरणों के अनुरूप अनुकूलित किया जा सकता है।
प्रणालीगत: हुल प्रणाली मजबूत है और मैनुअल चयन से बचती है, मैकेनिकल ट्रेडिंग सिस्टम की स्थिरता का पालन करती है।
चलती औसत प्रणालियों के मुकाबले अपने लाभों के बावजूद, हुल प्रणाली में अभी भी निम्नलिखित जोखिम हैं:
प्रवृत्ति का पालन करने की सीमाएँ. प्रवृत्ति का पीछा करने की रणनीति के रूप में, हॉल सिस्टम तेजी से प्रवृत्ति परिवर्तनों के दौरान बंद होने के लिए प्रवण हैं.
ओवरट्रेडिंग की संभावनाः हुल वक्रों की तेजी से प्रतिक्रिया से ट्रेडिंग की आवृत्ति बढ़ सकती है और ओवरट्रेडिंग हो सकती है।
मापदंडों का अति अनुकूलन. केवल एक मापदंड n होने से अति अनुकूलन से वक्र फिट जोखिम हो सकता है.
विभिन्न साधनों के बीच प्रभावशीलता भिन्न होती है। उच्च अस्थिरता वाले साधनों के लिए हुल प्रणाली कम अच्छी तरह से काम करती है। मापदंडों को तदनुसार समायोजित करने की आवश्यकता है।
उपरोक्त सीमाओं के आधार पर, हुल चलती औसत रणनीति में निम्नलिखित पहलुओं में सुधार किया जा सकता हैः
झूठे क्रॉस से बचने के लिए अतिरिक्त संकेतकों के साथ फ़िल्टर जोड़ें। एमएसीडी, केडी आदि प्रवृत्ति को मापने में मदद कर सकते हैं।
एकल व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस रणनीतियों को जोड़ें, उदाहरण के लिए ट्रेलिंग स्टॉप या लाभ स्टॉप के साथ।
ओवर-ऑप्टिमाइजेशन को रोकने के लिए पैरामीटर n चयन को अनुकूलित करें। रोलिंग अनुकूलन के लिए वाक फॉरवर्ड विश्लेषण का उपयोग किया जा सकता है।
गतिशील रूप से पैरामीटर मूल्यों का अनुकूलन करने के लिए आरएनएन जैसे मशीन लर्निंग मॉडल का उपयोग करें।
मशीन लर्निंग फिटिंग का उपयोग करके अलग-अलग उपकरणों के लिए मापदंडों का अनुकूलन करें।
कम व्यापार आवृत्ति के लिए स्थिति आकार अनुकूलित करें। फिक्स्ड अंश स्थिति आकार मदद कर सकते हैं।
हुल मूविंग एवरेज रणनीति एक विशिष्ट प्रवृत्ति के बाद की रणनीति है। एमए के मुकाबले इसके फायदे के बावजूद, यह अभी भी ओवर-ऑप्टिमाइजेशन और ओवरट्रेडिंग जैसे मुद्दों का सामना करता है। हम पैरामीटर अनुकूलन, स्टॉप लॉस, स्थिति आकार आदि के माध्यम से रणनीति में सुधार कर सकते हैं। हुल प्रणाली सरल और व्यावहारिक है। यह एक मजबूत ट्रेडिंग प्रणाली बनाने के लिए अधिक संकेतकों और तकनीकों को शामिल करके आगे के शोध और सुधार का हकदार है।
/*backtest start: 2023-10-25 00:00:00 end: 2023-11-01 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 strategy(title = "Noro's HullMA Strategy", shorttitle = "HullMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") n = input(title = "HullMA period", defval=16) 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") //HullMA n2ma=2*wma(close,round(n/2)) nma=wma(close,n) diff=n2ma-nma sqn=round(sqrt(n)) n2ma1=2*wma(close[1],round(n/2)) nma1=wma(close[1],n) diff1=n2ma1-nma1 sqn1=round(sqrt(n)) n1=wma(diff,sqn) n2=wma(diff1,sqn) c=n1>n2?green:red ma=plot(n1,color=c) //Trading lot = 0.0 lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1] if n1 > n2 strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if n1 < n2 strategy.entry("Short", strategy.short, needshort == false ? 0 : lot) if true strategy.close_all()