इस रणनीति का मुख्य विचार हॉल मूविंग एवरेज और औसत सच्ची रेंज (एटीआर) को मिलाकर बाजार की प्रवृत्ति दिशाओं की पहचान करना है, और प्रवृत्ति दिशा की पुष्टि के बाद पदों में प्रवेश करना है। विशेष रूप से, यह एक निश्चित अवधि और पिछली अवधि के हॉल मूविंग एवरेज के बीच अंतर की गणना करता है। जब अंतर बढ़ता है, तो यह एक तेजी की प्रवृत्ति को इंगित करता है; जब अंतर घटता है, तो यह एक मंदी की प्रवृत्ति को इंगित करता है। साथ ही, एटीआर सूचकांक का उपयोग आयाम निर्धारित करने के लिए किया जाता है। यह तब पदों में प्रवेश करता है जब प्रवृत्ति की पुष्टि होती है और आयाम विस्तार करता रहता है।
यह रणनीति मुख्य रूप से दो प्रकार के संकेतकों पर आधारित है: Hull Moving Average और ATR।
हॉल मूविंग एवरेज अमेरिकी वायदा व्यापारी एलन हॉल द्वारा विकसित एक ट्रेंड-फॉलोइंग संकेतक है। मूविंग एवरेज के समान, हॉल मूविंग एवरेज में अधिक संवेदनशीलता है और कीमत परिवर्तन और रुझानों को तेजी से पकड़ सकता है। रणनीति हॉल मूविंग एवरेज की अवधि को नियंत्रित करने के लिए एक समायोज्य पैरामीटर hullLength सेट करती है। वर्तमान अवधि के हॉल एमए और पिछली अवधि के बीच अंतर की गणना करके, यह वर्तमान मूल्य प्रवृत्ति की दिशा निर्धारित करती है।
एटीआर का अर्थ औसत वास्तविक सीमा है। यह दैनिक मूल्य उतार-चढ़ाव के आयाम को दर्शाता है। जब अस्थिरता बढ़ जाती है, तो एटीआर बढ़ जाती है; जब अस्थिरता घटती है, तो एटीआर गिर जाती है। रणनीति एटीआर गणना को नियंत्रित करने के लिए एटीआर लेंथ और एटीआर स्मूथिंग जैसे मापदंडों को सेट करती है। और एटीआर को प्रविष्टियों के लिए एक संदर्भ के रूप में चार्ट पर प्लॉट किया जाता है।
विशेष रूप से, रणनीति तर्क हैः
इस रणनीति के फायदे:
इस रणनीति के कुछ जोखिमः
समाधान:
अनुकूलन के लिए अभी भी काफी जगह हैः
यह रणनीति हुल एमए की प्रवृत्ति के बाद की क्षमता और एटीआर की गर्मी निर्णय क्षमता को एकीकृत करती है। यह कुछ अमान्य संकेतों को फ़िल्टर करने के लिए प्रवृत्ति की पुष्टि होने और अस्थिरता बढ़ने पर पदों में प्रवेश करती है। पैरामीटर अनुकूलन और बेहतर जोखिम प्रबंधन के माध्यम से आगे सुधार प्राप्त किया जा सकता है। सारांश में, यह रणनीति प्रवृत्ति ट्रैकिंग और गर्मी निर्णय के कई कारकों को जोड़ती है। जब पैरामीटर ठीक से समायोजित होते हैं, तो यह अच्छे परिणाम दे सकती है।
/*backtest start: 2024-01-07 00:00:00 end: 2024-01-14 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // Hull cross and ATR strategy("Hull cross and ATR", shorttitle="H&ATR", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0) keh=input(title="Hull Length",defval=50) length = input(title="ATR Length", defval=50, minval=1) smoothing = input(title="ATR Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"]) p=input(ohlc4,title="Price data") n2ma=2*wma(p,round(keh/2)) nma=wma(p,keh) diff=n2ma-nma sqn=round(sqrt(keh)) n2ma1=2*wma(p[1],round(keh/2)) nma1=wma(p[1],keh) diff1=n2ma1-nma1 sqn1=round(sqrt(keh)) n1=wma(diff,sqn) n2=wma(diff1,sqn) ma_function(source, length) => if smoothing == "RMA" rma(p, length) else if smoothing == "SMA" sma(p, length) else if smoothing == "EMA" ema(p, length) else wma(p, length) plot(ma_function(tr(true), length), title = "ATR", color=black, transp=50) closelong = n1<n2 if (closelong) strategy.close("buy") closeshort = n1>n2 if (closeshort) strategy.close("sell") if (ma_function(tr(true), length)<p and p>p[length] and n1>n2) strategy.entry("buy", strategy.long, comment="BUY") if (ma_function(tr(true), length)>p and p<p[length] and n1<n2) strategy.entry("sell", strategy.short, comment="SELL")