यह रणनीति हल्ल मूविंग एवरेज इंडिकेटर पर आधारित एक अल्पकालिक ट्रेडिंग रणनीति है। यह रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए हल्ल मूविंग एवरेज लाइनों के स्वर्ण क्रॉस और मृत क्रॉस का उपयोग करती है, जो एक प्रवृत्ति-अनुसरण रणनीति से संबंधित है।
यह रणनीति मुख्य रूप से हुल मूविंग एवरेज संकेतक पर आधारित है। हुल मूविंग एवरेज लाइन में दो मूविंग एवरेज होते हैं। सबसे पहले यह मूल्य की मध्यम मूविंग एवरेज लाइन nma की गणना करता है, जिसमें हुल पीरियड की अवधि होती है। फिर यह फास्ट मूविंग एवरेज लाइन n2ma की गणना करता है, जिसमें nma
कुछ झूठे संकेतों को फ़िल्टर करने के लिए, रणनीति हॉल लाइन (Hull_Line) भी पेश करती है। हॉल लाइन nma और n2ma के बीच अंतर का एक रैखिक प्रतिगमन परिणाम है। जब कीमत और हॉल लाइन के बीच विचलन होता है, तो रणनीति ट्रेडिंग संकेत को छोड़ देगी।
विशेष रूप से, रणनीति के नियम इस प्रकार हैंः
अवधि के साथ nma की गणना करें
nma अवधि के आधे अवधि के साथ n2ma की गणना
n2ma और nma के बीच अंतर अंतर की गणना करें
Moving average the diff with period sqrt ((hullperiod), मिलता है और मिलता है Hull Line Hull_Line
जब कीमत हुल लाइन के ऊपर पार करता है, एक खरीद संकेत उत्पन्न होता है
जब कीमत हुल लाइन के नीचे पार करती है, तो एक बिक्री संकेत उत्पन्न होता है
अगर कीमत और हुल लाइन के बीच विचलन है, संकेत छोड़ दें
स्थिति के एक निश्चित प्रतिशत के साथ प्रवेश करें, बाहर निकलने के लिए स्टॉप लॉस को अपनाएं
इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
हुल मूविंग एवरेज के आधार पर, यह तेजी से प्रवृत्ति को पकड़ सकता है और प्रवृत्ति का पालन कर सकता है
झूठे संकेतों को फ़िल्टर करने और संकेत की गुणवत्ता में सुधार करने के लिए हुल लाइन का उपयोग करें
अच्छा जोखिम-लाभ अनुपात और उपयोग, अल्पकालिक व्यापार के लिए उपयुक्त
लचीला पैरामीटर समायोजन, विभिन्न बाजार वातावरण के अनुकूल
रिवर्स स्टॉप लॉस को अपनाएं, समय में स्टॉप लॉस कर सकते हैं और जोखिमों को नियंत्रित कर सकते हैं
विशिष्ट समय अवधि में प्रणालीगत जोखिमों से बचने के लिए मौसमीता को मिलाएं
इस रणनीति में कुछ जोखिम भी हैं:
रणनीति के अनुसार ट्रेंड, पूरे दिन ट्रेड नहीं कर सकता
रुझान के उलट होने पर अधिक घाटे
चलती औसत में देरी, समय पर मोड़ बिंदुओं को पकड़ नहीं सकता
उच्च व्यापारिक आवृत्ति से व्यापारिक लागत अधिक होती है
अनुचित पैरामीटर सेटिंग्स से सीमाबद्ध बाजारों में कम लाभप्रदता हो सकती है
इन जोखिमों को नियंत्रित करने के लिए, हम निम्नलिखित उपाय कर सकते हैंः
एकल हानि को नियंत्रित करने के लिए मार्टिंगेल स्टॉप लॉस रणनीति अपनाएं
विभिन्न बाजार वातावरणों में मापदंडों और परीक्षण मजबूती का अनुकूलन
रुझानों को बदलने के दौरान रुझानों का पीछा करने से बचने के लिए रुझानों का आकलन करने वाले संकेतकों को मिलाएं
व्यापारिक आवृत्ति को कम करने के लिए होल्डिंग समय बढ़ाएं
इस रणनीति को निम्नलिखित पहलुओं में भी अनुकूलित किया जा सकता हैः
बेहतर प्रवेश के लिए रुझानों के प्रारंभिक बिंदु का पता लगाने के लिए गति संकेतकों का संयोजन करें
रुझान की दिशा और ताकत का आकलन करने में सहायता के लिए मशीन लर्निंग मॉडल जोड़ें
वास्तविक समय बाजार गतिशीलता के आधार पर मापदंडों को समायोजित करने के लिए अनुकूलन पैरामीटर सेटिंग को अपनाएं
विभिन्न समय सीमाओं के लिए विभिन्न स्थिति आकारों के साथ बहु-टाइमफ्रेम पतवार प्रणालियों को कॉन्फ़िगर करें
अपर्याप्त गति के साथ झूठे ब्रेकआउट से बचने के लिए वॉल्यूम संकेतकों का संयोजन करें
अस्थिरता के आधार पर स्थिति आकार को गतिशील रूप से समायोजित करने के लिए अस्थिरता आधारित स्थिति आकार मॉडल जोड़ें
हॉल मूविंग एवरेज स्विंग ट्रेडिंग रणनीति एक कुशल अल्पकालिक प्रवृत्ति के बाद की रणनीति है। यह प्रवृत्ति का पालन करने के उद्देश्य से प्रवृत्ति की दिशा निर्धारित करने के लिए हॉल मूविंग एवरेज प्रणाली का उपयोग करता है। एकल चलती औसत प्रणालियों की तुलना में, इसमें उच्च संकेत गुणवत्ता और मापदंड लचीलापन है। इस रणनीति का लाभ अपेक्षाकृत छोटे ड्रॉडाउन के साथ प्रवृत्ति परिवर्तनों को जल्दी से पकड़ने में निहित है। कमजोरी प्रवृत्ति उलटों से निपटने में असमर्थता है। हम जोखिमों को नियंत्रित करने और अधिक बाजार वातावरण में रणनीति को मजबूत बनाने के लिए पैरामीटर अनुकूलन, स्टॉप लॉस रणनीतियों, सहायक मॉडल आदि का उपयोग कर सकते हैं।
/*backtest start: 2023-09-06 00:00:00 end: 2023-10-06 00:00:00 period: 6h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Hull Moving Average Swing Trader by SEASIDE420 strategy("Hull Moving Average Swing Trader", shorttitle="HMA_Swing_Trader", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0) hullperiod = input(title="HullMA Period", type=input.integer, defval=210, minval=1) price = input(open, type=input.source, title="Price data") FromMonth = input(defval=1, title="From Month", minval=1, maxval=12) FromDay = input(defval=1, title="From Day", minval=1, maxval=31) FromYear = input(defval=2020, title="From Year", minval=2017) ToMonth = input(defval=1, title="To Month", minval=1, maxval=12) ToDay = input(defval=1, title="To Day", minval=1, maxval=31) ToYear = input(defval=9999, title="To Year", minval=2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => true n2ma = 2 * wma(price, round(hullperiod / 2)) nma = wma(price, hullperiod) diff = n2ma - nma sqn = round(sqrt(hullperiod)) n2ma1 = 2 * wma(price[1], round(hullperiod / 2)) nma1 = wma(price[1], hullperiod) diff1 = n2ma1 - nma1 n1 = wma(diff, sqn) n2 = wma(diff1, sqn) Hull_Line = n1 / n1 * n2 Hull_retracted = if n1 > n2 Hull_retracted = Hull_Line - 2 else Hull_retracted = Hull_Line + 2 c1 = Hull_retracted + n1 - price c2 = Hull_retracted - n2 + price c4 = n1 > n2 ? color.green : color.red c2p = plot(c2, color=color.black, linewidth=1) c3p = plot(price, color=color.black, linewidth=1) fill(c3p, c2p, color=c4, transp=75) //plot(cross(c1, c2) ? c1 : na, style=plot.style_circles, color=c4, linewidth=4) if price < c2 strategy.close("BUY", when=window()) if price > c2 strategy.close("SELL", when=window()) if price > c2 and price[1] > c1 strategy.entry("BUY", strategy.long, when=window()) if price < c1 and price[1] < c2 strategy.entry("SELL", strategy.short, when=window()) // /L'-, // ,'-. ` ```` / L '-, // . _,--dMMMM\ ` ` ` '`.. / '-, // : _,--, )MMMMMMMMM),. ` ,<> /_ '-,' // ; ___,--. \MM( `-' )M//MM\ ,',.; .-'* ; .' // | \MMMMMM) \MM\ ,dM//MMM/ ___ < ,; `. )`--' / // | \MM()M MMM)__ /MM(/MP' ___, \ \ ` `. `. /__, ,' // | MMMM/ MMMMMM( /MMMMP'__, \ | / `. `-,_\ / // | MM /MMM---' `--'_ \ |-' |/ `./ .\----.___ // | /MM' `--' __,- \"" |-' |_, `.__) . .F. )-. // | `--' \ \ |-' |_, _,-/ J . . . J-'-. `-., // | __ \`. | | | \ / _ |. . . . \ `-. F // | ___ / \ | `| ' __ \ | /-' F . . . . \ '` // | \ \ \ / | __ / \ | |,-' __,- J . . . . . \ // | | / |/ __,- \ ) \ / |_,- __,--' |. .__.----,' // | |/ ___ \ |'. |/ __,--' `.-;;;;;;;;;\ // | ___ \ \ | | ` __,--' /;;;;;;;;;;;;. // | \ \ |-'\ ' __,--' /;;;;;;;;;;;;;;\ // \ | | / | __,--' `--;;/ \;-'\ // \ | |/ __,--' / / \ \ // \ | __,--' / / \ \ // \|__,--' _,-;M-K, ,;-;\ // <;;;;;;;; '-;;;; // :D