यह रणनीति हॉल मूविंग एवरेज (एचएमए) के क्रॉसओवर सिग्नल पर आधारित है। हॉल मूविंग एवरेज एक तकनीकी संकेतक है जिसे एलन हॉल द्वारा विकसित किया गया है, जिसका उद्देश्य पारंपरिक मूविंग एवरेज के लेग को कम करना है। रणनीति में अलग-अलग अवधि वाले दो एचएमए का उपयोग किया जाता है। एक खरीद संकेत तब उत्पन्न होता है जब कम अवधि का एचएमए लंबी अवधि के एचएमए के ऊपर पार करता है, और एक बिक्री संकेत तब उत्पन्न होता है जब विपरीत होता है।
एचएमए की गणना इस प्रकार की जाती हैः
सरल चलती औसत और भारित चलती औसत की तुलना में, हुल चलती औसत में कम विलंब होता है, इसलिए यह मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया कर सकता है, जिससे रणनीति की प्रतिक्रिया क्षमता में सुधार होता है।
संकेत उत्पन्न करने के लिए अलग-अलग अवधि वाले दो एचएमए के क्रॉसओवर का उपयोग करके, बहुत सारे शोर और झूठे संकेतों को प्रभावी ढंग से फ़िल्टर किया जा सकता है, जिससे संकेतों की विश्वसनीयता बढ़ जाती है।
पैरामीटर समायोज्य हैं. एचएमए के अवधि पैरामीटर को समायोजित करके, रणनीति को विभिन्न बाजारों और व्यापार उपकरणों के लिए अनुकूलित किया जा सकता है।
Hull Moving Average एक लेगिंग इंडिकेटर है, जो ट्रेंड रिवर्स के शुरुआती चरणों में झूठे संकेत उत्पन्न कर सकता है।
अनुचित पैरामीटर चयन से खराब रणनीति प्रदर्शन हो सकता है। यदि अवधि बहुत लंबी है, तो रणनीति प्रतिक्रिया में धीमी होगी; यदि अवधि बहुत कम है, तो यह अत्यधिक झूठे संकेतों का कारण बन सकती है।
एक एकल संकेतक पर आधारित सभी रणनीतियों की तरह, यह रणनीति साइडवेज बाजारों में अच्छा प्रदर्शन नहीं कर सकती है, अधिक झूठे संकेत उत्पन्न करती है और ट्रेडों को खो देती है।
एचएमए क्रॉसओवर संकेतों की वैधता को और अधिक पुष्टि करने के लिए फ़िल्टर के रूप में अन्य तकनीकी संकेतकों या मौलिक कारकों, जैसे कि ट्रेडिंग वॉल्यूम, रुझान संकेतकों आदि को शामिल करने पर विचार करें।
पैरामीटर अनुकूलन के लिए, आनुवंशिक एल्गोरिदम और ग्रिड खोज जैसे तरीकों का उपयोग ऐतिहासिक डेटा पर इष्टतम पैरामीटर संयोजन खोजने के लिए किया जा सकता है जो वर्तमान बाजार के लिए सबसे उपयुक्त है।
प्रत्येक व्यापार के जोखिम और लाभ को नियंत्रित करने के लिए रणनीति में स्टॉप-लॉस और ले-प्रॉफिट तंत्र शामिल करें।
बाजार के रुझानों पर विचार करें। बाजार के रुझानों का आकलन करने के लिए संकेतक पेश करके, एक प्रवृत्ति बाजारों में व्यापार कर सकता है और पक्षीय बाजारों से बच सकता है।
हॉल मूविंग एवरेज क्रॉसओवर रणनीति एक सरल और उपयोग करने में आसान ट्रेडिंग रणनीति है। एचएमए की तेजी से प्रतिक्रिया की विशेषता के साथ, यह समय पर मूल्य परिवर्तनों को पकड़ सकती है। हालांकि, सभी रणनीतियों की तरह, इसकी अपनी सीमाएं भी हैं और इसका प्रदर्शन बाजार प्रकारों और पैरामीटर चयन से प्रभावित होगा। व्यावहारिक अनुप्रयोग में, इसे संकेतों की पुष्टि करने के लिए अन्य विश्लेषण विधियों के साथ जोड़ा जा सकता है। साथ ही, उचित जोखिम नियंत्रण उपाय, जैसे स्टॉप-लॉस और टेक-प्रॉफिट, स्थिति प्रबंधन, आदि, रणनीति के स्थिर संचालन के लिए भी अपरिहार्य भाग हैं।
/*backtest start: 2023-03-16 00:00:00 end: 2024-03-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Basic Hull Ma Pack tinkered by InSilico strategy("RKTD BETA - Hull Suite by InSilico", overlay=true) //INPUT src = input(close, title="Source") modeSwitch = input("Ehma", title="Hull Variation", options=["Hma", "Thma", "Ehma"]) length = input(200, title="Length(180-200 for floating S/R , 55 for swing entry)") lengthMult = input(1.0, title="Length multiplier (Used to view higher timeframes with straight band)") useHtf = input(false, title="Show Hull MA from X timeframe? (good for scalping)") htf = input("240", title="Higher timeframe", type=input.resolution) switchColor = input(true, "Color Hull according to trend?") candleCol = input(false,title="Color candles based on Hull's Trend?") visualSwitch = input(true, title="Show as a Band?") thicknesSwitch = input(1, title="Line Thickness") transpSwitch = input(40, title="Band Transparency",step=5) // Alert Messages longAlertMessage = '{"base": "BTC", "quote": "USDT", "price": ' + tostring(close) + ', "action": "long", "orderType": "market", "close":true}' shortAlertMessage = '{"base": "BTC", "quote": "USDT", "price": ' + tostring(close) + ', "action": "short", "orderType": "market", "close":true}' //FUNCTIONS //HMA HMA(_src, _length) => wma(2 * wma(_src, _length / 2) - wma(_src, _length), round(sqrt(_length))) //EHMA EHMA(_src, _length) => ema(2 * ema(_src, _length / 2) - ema(_src, _length), round(sqrt(_length))) //THMA THMA(_src, _length) => wma(wma(_src,_length / 3) * 3 - wma(_src, _length / 2) - wma(_src, _length), _length) //SWITCH Mode(modeSwitch, src, len) => modeSwitch == "Hma" ? HMA(src, len) : modeSwitch == "Ehma" ? EHMA(src, len) : modeSwitch == "Thma" ? THMA(src, len/2) : na //OUT _hull = Mode(modeSwitch, src, int(length * lengthMult)) HULL = useHtf ? security(syminfo.ticker, htf, _hull) : _hull MHULL = HULL[0] SHULL = HULL[2] //COLOR hullColor = switchColor ? (HULL > HULL[2] ? #00ff00 : #ff0000) : #ff9800 //PLOT ///< Frame Fi1 = plot(MHULL, title="MHULL", color=hullColor, linewidth=thicknesSwitch, transp=50) Fi2 = plot(visualSwitch ? SHULL : na, title="SHULL", color=hullColor, linewidth=thicknesSwitch, transp=50) alertcondition(crossover(MHULL, SHULL), title="Hull trending up.", message="Hull trending up.") alertcondition(crossover(SHULL, MHULL), title="Hull trending down.", message="Hull trending down.") ///< Ending Filler fill(Fi1, Fi2, title="Band Filler", color=hullColor, transp=transpSwitch) ///BARCOLOR barcolor(color = candleCol ? (switchColor ? hullColor : na) : na) // Define Buy and Sell Conditions based on crossovers buyCondition = crossover(MHULL, SHULL) sellCondition = crossunder(MHULL, SHULL) // Plotting the Hull Moving Average (HMA) plot(MHULL, title="MHULL", color=hullColor, linewidth=thicknesSwitch) plot(SHULL, title="SHULL", color=hullColor, linewidth=thicknesSwitch, transp=transpSwitch) fill(Fi1, Fi2, title="Band Filler", color=hullColor, transp=transpSwitch) // Execute Strategy based on Buy and Sell Conditions strategy.entry("Buy", strategy.long, when=buyCondition, alert_message=longAlertMessage) strategy.entry("Sell", strategy.short, when=sellCondition, alert_message=shortAlertMessage) // Additional elements like bar coloring remain unchanged barcolor(color = candleCol ? (switchColor ? hullColor : na) : na)