@ जेन; क्या आप कृपया निम्न परंपरा कोड को MT4 में परिवर्तित करने में मेरी सहायता कर सकते हैं: सम्मिलित कोड {चॉपी मार्केट इंडेक्स फ़ंक्शन यह फ़ंक्शन 0 से 100 के मान देता है। कम मान उच्च बाजार अनिश्चितता (चापलूसी) को दर्शाता है, जबकि एक उच्च मूल्य एक प्रवृत्त बाजार को दर्शाता है । एकमात्र इनपुट बार की संख्या है जिसे हम वापस देखते हैं।} इनपुट: अवधि लम्बाई (संख्यात्मक); वर्ण: संख्या (0), denom (1); यदि (periodLengthlt; gt; 0) तो denom = उच्चतम (उच्च, अवधि लंबाई) शुरू करें - निम्नतम (निम्न, अवधि लंबाई); संख्या = बंद # 91; अवधि लम्बाई -1 # 9 3; - बंद करे; num = AbsValue (num); ChoppyMarketIndex = 0.0; अगर (denomlt; gt; 0) तो ChoppyMarketIndex = numdemon * 100; समाप्त; क्या आपने देखा कि यह फ़ंक्शन अन्य कार्यों (बिल्डिंग ब्लॉक) से कैसे बनाया गया था? हमने उच्चतम और निम्नतम कार्यों का उपयोग करके denom (denominator) की गणना की। हमने AbsValue (संख्या का पूर्ण मूल्य देता है) फ़ंक्शंस का उपयोग करके num (numerator) की गणना की। इस फ़ंक्शन में कोड का एकमात्र भ्रमित स्निपेट शायद: सम्मिलित कोड बंद # 91; अवधि लम्बाई -1 # 9 3; - बंद करें आप पूछ रहे हैं कि हमने अवधि लम्बाई से 1 क्यों घटाया। यह एक बड़ा सवाल है। यदि आप आज की समाप्ति कीमत को गणना में शामिल करते हैं, तो 30 दिनों पहले बंद होने वाली कीमत को बंद [2 9] द्वारा संदर्भित किया जाएगा। याद रखें कि बंद [1] कल की समाप्ति कीमत आज नहीं है। चूंकि हम चाहते हैं कि हमारी अनुक्रमणिका 0 और सकारात्मक 100 के बीच बहती है, हम बाजार में नीचे की ओर जाने के नकारात्मक संकेत को हटा देते हैं। हम केवल पूर्ण दूरी में रुचि रखते हैं। यहां मैं जो आया हूं, लेकिन यह सुनिश्चित नहीं है कि इसे सही ढंग से कोड किया गया है: सम्मिलित कोड डबल चॉपी मार्केट इंडेक्स (int periodLength) {double num = 0; डबल denom = 0; यदि (अवधि लंबाई: = 0) {denom = उच्च # 9 1; iHighest (प्रतीक (), PERIOD_D1, MODE_HIGH, अवधि लंबाई, 0) # 9 3; - कम # 9 1; iLowest (प्रतीक (), PERIOD_D1, MODE_LOW, अवधि लंबाई, 0) # 9 3 ;; संख्या = बंद # 91; अवधि लम्बाई -1 # 9 3; - बंद # 9 1; 1 # 9 3 ;; num = MathAbs (num);/denom = MathAbs (denom); } अगर (denom! = 0) {वापसी (सामान्यीकृत डबल (संख्याdenom * 100,0)); } } अग्रिम में धन्यवाद,