दोस्तों, आज हम फिर से बुनियादी चीजों पर लौटते हैं:
हालांकि EMA (एक्सपोनेंशियल मूविंग एवरेज) काफी सरल है और इसका कोड निष्पादन समय एक संस्करण से दूसरे संस्करण में बहुत भिन्न नहीं होना चाहिए (EMA में लूप्स का उपयोग नहीं होता), फिर भी हमें तेज़ निष्पादन के लिए कुछ आसान से दोबारा उपयोग में आने वाले कोड की कमी महसूस होती है। यह संस्करण इस कमी को थोड़ा दूर करता है।
PS: OnCalculate() के वैकल्पिक मोड का उपयोग करना - यह मोड:
int OnCalculate( constint rates_total, // मूल्य[] ऐरे का आकार constint prev_calculated, // पिछले कॉल में हैंडल किए गए बार की संख्या constint begin, // मूल्य[] ऐरे में महत्वपूर्ण डेटा से शुरू होने वाला अनुक्रमांक constdouble& price[] // गणना के लिए मानों का ऐरे );
यह निष्पादन समय को और भी कम और तेज़ बना देगा (एक फ़ंक्शन के माध्यम से चुने गए मूल्य को प्राप्त करने में थोड़ा समय लगता है - ज्यादा नहीं, लेकिन बिना इस प्रक्रिया के तुलना में यह ध्यान देने योग्य है) लेकिन लचीलापन के लिए "मानक" मोड का उपयोग करना बेहतर है। एक ही रंग का संस्करण बनाना इसे और भी तेज़ बना देगा, लेकिन फिर मज़ा कहाँ रहेगा :)



टिप्पणी 0