विवरण
CADXWOnRingBuffer क्लास का उद्देश्य तकनीकी इंडिकेटर Average Directional Movement Index Wilder (Average Directional Movement Index Wilder, ADX Wilder) की गणना करना है, जो रिंग बफर एल्गोरिदम का उपयोग करता है।
घोषणा
class CADXWOnRingBufferशीर्षक
#include <IncOnRingBuffer\CADXWOnRingBuffer.mqh>CADXWOnRingBuffer.mqh क्लास की फ़ाइल को MQL5\Include\ में स्थापित करने की आवश्यकता है। इस फ़ोल्डर में उपयोग के लिए क्लास से संबंधित दो फ़ाइलें शामिल हैं। रिंग बफर और मूविंग एवरेज क्लास की फ़ाइल भी इस फ़ोल्डर में होनी चाहिए।
क्लास विधियाँ
//--- प्रारंभिककरण विधि: bool Init( // यदि त्रुटि है तो false, यदि सफल - true लौटाता है int ma_period = 14, // मूविंग एवरेज समतलन की अवधि ENUM_MA_METHOD ma_method = MODE_SMMA, // मूविंग एवरेज समतलन की विधि int size_buffer = 256, // रिंग बफर का आकार, संग्रहीत डेटा की संख्या bool as_series = false // सही, यदि समय श्रृंखला, गलत - यदि सामान्य डेटा का अनुक्रमण );
//--- समय श्रृंखला या संकेतक बफर पर आधारित गणना की विधि: int MainOnArray( // संसाधित तत्वों की संख्या लौटाता है const int rates_total, // ऐरे का आकार const int prev_calculated, // पिछले कॉल में संसाधित तत्व const double &high[] // अधिकतम मूल्य ऐरे const double &low[] // न्यूनतम मूल्य ऐरे const double &close[] // क्लोज प्राइस ऐरे );
//--- ऐरे में अलग-अलग श्रृंखला तत्वों के आधार पर गणना की विधि double MainOnValue( // सेट किए गए तत्व के लिए ADXW मान लौटाता है const int rates_total, // ऐरे का आकार const int prev_calculated, // ऐरे के संसाधित तत्व const int begin, // ऐरे के महत्वपूर्ण डेटा की शुरुआत const double high, // अधिकतम मूल्य const double low, // न्यूनतम मूल्य const double close, // क्लोज प्राइस const int index // तत्व का अनुक्रमांक );
//--- डेटा तक पहुँचने की विधियाँ: int BarsRequired(); // संकेतक को खींचने के लिए आवश्यक बार की संख्या लौटाता है string NameADXW(); // संकेतक का नाम लौटाता है string NameNDI(); // नकारात्मक दिशात्मक आंदोलन संकेतक रेखा का नाम लौटाता है string NamePDI(); // सकारात्मक दिशात्मक संकेतक रेखा का नाम लौटाता है string MAMethod(); // समतलन की विधि को पाठ पंक्ति के रूप में लौटाता है int MAPeriod(); // समतलन की अवधि लौटाता है int Size(); // रिंग बफर का आकार लौटाता है
रिंग बफर से संकेतक के गणितीय डेटा को सामान्य ऐरे के रूप में प्राप्त किया जा सकता है। उदाहरण के लिए:
#include <IncOnRingBuffer\CADXWOnRingBuffer.mqh> CADXWOnRingBuffer adxw; ... //+------------------------------------------------------------------+ //| कस्टम संकेतक पुनरावृत्ति कार्य | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime& time[], const double& open[], const double& high[], const double& low[], const double& close[], const long& tick_volume[], const long& volume[], const int& spread[]) { //--- संकेतक की गणना: adxw.MainOnArray(rates_total,prev_calculated,high,low,close); ... //--- संकेतक में "adxw" रिंग बफर से डेटा कॉपी करें: for(int i=start;i<rates_total;i++) { ADXW_Buffer[i] = adxw[rates_total-1-i]; // औसत दिशात्मक आंदोलन इंडेक्स वाइल्डर PDI_Buffer[i] = adxw.pdi[rates_total-1-i]; // सकारात्मक दिशात्मक इंडेक्स NDI_Buffer[i] = adxw.ndi[rates_total-1-i]; // नकारात्मक दिशात्मक इंडेक्स } ... }
कृपया ध्यान दें कि रिंग बफर में अनुक्रमण समय श्रृंखला के समान है।
उदाहरण
- The Test_ADXW_OnArrayRB.mq5 फ़ाइल मूल्य समय श्रृंखला के आधार पर संकेतक की गणना करती है। MainOnArray() विधि का उपयोग प्रदर्शित किया गया है।
- The Test_ADXW_OnValueRB.mq5 फ़ाइल MainOnValue() विधि के उपयोग को प्रदर्शित करती है। पहले ADXW संकेतक की गणना की जाती है और खींची जाती है। फिर इस संकेतक के रिंग बफर के आधार पर ADXW संकेतक की तीन रेखाओं की गणना की जाती है।

Test_ADXW_OnArrayRB.mq5 का कार्य का परिणाम, रिंग बफर का आकार 256 तत्व

Test_ADXW_OnValueRB.mq5 का कार्य का परिणाम, रिंग बफर का आकार 256 तत्व
कोड लिखने में MetaQuotes Software Corp., Integer और GODZILLA का उपयोग किया गया है।
संबंधित पोस्ट
- ओपन रेंज ब्रेकआउट इंडिकेटर: ट्रेडिंग में लाभ उठाने का तरीका
- Volume Profile + Range v6.0: MetaTrader 5 के लिए नया इंडिकेटर
- iSpread: मेटा ट्रेडर 5 के लिए स्प्रेड इंडिकेटर जो पेयर ट्रेडिंग को आसान बनाता है
- बोलिंजर स्क्वीज़ एडवांस्ड MT5 - आपके ट्रेडिंग के लिए परफेक्ट इंडिकेटर
- 3 इन 1 स्टोकैस्टिक: आपके MetaTrader 5 के लिए बेहतरीन इंडीकेटर