यह रणनीति हल्ल चलती औसत सूचक पर आधारित शॉर्ट-लाइन ट्रेडिंग रणनीति है। यह रणनीति हल्ल चलती औसत का उपयोग करती है, जो एक खरीद और बिक्री संकेत का निर्माण करती है। यह एक प्रवृत्ति-अनुवर्ती रणनीति है।
यह रणनीति मुख्य रूप से हुल मूविंग एवरेज पर आधारित है, हुल मूविंग एवरेज दो मूविंग एवरेज से बना है। सबसे पहले कीमतों की मध्यवर्ती मूविंग एवरेज nma की गणना की जाती है, जिसकी अवधि हुल पीरियड है। फिर कीमतों की त्वरित मूविंग एवरेज n2ma की गणना की जाती है, जिसकी अवधि nma की आधी होती है। जब n2ma के ऊपर से गुजरता है तो एक खरीद संकेत जारी होता है और जब nma के नीचे से गुजरता है तो एक बिक्री संकेत जारी होता है।
कुछ झूठे संकेतों को फ़िल्टर करने के लिए, रणनीति में एक हुल लाइन ((Hull_Line) भी पेश की गई है। हुल लाइन nma और n2ma के बीच अंतर के लिए गणना की गई एक रैखिक वापसी का परिणाम है। जब कीमत हुल लाइन से अलग हो जाती है, तो रणनीति एक खरीद या बिक्री संकेत को छोड़ देती है।
विशेष रूप से, रणनीतिक नियम इस प्रकार हैं:
गणना nma, अवधि hullperiod
गणना n2ma, nma चक्र का आधा है
n2ma और nma का अंतर ज्ञात करें
Hull_Line, एक Hull लाइन जो एक स्क्वायरट (hullperiod) की अवधि के लिए diff के लिए एक चलती औसत है
खरीदें सिग्नल जब कीमत हॉल लाइन के ऊपर से गुजरती है
जब कीमत हॉल लाइन से नीचे जाती है तो बेचने का संकेत देता है
अगर कीमतों में हुल लाइन से विचलन होता है, तो सिग्नल को छोड़ दें
एक निश्चित अनुपात के साथ स्थिति में प्रवेश, आउटफील्ड स्टॉप लॉस विधि का उपयोग करके स्टॉप लॉस
इस रणनीति के निम्नलिखित फायदे हैं:
यह एक गतिशील औसत है जो तेजी से रुझानों को पकड़ने में सक्षम है, क्योंकि यह एक गतिशील औसत है।
झूठे सिग्नल को फ़िल्टर करने के लिए हुल लाइन का उपयोग करना, सिग्नल की गुणवत्ता में सुधार करना
अच्छी वापसी और लाभ-हानि अनुपात, शॉर्ट-लाइन ऑपरेशन के लिए उपयुक्त
विभिन्न बाजार स्थितियों के लिए लचीला पैरामीटर समायोजन
रिवर्स स्टॉप, समय पर स्टॉप, नियंत्रण जोखिम
मौसमीता के साथ संयोजन, एक निश्चित समय अवधि के लिए प्रणालीगत जोखिम से बचा जा सकता है
इस रणनीति के कुछ जोखिम भी हैं:
ट्रेंड ट्रैक करने की रणनीति, पूरे दिन ट्रेड नहीं कर सकते
जब रुझान बदलता है, तो अधिक नुकसान होता है
मोबाइल औसत प्रणाली में देरी, समय पर टर्नओवर को पकड़ने में असमर्थ
शॉर्ट-लाइन लेनदेन अक्सर होता है, लेनदेन शुल्क अधिक होता है
गलत पैरामीटर सेट करने से अस्थिर बाजारों में कमियां हो सकती हैं
उपरोक्त जोखिमों को नियंत्रित करने के लिए, निम्नलिखित उपाय किए जा सकते हैंः
मार्टिंगेल स्टॉप लॉस रणनीति का उपयोग करके एकल नुकसान को नियंत्रित करें
अनुकूलन पैरामीटर, विभिन्न बाजार स्थितियों के लिए पैरामीटर की मजबूती का परीक्षण
प्रवृत्ति के सूचकांकों के संयोजन के साथ, पलटाव में पीछा करने वाले गिरावट से बचें
ट्रेडों की संख्या कम करने के लिए स्टॉक की अवधि बढ़ाएं
इस रणनीति को निम्नलिखित पहलुओं से भी अनुकूलित किया जा सकता हैः
गतिशीलता के संकेतकों के साथ संयोजन, प्रवृत्ति के शुरुआती बिंदु को निर्धारित करने के लिए, बेहतर लेआउट में प्रवेश
ट्रेंड की दिशा और ताकत का आकलन करने के लिए मशीन लर्निंग मॉडल जोड़ना
वास्तविक समय बाजार के अनुसार पैरामीटर को समायोजित करने के लिए अनुकूलित पैरामीटर सेटिंग्स का उपयोग करना
बहु-समय चक्र Hull प्रणाली, विभिन्न समय चक्रों के लिए विभिन्न पदों की व्यवस्था करें
व्यापारिक ऊर्जा सूचकांक के साथ, अपर्याप्त ऊर्जा के साथ झूठी सफलताओं से बचें
अस्थिरता के आधार पर स्थिति प्रबंधन मॉड्यूल जोड़ा, अस्थिरता के आधार पर स्थिति को गतिशील रूप से समायोजित करें
Hull Moving Average Oscillating Trading Strategy कुल मिलाकर एक बहुत ही व्यावहारिक Short Line Tracking Strategy है। यह Hull Moving Average System का उपयोग करके ट्रेंड की दिशा का आकलन करने के उद्देश्य से किया जाता है ताकि ट्रेंड को प्राप्त किया जा सके। यह एक एकल Moving Average System की तुलना में उच्च सिग्नल गुणवत्ता और Parameters लचीलापन प्रदान करता है। इस रणनीति का लाभ यह है कि यह तेजी से ट्रेंड को बदल देता है और कम रिटर्न के साथ लाभ प्राप्त करता है; नुकसान यह है कि यह ट्रेंड रिवर्स का सामना करने में असमर्थ है। हम पैरामीटर अनुकूलन, स्टॉप लॉस रणनीति में सुधार, सहायक मॉडल जोड़ने और अन्य तरीकों से जोखिम को नियंत्रित कर सकते हैं, जिससे रणनीति अधिक स्थिरता के साथ चलती है।
/*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