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

MetaTrader 5 में OnCalculate पैरामीटर्स का मूल्यांकन - एक उपयोगी इंडिकेटर

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

नमस्ते ट्रेडर्स! आज हम बात करेंगे एक ऐसे उपकरण की जो नए इंडिकेटर प्रोग्रामर्स और उन सभी के लिए बहुत उपयोगी है, जो OnCalculate और अन्य फ़ंक्शंस द्वारा प्रदान किए गए मूल्यों को देखना चाहते हैं। यह इंडिकेटर निम्नलिखित जानकारी दिखाता है:
1) सबसे हालिया मान जो सबसे हालिया OnCalculate कॉल के साथ दिया गया।
2) पिछले OnCalculate कॉल से प्राप्त मान।
3) पहली बार OnCalculate कार्यान्वित होने पर प्राप्त मान।
4) प्रत्येक ऐरे की श्रृंखला मान, चाहे वह 'as_series' हो या 'not_series', जिसे आप डिस्प्ले पर क्लिक करके बदल सकते हैं।

संस्करण 1.10 में एक नई सुविधा जोड़ी गई है, जो आपको यह तय करने की अनुमति देती है कि ऐरे को श्रृंखला के रूप में सेट किया जाए या नहीं - बस टेक्स्ट पर क्लिक करें। इसके अलावा, विंडो बार और पहले दृश्य बार के मान चार्ट में बदलाव के साथ गतिशील रूप से सेट होते हैं। ON/OFF डिस्प्ले यह संकेत करता है कि अगली OnCalculate कार्यान्वयन में इसके सेटिंग्स के साथ क्या होगा, बनाम जो पिछले कार्यान्वयन में हुआ।

संस्करण 1.20 में यह सुविधा जोड़ी गई है कि आप इंडिकेटर को ऐरे को 'as_series' या 'not_series' सेट करने के लिए चुन सकते हैं, यह भी टेक्स्ट पर क्लिक करके। अब इंडिकेटर समय ऐरे के दोनों सिरों और iMA बफर के दोनों सिरों को भी प्रदर्शित करता है। ये परिवर्तन 'as_series' और 'not_series' ऐरे के बीच का अंतर स्पष्ट करने के लिए हैं। अब, डिस्प्ले को आवश्यकता के अनुसार OnTimeEvent हैंडलर का उपयोग करके ताज़ा किया जाता है, जिससे OnCalculate के कार्यान्वयन का समय 300 मिलीसेकंड से घटकर 1 मिलीसेकंड से भी कम हो जाता है - कार्यान्वयन समय को देखने के लिए आपको केवल कोड को अन-कॉमेंट करना है।

इस चित्र में OnCalculate_Values उपयोगिता द्वारा प्रदर्शित मानों को दिखाया गया है। ध्यान दें कि '/' द्वारा विभाजित तीन मान हैं, जो "सबसे हालिया मान", "पिछला मान" और "पहला मान" को अलग करते हैं। OnCalculate मान हर OnCalculate इवेंट के साथ 'as_series' या 'not_series' पर सेट होते हैं - जब 'Set Arrays' 'ON' होता है, अन्यथा, उन्हें टर्मिनल के डिफ़ॉल्ट मान पर छोड़ दिया जाता है। ध्यान दें कि ऐरे नामों के बाद कोष्ठक में मान, यह संकेत करता है कि मान किस बार से आता है - '0' मान, या 'अधिकतम इंडेक्स पर मान'।

OnCalculate Values Display

    कोड एकल इंडिकेटर लाइन को लागू करता है, जो iMA द्वारा प्रदान किए गए प्रत्येक बार के ओपन प्राइस का प्लॉट है; इसका उद्देश्य "BarsCalculated" फ़ंक्शन का उपयोग करने के लिए एक बफर प्रदान करना और यह दिखाना है कि इंडिकेटर 'as_series' या 'not_series' पर सेट होने पर कैसे प्रदर्शित होता है। iMA_Val[0] पर क्लिक करने से iMA बफर को केवल एक बार 'as_series' या 'not_series' पर सेट किया जाता है; iMA इंडिकेटर ऐरे को OnCalculate के प्रत्येक कॉल के साथ सेट नहीं किया जाता है।

    एक संग्रह ऐरे में डिस्प्ले ऑब्जेक्ट्स (OBJ_LABEL) के गुणों को होल्ड किया जाता है:

    "ArrayGetAsSeries" फ़ंक्शन का उपयोग यह निर्धारित करने के लिए किया जाता है कि OnCalculate पैरामीटर्स में ऐरे समय श्रृंखला ऐरे हैं या नहीं, और डिस्प्ले परिणाम दिखाता है (As_Series या Not_Series) - डिस्प्ले यह दिखाता है कि ये ऐरे प्रारंभ में श्रृंखला नहीं हैं, या एक कॉल से दूसरे कॉल के बीच श्रृंखला के रूप में सेट होने के बाद हैं (SetAsSeries फ़ंक्शन उन्हें केवल तभी श्रृंखला के रूप में सेट करता है जब यह चालू हो, अन्यथा, उन्हें उनके डिफ़ॉल्ट पर वापस ले जाता है - यह 'as series' को गलत नहीं सेट करता)।

    3 सदस्यीय ऐरे, ary_OnCalcVals, में 1) सबसे हालिया, 2) पिछला, और 3) पहले मान होते हैं जो OnCalculate पैरामीटर्स में पाए जाते हैं। CopyNewToOld और MoveNewTo फ़ंक्शन वर्तमान मान को प्रत्येक डिस्प्ले पैरामीटर के लिए लेते हैं और इसे ary_OnCalcVals द्वारा प्रदान की गई ऐतिहासिक संग्रहण में रख देते हैं।


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

    टिप्पणी (0)