यह रणनीति ट्रेंड ट्रैकिंग रणनीतियों से संबंधित मूल्य रुझानों की पहचान और ट्रैक करने के लिए हॉल मूविंग एवरेज और कैलमैन फ़िल्टर को जोड़ती है। यह ट्रेडिंग संकेत उत्पन्न करने के लिए अलग-अलग अवधियों के साथ दो हॉल मूविंग एवरेज का उपयोग करती है, और संकेतों को चिकना करने के लिए कैलमैन फ़िल्टर को अपनाती है, जिसका उद्देश्य संकेत की गुणवत्ता और रणनीति स्थिरता में सुधार करना है।
यह रणनीति ट्रेडिंग सिग्नल बनाने के लिए 24 पीरियड हॉल मूविंग एवरेज (एचएमए) और 24 पीरियड ट्रिपल हॉल मूविंग एवरेज (एचएमए3) का उपयोग करती है।
जब एचएमए एचएमए 3 के ऊपर जाता है, तो एक खरीद संकेत उत्पन्न होता है। जब एचएमए एचएमए 3 के नीचे जाता है, तो एक बिक्री संकेत उत्पन्न होता है।
Kalman फ़िल्टर डिफ़ॉल्ट रूप से अक्षम है. जब सक्षम किया जाता है, यह अत्यधिक शोर को फ़िल्टर करने और सिग्नल की गुणवत्ता में सुधार करने के लिए hma और hma3 को चिकना करता है.
कैलमैन फ़िल्टर पूर्वानुमान और सुधार चरणों के माध्यम से संकेतों से यादृच्छिक शोर को समाप्त करता है। प्रत्येक माप और अंतिम भविष्यवाणी के बीच का अंतर अगले माप को अधिक सटीक रूप से भविष्यवाणी करने के लिए सुधार आइटम के रूप में माना जाता है। भविष्यवाणी और सुधार को दोहराने से, संकेत को चिकना करने के लिए शोर के प्रभाव को धीरे-धीरे कम किया जा सकता है।
यह रणनीति यादृच्छिक उतार-चढ़ावों को फ़िल्टर करके और लगातार रुझानों को ट्रैक करके चलती औसत रणनीतियों की स्थिरता बढ़ाने के लिए कैलमैन फ़िल्टर का लाभ उठाती है।
दोहरी चलती औसत प्रणाली एकल चलती औसत की तुलना में स्थायी रुझानों की बेहतर पहचान कर सकती है।
हॉल मूविंग एवरेज हाल की कीमतों पर अधिक भार डालता है, जिससे मूल्य परिवर्तनों को कैप्चर करने में यह अधिक संवेदनशील हो जाता है।
काल्मन फ़िल्टर सिग्नल से यादृच्छिक शोर को प्रभावी ढंग से फ़िल्टर कर सकता है, झूठे संकेतों को कम कर सकता है और सिग्नल की गुणवत्ता में सुधार कर सकता है।
समायोज्य मापदंड जैसे अवधि और कालमान फिल्टर लाभ रणनीति को विभिन्न बाजार स्थितियों के अनुकूल करने की अनुमति देता है।
क्रॉस-पीरियड तकनीकों को अपनाने से अधिक लगातार संकेत उत्पन्न होते हैं, अत्यधिक यादृच्छिक उतार-चढ़ावों से भटकने से बचा जाता है।
दृश्य इंटरफेस सहजता से संकेत और प्रवृत्ति स्थिति को प्रदर्शित करता है।
दोहरी चलती औसत ट्रेंड टर्निंग पॉइंट के आसपास गलत संकेत उत्पन्न करने के लिए प्रवण हैं, समय पर उलटफेर को पकड़ने में असमर्थ हैं।
मूविंग एवरेज के पीछे पड़ने से कीमतों में तेजी से उलटफेर के अवसर खो सकते हैं।
यह बाजारों में भारी उतार-चढ़ाव के लिए उपयुक्त नहीं है। इसे अशांत अवस्थाओं के दौरान उपयोग करने से बचना चाहिए।
काल्मन फ़िल्टर पैरामीटर रणनीति प्रदर्शन को प्रभावित कर सकते हैं. बहुत बड़ा लाभ वैध संकेतों को फ़िल्टर कर सकता है.
लंबी अवधि में धीमी प्रतिक्रिया होती है जबकि छोटी अवधि शोर के प्रति संवेदनशील होती है। बाजार की स्थितियों के आधार पर पैरामीटर ट्यूनिंग की आवश्यकता होती है।
अनिश्चित लंबी/छोटी होल्डिंग अवधि के कारण बिना किसी स्थिति के निष्क्रिय समय होता है, जिससे पूंजी उपयोग की दक्षता कम होती है।
अनुकूलनशील चलती औसत का प्रयास करें जो गतिशील रूप से अस्थिरता के आधार पर मापदंडों को अनुकूलित करते हैं।
अस्थिर बाजारों के दौरान व्यापार करने से बचने के लिए अस्थिरता माप शामिल करें और केवल स्पष्ट रुझानों पर व्यापार करें।
घाटे को सीमित करने और जोखिम नियंत्रण में सुधार करने के लिए स्टॉप लॉस सेट करें।
ट्रैकिंग संवेदनशीलता और शोर फ़िल्टरिंग स्तर को संतुलित करने के लिए कैलमैन फ़िल्टर मापदंडों को अनुकूलित करें।
अन्य संकेतकों जैसे वॉल्यूम, बोलिंगर बैंड्स के साथ संकेत की वैधता की पुष्टि करें।
मापदंडों को प्रशिक्षित करने और रणनीति की मजबूती और अनुकूलन क्षमता में सुधार करने के लिए मशीन लर्निंग का उपयोग करें।
यह रणनीति प्रभावी रूप से स्थायी रुझानों की पहचान करती है और डुअल हुल एमए और कैलमैन फिल्टर द्वारा सिग्नल की गुणवत्ता में सुधार करती है। स्थिर लाभ के लिए पैरामीटर अनुकूलन, बाजार अनुकूलनशीलता और जोखिम नियंत्रण पर ध्यान दें। मशीन लर्निंग और मात्रात्मक विश्लेषण के माध्यम से आगे के सुधार प्राप्त किए जा सकते हैं। निरंतर सुधार एक मजबूत और कुशल रुझान ट्रैकिंग प्रणाली को आकार देंगे।
/*backtest start: 2022-10-25 00:00:00 end: 2023-10-31 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Hull Trend with Kahlman Strategy Backtest", shorttitle="HMA-Kahlman Trend Strat", overlay=true) src = input(hl2, "Price Data") length = input(24, "Lookback") showcross = input(true, "Show cross over/under") gain = input(10000, "Gain") k = input(true, "Use Kahlman") hma(_src, _length) => wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length))) hma3(_src, _length) => p = length/2 wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p) kahlman(x, g) => kf = 0.0 dk = x - nz(kf[1], x) smooth = nz(kf[1],x)+dk*sqrt((g/10000)*2) velo = 0.0 velo := nz(velo[1],0) + ((g/10000)*dk) kf := smooth+velo a = k ? kahlman(hma(src, length), gain) : hma(src, length) b = k ? kahlman(hma3(src, length), gain) : hma3(src, length) c = b > a ? color.lime : color.red crossdn = a > b and a[1] < b[1] crossup = b > a and b[1] < a[1] p1 = plot(a,color=c,linewidth=1,transp=75) p2 = plot(b,color=c,linewidth=1,transp=75) fill(p1,p2,color=c,transp=55) plotshape(showcross and crossdn ? a : na, location=location.absolute, style=shape.labeldown, color=color.red, size=size.tiny, text="S", textcolor=color.white, transp=0, offset=-1) plotshape(showcross and crossup ? a : na, location=location.absolute, style=shape.labelup, color=color.green, size=size.tiny, text="B", textcolor=color.white, transp=0, offset=-1) longCondition = crossup if (longCondition) strategy.entry("LE", strategy.long) shortCondition = crossdn if (shortCondition) strategy.entry("SE", strategy.short)