होम तकनीकी संकेतक पोस्ट

सिंगुलर स्पेक्ट्रम एनालिसिस पर आधारित ट्रेंड इंडिकेटर - MetaTrader 5 के लिए

संलग्नक
15865.zip (7.77 KB, डाउनलोड 0 बार)

सिंगुलर स्पेक्ट्रम एनालिसिस के माध्यम से ट्रेंड को निकालना और शोर को फ़िल्टर करना। इंडिकेटर के पैरामीटर को समायोजित करने से निकाले गए ट्रेंड की चिकनाई और शोर फ़िल्टरिंग थ्रेशोल्ड को नियंत्रित किया जा सकता है।

ट्रेडिंग रणनीति का समय क्षितिज डेटा को ट्रेंड, निम्न-आवृत्ति और उच्च-आवृत्ति घटकों में विभाजित करने के लिए सही विधि निर्धारित करता है, इसके बाद सिग्नल पुनर्निर्माण किया जाता है। यह इंडिकेटर (चिकना ट्रेंड) पारंपरिक फ़िल्टरिंग विधियों के विपरीत कोई चरण विलंब नहीं रखता है।

"कैटरपिलर" विधि पर आधारित ट्रेंड इंडिकेटर कीमत श्रृंखला का विस्तार करके जोड़ती है। इसके लिए श्रृंखला का स्थिर होना आवश्यक नहीं है, ट्रेंड मॉडल को जानने या अवधि घटकों की उपस्थिति और उनकी अवधियों की जानकारी की आवश्यकता नहीं है।

इस विकसित इंडिकेटर की क्षमताएं श्रृंखला को चिकना करने, ट्रेंड निकालने और (प्रारंभिक कीमत श्रृंखला के लिए मॉडल के समायोजन पैरामीटर का चयन करके) छोटे समय पैमाने पर ऑस्सीलेटर घटकों के योगदान पर विचार करने की अनुमति देती हैं - "शोर" उतार-चढ़ाव को फ़िल्टर करें।

इंडिकेटर पैरामीटर

मुख्य पैरामीटर हैं:

  1. SegmentLength — कीमत श्रृंखला में "नवीनतम इतिहास" खंड की लंबाई।
  2. SegmentLag — कैटरपिलर की लंबाई। इसे खंड की लंबाई के 1/4 से 1/2 के बीच चुना जाता है। यह घटकों की पहचान और ट्रेंड की चिकनाई को प्रभावित करता है।
  3. EigMax — प्रमुख घटकों की संख्या (विभाजन मोड)। यह सिग्नल के उपक्षेत्र का आयाम परिभाषित करता है और विभिन्न स्केल पर उतार-चढ़ाव पर विचार करता है।
  4. EigNoiseFlag — प्रमुख घटकों की संख्या की गणना के लिए फ़्लैग, "स्थिर" मोड की संख्या और अनुमति दिए गए शोर के बीच टॉगल करने के लिए। विकल्प = 0,1,2।
  5. EigNoiseLevel — श्रृंखला के कुल "उतार-चढ़ाव ऊर्जा" में अनुमति दिए गए शोर का प्रतिशत, यदि EigNoiseFlag != 0. गणनाओं के दौरान EigMax को अधिलेखित करता है।

EigNoiseFlag इंटीजर पैरामीटर के विकल्प:

  • 0 - सिग्नल स्पेस का आयाम स्थिर है: [1,EigMax] ( EigNoiseLevel की अनदेखी की जाती है। यदि EigMax अनुमति से अधिक है, तो इसे अनुमति दिए गए मान तक सीमित कर दिया जाता है)।
  • 1 — एक व्यक्तिगत मोड मान का कुल मान से अनुपात निर्दिष्ट त्रुटि EigNoiseLevel से कम नहीं है। EigMax स्वचालित रूप से चुना जाता है।
  • 2 — ऐसे मोड पर विचार करें जिनका कुल भाग "एक" (पूर्ण) से अलग है, EigNoiseLevel से अधिक नहीं। EigMax स्वचालित रूप से चुना जाता है।

पैरामीटर का सामान्य चयन और प्रभाव:

  • SegmentLength — डेटा इतिहास के अंत में कीमत श्रृंखला का खंड। इसे डेटा या रणनीति अवधि में बदलाव की स्थिरता और अधिक या कम समान स्वभाव के आधार पर चुना जाता है।
  • SegmentLag — व्यक्तिगत मोड के लिए "फ़िल्टर चौड़ाई" का आयाम निर्धारित करता है (प्रतिलोम अनुपात)। यह ट्रेंड की चिकनाई और कीमत चार्ट की उतार-चढ़ाव के लिए समायोजन को प्रभावित करता है।
  • EigMax — उस "सिग्नल" उपक्षेत्र का आयाम सेट करता है जिसमें उपयोगी जानकारी होती है। "शोर" थ्रेशोल्ड सेट करता है।
  • EigNoiseLevel — श्रृंखला के कुल प्रसार में "शोर" मान सेट करता है। इसे प्रतिशत के रूप में निर्दिष्ट किया जाना चाहिए।

क्रियान्वयन

CCaterpillar वर्ग जो CCaterpillar.mqh फ़ाइल में लागू किया गया है, ट्रेंड की गणना के लिए आवश्यक सभी चीजें शामिल करता है, सिवाय रेखीय बीजगणित प्रक्रियाओं के (सिंगुलर विभाजन के लिए ALGLIB पुस्तकालय का उपयोग किया जाता है)। फ़ाइल में प्रस्तुत कोड में वर्ग के सदस्यों और प्रक्रियाओं के लिए विवरण शामिल हैं।

इंडिकेटर के संचालन के लिए फ़ाइलों की आवश्यकता होती है:

  • 1) MQL5\Include\SSA\CCaterpillar.mqh
  • 2) MQL5\Indicators\SingularMA.mq5
  • ALGLIB पुस्तकालय (मैं उन सभी लोगों के साथ हूं, जो सर्गेई बोकचानोव के लिए इस अद्भुत ALGLIB संख्यात्मक विधियों के पुस्तकालय के लिए आभारी हैं)

उपयोग की विशेषताएँ

300 मानों से अधिक का डेटा खंड सेट करने की सिफारिश नहीं की जाती है क्योंकि यह उच्च गणनात्मक लोड उत्पन्न करता है। 150-200 का उपयोग करना सबसे अच्छा है। आप हमेशा एक बड़े इतिहास अंतराल को कवर करने के लिए चार्ट गणनाओं के दूसरे अवधि में स्विच कर सकते हैं।

"कैटरपिलर" विंडो की लंबाई को खंड की लंबाई के 1/3 से 1/2 के बीच बदलने की सिफारिश की जाती है। यदि विंडो खंड के आधे से अधिक बढ़ जाती है, तो यह ट्रैक्टरी की समरूपता और उसके ट्रांसपोज़ की समानता के कारण, यह खंड के मध्य के सापेक्ष लंबाई में सममितीय खंड के बराबर हो जाता है। छोटी विंडो लंबाई गुणवत्ता औसत और निश्चित मोड के अनुसार जानकारी के विभाजन को प्रदान नहीं करती है।

यदि कीमत श्रृंखला के ग्राफिकल इंटरफेस में डेटा का धीमा प्रवाह है, तो संभावित समाधान हो सकते हैं: a) खंड की लंबाई घटाएं; b) ReCalcLim पैरामीटर को OnCalculate फ़ंक्शन में गणना की ठोसता में बढ़ाएं।

5 मिनट की अवधि। दो ट्रेंड SSA(120,50,4), SSA(50,20,7) और मूविंग एवरेज MA(14)

चित्र 1. 5 मिनट की अवधि। दो ट्रेंड SSA(120,50,4), SSA(50,20,7) और मूविंग एवरेज MA(14)


1 घंटे की अवधि। दो ट्रेंड SSA(120,50,4), SSA(50,20,7) और मूविंग एवरेज MA(14)

चित्र 2. 1 घंटे की अवधि। दो ट्रेंड SSA(120,50,4), SSA(50,20,7) और मूविंग एवरेज MA(14)


1 दिन की अवधि। दो ट्रेंड SSA(120,50,4), SSA(50,20,7) और मूविंग एवरेज MA(14)

चित्र 3. 1 दिन की अवधि। दो ट्रेंड SSA(120,50,4), SSA(50,20,7) और मूविंग एवरेज MA(14)

इस रूप में ट्रेंड इंडिकेटर के कार्यान्वयन के लिए सिंगुलर एनालिसिस का उपयोग एक बुनियादी उदाहरण है। वित्तीय क्षेत्र में समय श्रृंखलाओं के विश्लेषण और पूर्वानुमान के लिए SSA विधियों का व्यापक उपयोग प्रस्तुत किया गया है।

संदर्भ

  1. Elsner J.B., Tsonis A.A. सिंगुलर स्पेक्ट्रम एनालिसिस: समय श्रृंखला विश्लेषण में एक नया उपकरण। प्लेनम प्रेस। न्यूयॉर्क, 1996। 164 पन्ने।
  2. D. L. Danilov और A. A. Zhiglyavskii प्रमुख घटक समय श्रृंखलाओं में: कैटरपिलर विधि। सेंट पीटर्सबर्ग राज्य विश्वविद्यालय, सेंट पीटर्सबर्ग, 1997 - 308 पन्ने।
  3. N. E. Golyandina "कैटरपिलर"-SSA विधि: समय श्रृंखलाओं का विश्लेषण: अध्ययन गाइड। सेंट पीटर्सबर्ग: 2004। - 76 पन्ने।
  4. समय श्रृंखलाओं में प्रमुख घटक: कैटरपिलर विधि, संपादित D. L. Danilov, A. A. Zhigljavsky द्वारा। सेंट पीटर्सबर्ग: प्रेसकोम, 1997। पृष्ठ 308।
  5. वित्तीय और आर्थिक समय श्रृंखलाओं के विश्लेषण और पूर्वानुमान के लिए "कैटरपिलर"-SSA - ARIMA - SIGARCH और ARSIMA - SIGARCH मॉडल की विधि: द्वितीय अंतर्राष्ट्रीय वैज्ञानिक सम्मेलन "अर्थशास्त्र में गणितीय विधियां, मॉडल और सूचना प्रौद्योगिकी" की कार्यवाही, 4-6 मई 2011, चेरनोवित्स। — पृष्ठ 306—308।
  6. Kozhihova N.A., Shiryaev V.I. समय श्रृंखलाओं की भविष्यवाणी के लिए अराजक घटक का उपयोग। साउथ उरल स्टेट यूनिवर्सिटी की बुलेटिन, № 22, 2010, पृष्ठ 22-25।
  7. A.M. Avdeenko सलाहकार और संकेतक SSA मॉडलों और गैर-रेखीय सामान्यीकरणों पर आधारित // देखें। arXiv:

संबंधित पोस्ट

टिप्पणी (0)