1 अटैचमेंट (ओं) मैं अभी भी बिल्ड 509 कंपाइलर का उपयोग करता हूं, जहां असंतुलित बाएं कोष्ठक त्रुटि एक वास्तविक उपद्रव हो सकती है, प्रोग्रामर को दुष्ट ब्रैकेट खोजने के लिए पूरे स्रोत प्रोग्राम को खोजने के लिए मजबूर करना। विशेष रूप से यदि आपके EA के पास कोड की कई सौ पंक्तियाँ हैं। यदि यह अब 600 के निर्माण में कोई समस्या नहीं है, तो यह ऐप अभी भी आपके कोड में बेजोड़ गोल कोष्ठक, वर्गाकार कोष्ठक, घुंघराले कोष्ठक या कोण कोष्ठक खोजने के लिए उपयोगी हो सकता है। अन्यथा इस पोस्ट को इग्नोर करें।
इस छोटे से प्रोग्राम को अनज़िप करें और अपने एक्सपर्ट्स या इंडोर्स फोल्डर में इंस्टॉल करें। फिर इसे चलाएं, और फ़ाइल का चयन करें (जैसे MyEA.mq4) जिसे आप इसे खोजना चाहते हैं, और बायां वर्ण (गोल ब्रैकेट, स्क्वायर ब्रैकेट, बाएं घुंघराले ब्रेस या कोण ब्रैकेट) आप इसे रिपोर्ट करना चाहते हैं। ओके पर क्लिक करें, और यह .mq4 फ़ाइल के समान फ़ोल्डर में एक फ़ाइल (जैसे MyEA.out) उत्पन्न करेगा, जो किसी भी बेमेल को हाइलाइट करता है। आउटपुट फ़ाइल स्रोत कोड के बाईं ओर 5 अतिरिक्त कॉलम प्रिंट करती है:कॉलम 2: कोड की प्रत्येक पंक्ति में बाएं कोष्ठक की संख्या कॉलम 3: कोड की प्रत्येक पंक्ति में दाएं कोष्ठक की संख्या यदि बाईं ओर की संख्या कोष्ठक सही कोष्ठकों की संख्या के बराबर नहीं है, तीन तारांकन (***) कॉलम 1 में छपे हैं, समस्या के संभावित कारण को उजागर करते हुए कॉलम 4: यह पूरे कार्यक्रम में दाएं कोष्ठकों पर बाएं कोष्ठकों की अधिकता का कुल योग है , सकारात्मक अगर जीटी छोड़ दिया; दाएँ, और ऋणात्मक यदि सही gt; बाएं। यह मेल खाने वाले ब्रेसिज़ को खोजने के लिए उपयोगी है जो कोड के प्रारंभ/समाप्ति ब्लॉक (यह हमेशा प्रत्येक फ़ंक्शन/सबरूटीन के अंत में 0 पर वापस आना चाहिए) कॉलम 5: लाइन/पंक्ति संख्या। हमेशा की तरह, ऐप को 'जैसा है' के आधार पर निःशुल्क प्रदान किया जाता है। डाउनलोड करें और अपने जोखिम पर उपयोग करें।
नीचे एक ईए से एक कोड टुकड़ा है जिसे मैंने ऐप द्वारा एनोटेट किए जाने के बाद लिखा था। आप देख सकते हैं कि कैसे इसने लाइन #371 में लापता ब्रैकेट को हाइलाइट किया है।
डाला गया कोड डिफ ( ) /- लाइन प्रोग्राम कोड 1 1 354 के लिए (oper=OP_BUY; operlt;=OP_SELL; oper ) { 1 1 355 buy_ok = (oper==OP_BUY);/डिफ़ॉल्ट = अन्यथा सिद्ध होने तक सत्य मानें 2 2 356 if (StringFind(PulbackRequirements,P)gt;=0 High1gt;=High2) buy_ok = false;/आवश्यक पुलबैक का अर्थ निम्न उच्च 2 2 357 if (MA7gt;0 Low1gt;MA7) buy_ok = false;/EMA(7) 3 3 358 if (MA7gt;0 MA20gt;0 MA7lt;=MA20) buy_ok = false;/MA संरेखण, EMA(7) EMA(20) 3 3 359 से अधिक होना चाहिए if (MA20gt;0 MA50gt;0 MA20lt;=MA50) buy_ok = false;/MA संरेखण, EMA(20) EMA(50) 3 3 360 से अधिक होना चाहिए if (StringFind(EntryType,M)gt;=0 Close1lt;=Open1) buy_ok = false;/आवश्यक गति नहीं (हरा) कैंडल 3 3 361 if (StringFind(EntryType,R)gt;=0 Close1gt;=Open1) buy_ok = false;/आवश्यक पुलबैक/रिवर्सल (लाल) कैंडल नहीं 362 1 1 363 सेल_ओके = (ऑपर==ओपी_सेल);/डिफ़ॉल्ट = अन्यथा साबित होने तक सही मान लें 2 2 364 if (StringFind(PulbackRequirements,P)gt;=0 Low1lt;=Low2) sell_ok = false;/अपेक्षित पुलबैक का अर्थ उच्चतर निम्न 2 2 365 if (MA7gt;0 High1lt;MA7) sell_ok = false;/EMA(7) 3 3 366 if (MA7gt;0 MA20gt;0 MA7gt;=MA20) sell_ok = false;/MA संरेखण, EMA(7) EMA(20) 3 3 367 से कम होना चाहिए if (MA20gt;0 MA50gt;0 MA20gt;=MA50) sell_ok = false;/MA संरेखण, EMA(20) EMA(50) 3 3 368 से कम होना चाहिए if (StringFind(EntryType,M)gt;=0 Close1gt;=Open1) sell_ok = false;/आवश्यक गति नहीं (लाल) मोमबत्ती 3 3 369 if (StringFind(EntryType,R)gt;=0 Close1lt;=Open1) sell_ok = false;/अपेक्षित पुलबैक/रिवर्सल (हरा) कैंडल 370 *** 3 2 1 371 if (PostDiagnosticInfo gt;= 3) डंप (NumberToStr(oper,1' about test buy_ok/sell_ok');/पोस्ट डायग्नोस्टिक जानकारी !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2 2 1 372 if (!buy_ok !sell_ok) return(0); 1 373 1 374 ऑर्डर_टाइप = -1;/डिफ़ॉल्ट मान सेट करें: -1 = कोई ऑर्डर नहीं; 0=खरीदें; 1=बेचें; 2=खरीद की सीमा; 3=बेचने की सीमा; 4=बंद करें खरीदें; 5=बिक्री रोकें 1 375 डीआईआर = 0;//आदेश ध्रुवता: 0 = कोई क्रम नहीं; 1 = ऑर्डर खरीदें; -1 = बेचने का ऑर्डर 1 376 इंट मैजिक = 0; 1 377 रंग arrow_color = CLR_NONE;
https://www.asjforex.com/attachments...1025925015.zip