यह MQL5 कोड एक कस्टम इंडिकेटर है जो डाइवर्जेंस को पहचानने और दिखाने के लिए डिज़ाइन किया गया है, जो कीमत की चाल और ऑसम ऑस्सीलेटर (AO) के बीच होती है। डाइवर्जेंस तब होता है जब कीमत की और ऑस्सीलेटर की चाल एक-दूसरे के साथ मेल नहीं खाती, जो अक्सर बाजार में संभावित पलटाव या निरंतरता का संकेत देती है। यह इंडिकेटर खरीद/बेचने के सिग्नल, AO का हिस्टोग्राम, और डाइवर्जेंस को उजागर करने के लिए ट्रेंडलाइन बनाता है।


इंडिकेटर की मुख्य विशेषताएँ:
-
डाइवर्जेंस पहचान:
- बुलिश डाइवर्जेंस (जब कीमत निम्नतम निम्न बनाती है जबकि AO उच्चतम निम्न बनाता है) पहचानता है।
- बेयरिश डाइवर्जेंस (जब कीमत उच्चतम उच्च बनाती है जबकि AO निम्नतम उच्च बनाता है) पहचानता है।
-
दृश्यता:
- खरीद/बेचने के तीर: चार्ट पर तीर बनाता है जो डाइवर्जेंस के आधार पर संभावित खरीद या बेचने के सिग्नल को इंगीत करता है।
- हिस्टोग्राम: ऑसम ऑस्सीलेटर (AO) के मान को हिस्टोग्राम के रूप में प्रदर्शित करता है।
- ट्रेंडलाइन: चार्ट पर ट्रेंडलाइन खींचता है जो कीमत और AO के बीच डाइवर्जेंस को उजागर करता है।
-
कस्टम बफर:
- चार बफर का उपयोग करता है:
- BuyBuffer और SellBuffer खरीद/बेचने के सिग्नल के लिए।
- HistogramBuffer AO के मानों के लिए।
- PointsCounterBuffer डाइवर्जेंस की पुष्टि के लिए संरेखित बिंदुओं को ट्रैक करता है।
- चार बफर का उपयोग करता है:
-
डायनामिक ट्रेंडलाइन ड्राइंग:
- CChartObjectTrend का उपयोग करके चार्ट पर कीमत और AO के लिए डायनामिक ट्रेंडलाइन खींचता है।
-
क्रॉसिंग चेक:
- एक फ़ंक्शन (CheckCrossing) शामिल है जो यह पुष्टि करता है कि कीमत या AO एक ट्रेंडलाइन को पार करता है, जो डाइवर्जेंस को पुष्टि या अमान्य करने में मदद करता है।
-
इंटरपोलैशन:
- लाइनर इंटरपोलैशन (CalculateIntermediateValue) का उपयोग करके दो बिंदुओं के बीच के मध्य मानों की गणना करता है, जिसका उपयोग क्रॉसिंग की जांच के लिए किया जाता है।
यह कैसे काम करता है:
-
इनिशियलाइजेशन:
- OnInit() फ़ंक्शन इंडिकेटर बफर को सेट करता है, प्रॉपर्टीज (जैसे रंग, स्टाइल) असाइन करता है, और ऑसम ऑस्सीलेटर (AO) हैंडल को इनिशियलाइज करता है।
-
मुख्य गणना:
- OnCalculate() फ़ंक्शन कीमत और AO डेटा को प्रोसेस करता है ताकि डाइवर्जेंस का पता लगाया जा सके:
- कीमत और AO में तल (निम्नतम निम्न) और चोटी (उच्चतम उच्च) की पहचान करता है।
- कीमत और AO प्रवृत्तियों की तुलना करके डाइवर्जेंस की जांच करता है।
- जब डाइवर्जेंस पुष्टि होती है, तो खरीद/बेचने के सिग्नल प्लॉट करता है और ट्रेंडलाइन खींचता है।
- OnCalculate() फ़ंक्शन कीमत और AO डेटा को प्रोसेस करता है ताकि डाइवर्जेंस का पता लगाया जा सके:
-
डाइवर्जेंस पुष्टि:
- डाइवर्जेंस की पुष्टि के लिए IsBullishTrend और IsBearishTrend जैसी शर्तों का उपयोग करता है।
- डाइवर्जेंस को मान्य करने के लिए कीमत और AO ट्रेंडलाइन के बीच कोई क्रॉसिंग नहीं होना सुनिश्चित करता है।
-
डायनामिक अपडेट्स:
- इंडिकेटर प्रत्येक नए बार के साथ डायनामिक रूप से अपडेट होता है, और आवश्यकता के अनुसार डाइवर्जेंस की फिर से गणना और ट्रेंडलाइन को फिर से खींचता है।
मुख्य फ़ंक्शंस:
-
IsBottom() और IsTop():
- एक एरे (कीमत या AO) में स्थानीय न्यूनतम (तल) और अधिकतम (चोटी) का पता लगाते हैं।
-
CheckCrossing():
- जांच करता है कि कीमत या AO एक ट्रेंडलाइन को पार करता है, जो डाइवर्जेंस को अमान्य कर सकता है।
-
CalculateIntermediateValue():
- ट्रेंडलाइन विश्लेषण के लिए रेखीय इंटरपोलैशन का उपयोग करके मध्य मानों की गणना करता है।
-
AddUniqueCoordinates():
- ट्रेंडलाइन ड्राइंग के लिए एरे में अद्वितीय गुणांक जोड़ता है।
-
TotalAligned():
- डाइवर्जेंस की ताकत की पुष्टि करने के लिए संरेखित बिंदुओं की संख्या गिनता है।
उपयोग:
- यह इंडिकेटर उन ट्रेडर्स के लिए उपयोगी है जो डाइवर्जेंस रणनीतियों पर निर्भर करते हैं ताकि बाजार में संभावित पलटाव या निरंतरता की पहचान कर सकें।
- यह व्यापारियों को सूचित निर्णय लेने में मदद करने के लिए दृश्य संकेत (तीर, ट्रेंडलाइन और हिस्टोग्राम) प्रदान करता है।
उदाहरण परिदृश्य:
- अगर कीमत निम्नतम निम्न (बेयरिश) बना रही है, लेकिन AO उच्चतम निम्न (बुलिश) बना रहा है, तो एक बुलिश डाइवर्जेंस पहचाना जाता है। इंडिकेटर एक खरीद तीर प्लॉट करेगा और डाइवर्जेंस को उजागर करने के लिए ट्रेंडलाइन खींचेगा।
- इसके विपरीत, अगर कीमत उच्चतम उच्च (बुलिश) बना रही है, लेकिन AO निम्नतम उच्च (बेयरिश) बना रहा है, तो एक बेयरिश डाइवर्जेंस पहचाना जाता है। इंडिकेटर एक बेच तीर प्लॉट करेगा और ट्रेंडलाइन खींचेगा।
तकनीकी विवरण:
- प्लेटफ़ॉर्म: MetaTrader 5 (MT5)।
- भाषा: MQL5।
- निर्भरता: गणनाओं के लिए ऑसम ऑस्सीलेटर (iAO) का उपयोग करता है।
- कस्टम ऑब्जेक्ट्स: ट्रेंडलाइन खींचने के लिए CChartObjectTrend और गुणांकों के एरे का प्रबंधन करने के लिए CArrayInt का उपयोग करता है।
यह इंडिकेटर उन व्यापारियों के लिए एक शक्तिशाली उपकरण है जो डाइवर्जेंस पहचान और दृश्यता को स्वचालित करना चाहते हैं, समय बचाते हुए और अपने व्यापारिक रणनीतियों में सटीकता में सुधार करते हैं।
संबंधित पोस्ट
- ओपन रेंज ब्रेकआउट इंडिकेटर: ट्रेडिंग में लाभ उठाने का तरीका
- Volume Profile + Range v6.0: MetaTrader 5 के लिए नया इंडिकेटर
- बोलिंजर स्क्वीज़ एडवांस्ड MT5 - आपके ट्रेडिंग के लिए परफेक्ट इंडिकेटर
- Volume Profile + Range v6.0: MetaTrader 5 के लिए एक बेहतरीन संकेतक
- ऑसम ऑस्सीलेटर डाइवर्जेंस: ट्रेडिंग के लिए असरदार संकेतक