मेटाट्रेडर 5 - ट्रेडिंग सिस्टम







+

स्टैंडर्ड लाइब्रेरी की तलाश ट्रेडिंग रणनीति वर्ग - अनुकूलित रणनीतियाँ स्टैंडर्ड लाइब्रेरी की तलाश ट्रेडिंग रणनीति वर्ग - अनुकूलित रणनीतियाँ इस लेख में हम ट्रेडिंग रणनीति वर्गों का मानक पुस्तकालय का पता लगाने और कैसे MQL5 जादूगर के पैटर्न और मॉडल तर्क का उपयोग कर कस्टम रणनीतियाँ और फ़िल्टर / सिग्नल से जोड़ने के लिए करने के लिए कैसे दिखाने के लिए जा रहे हैं। अंत में आप आसानी से सक्षम हो मेटाट्रेडर 5 मानक संकेतक का उपयोग कर अपनी खुद की रणनीति को जोड़ने, और MQL5 जादूगर एक स्वच्छ और शक्तिशाली कोड और पूरी तरह कार्यात्मक विशेषज्ञ सलाहकार पैदा करेगा होगा। परिचय यह लेख कार्यक्षमता के साथ और खरोंच से एक ईए लिखने के बिना अनुकूलन के लिए किसी तरह का दृष्टिकोण करने के लिए चाहते हैं, जो नौसिखिया / शुरुआत उपयोगकर्ताओं के लिए करना है। MQL5 जादूगर: मेटाट्रेडर 5 में हम प्रोग्रामिंग भाषा और सूत्रों की कोडिंग, एक MetaEditor सुविधा के लिए धन्यवाद के बारे में कम से कम या शून्य ज्ञान (और कौशल) के साथ विशेषज्ञ व्यापार की एक बड़ी संभावना है। जादूगर समाप्त कार्यक्रमों (.mq5 और. ex5 फ़ाइलें) उत्पन्न करने का इरादा है, एल्गोरिदम और कोड (हम अपने इस लेख में यहाँ काम कर विस्तृत समझाने के लिए नहीं जा रहे हैं)। यह MQL5 मानक पुस्तकालय और (महान संसाधन हैं जो) ने अपने ट्रेडिंग रणनीति शैक्षणिक का उपयोग करने से फायदा होता है। वास्तव में मानक पुस्तकालय में वर्तमान व्यापार रणनीति वर्गों के बहुत सारे हैं, उनमें से कुछ पहले से ही बहुत अच्छा कर रहे हैं और वित्तीय बाजारों और लाभप्रदता विश्लेषण के बारे में और अधिक या कम प्रसिद्ध अध्ययनों से आते हैं। मेटाट्रेडर 5 के साथ आते हैं कि संकेतकों के मानक सेट से प्रत्येक सूचक के लिए कम से कम एक रणनीति है। इन ट्रेडिंग रणनीति वर्ग से व्यापार संकेतों की स्थापना करने के लिए, MQL5 जादूगर "ट्रेडिंग पैटर्न" के रूप में कोडित एक तर्क से सूचक के व्यवहार बनाया हुआ कहता है कि एक तंत्र का उपयोग करता है। और हर विशिष्ट उत्पन्न ईए तो व्यापार के उद्देश्य के लिए ईए कोर में आयात कर रहे हैं कि (# शामिल निर्देश के माध्यम से) संकेतकों और पैटर्न के अपने सेट और व्यापारिक निर्णय करने के लिए कहता है। MQL5 जादूगर पहला कदम MQL5 जादूगर का उपयोग कर एक विशेषज्ञ सलाहकार बनाने के लिए है। MetaEditor में MQL5 जादूगर "फाइल" मेनू या प्रेस "नया" बटन से "नया" का चयन खोलने के लिए, तो "विशेषज्ञ सलाहकार (उत्पन्न)" विकल्प का चयन करें। की "MyExpert" के रूप में MQL5 विज़ार्ड में उत्पन्न हमारे विशेषज्ञ सलाहकार नाम हैं। तो फिर हम (आप उपलब्ध संकेतकों से चाहते हैं के रूप में आप के रूप में कई शर्तों का चयन कर सकते हैं) के साथ काम करने के लिए दो संकेतक / संकेतों जोड़ें। रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई) और आगे बढ़ औसत (एमए): हमारे उदाहरण के लिए हम दो प्रसिद्ध संकेतक जोड़ दें। पहले आरएसआई सूचक जोड़ें और फिर एमए सूचक जोड़ें। हम चाहते हैं, के रूप में कुछ मानकों सेट, या हमारे उदाहरण के लिए तयशुदा मापदंडों छोड़ सकते हैं। ठीक क्लिक करें और जादूगर के साथ पर जाने के बाद, हम अगले विंडो में किसी भी ट्रेलिंग स्टॉप (अब के लिए) का चयन नहीं होगा, लेकिन क्या आप जोड़ सकते हैं चाहें तो: यह इस लेख का विषय को प्रभावित नहीं करेगा। फिर, यह हमारे लेख के तर्क को प्रभावित नहीं करेगा: अगली विंडो में हम व्यापार के प्रतिशत और 0.1 बहुत सारे हैं, या आप चाहते हैं किसी भी अन्य मानकों के रूप में 5.0 का चयन करेंगे। विश्लेषण कोड जनरेट खत्म करने के बाद आप "MyExpert. mq5" फाइल करना होगा। के उत्पन्न कोड के मुख्य बिंदुओं का विश्लेषण करते हैं। पहले नोटिस # शामिल फ़ाइलों जादूगर द्वारा उत्पन्न कोड के लिए कहा। हम देख सकते हैं: Expert. mqh SignalRSI. mq SignalMA. mqh कोड की तो निम्न हिस्से: शीर्षक का सुझाव है, यह एक चार्ट से जुड़ी या रणनीति परीक्षक में परीक्षण किया जा रहा है कि उत्पन्न ईए के बाजार की स्थितियों के लिए लागू किया जाएगा कि "फिल्टर" है। filter0 तो शून्य का एक "सूचकांक" के साथ पहली फिल्टर है, और यह पहली फिल्टर करने के लिए हम हमारे उदाहरण में आरएसआई का चयन किया है। CSignalRSI कक्षा सिग्नल आरएसआई इसका मतलब है। इस वर्ग आरएसआई सूचक फोन और जादूगर के पैटर्न तर्क के प्रयोग के माध्यम संकेतों खरीदें बनाने के लिए यह करने के लिए कुछ शर्तें लागू होती हैं या बेचने के लिए प्रयोग किया जाता है। आरएसआई तो हमारी पहली फिल्टर (फिल्टर संख्या 0) है। धन प्रबंधन के बारे में है कि कोड की भाग - कोड की निम्न हिस्से में कुछ फिल्टर के तत्कालीन ट्रेलिंग स्टॉप धारा (हम कोई अनुगामी विकल्प चुना है) पैरामीटर, और बाद में देखते हैं। पर जा रहे हैं, हम हैं: यह खंड Expert. mqh फ़ाइल को शामिल करने के अंतर्गत आता है। यह विशेषज्ञ संचालन के लिए आवश्यक संकेतक के प्रारंभ के बारे में है। और उत्पन्न ईए कोड के पिछले हिस्से deinitialization और अन्य सामान्य विशेषज्ञ सलाहकार की घटनाओं के बारे में है: असल में इस ईए "फिल्टर" और "वजन" तर्क का उपयोग कि व्यापार वर्गों के मानक पुस्तकालय के माध्यम से व्यापार निर्णयों के लिए दो संकेतक (आरएसआई और एमए) का उपयोग करता है। आप MQL5 संदर्भ का व्यापार सिग्नल खंड के मॉड्यूल में इसके बारे में अधिक जानकारी पा सकते हैं। लेकिन हमारा उद्देश्य नए फिल्टर के रूप में हमारे खुद के व्यापार रणनीतियों का उपयोग करने के लिए है। पहले कदम के लिए (हमारे अपने व्यापार रणनीतियों का उपयोग करते हुए) तो हम थोड़ा हमारे MyExpert. mq5 को संशोधित करने के लिए जा रहे हैं। सबसे पहले, चलो एक और फिल्टर जोड़ दें। यह filter2 हो जाएगा और हम सिर्फ कोड की filter1 भाग के बाद यह जगह होगी। के फिल्टर और बाजार निर्णय लेने के प्रमुख हैं कि # शामिल फाइल करने के लिए वापस जाओ। पहले एक #include व एलटी है; विशेषज्ञ \ Expert. mqh & gt; फ़ाइल। इसके बदले में यह शामिल है फ़ाइल अन्य फ़ाइलों में शामिल हैं: #include "ExpertBase. mqh" #include "ExpertTrade. mqh" #include "ExpertSignal. mqh" #include "ExpertMoney. mqh" #include "ExpertTrailing. mqh" इन फ़ाइलों को क्रमश: ईए, व्यापार संरचना, सिग्नल, पैसे की मुख्य संरचना और पीछे को रोकने संभाल रहे हैं शामिल हैं। हम गहराई से इन फ़ाइलों का विश्लेषण करने या उन्हें संशोधित करने के लिए नहीं जा रहे हैं। हमारा उद्देश्य संकेतकों की मेटाट्रेडर 5 मानक सेट से मौजूदा संकेतक का उपयोग करने और उनकी फाइल में शामिल जोड़कर हमारी अपनी रणनीतियों को जोड़ने पर ध्यान केंद्रित करने की है। MyExpert. mq5 कोड में हम व्यापार के बाजार के निर्णय के लिए संकेतों / फिल्टर के रूप में इस उदाहरण में इस्तेमाल किया है कि आरएसआई और एमए संकेतकों के # शामिल फाइल किया है। इस बिंदु पर, चलो हमारे स्वयं के कस्टम फ़ाइल को शामिल जोड़ दें। उस प्रयोजन के लिए हम सीसीआई सूचक से संबंधित संकेतों के एक संशोधित ("सुधार") संस्करण का उपयोग करेगा। संकेत फाइल पहले से ही वर्तमान में - मानक ज्ञानपीठ के अन्य # शामिल व्यापार वर्गों की तरह, ईए उत्पन्न \ MQL5 \ में रखा जाना चाहिए SignalCCIxx. mqh फ़ाइल \ विशेषज्ञ \ सिग्नल \ फ़ोल्डर शामिल हैं और यह जादूगर का integrability साथ अनुरूप होना चाहिए इस फ़ोल्डर (SignalRSI. mqh और SignalMA. mqh)। इस उदाहरण के लिए, हम मूल सीसीआई फाइल कॉपी बनाने CCIxx नामक एक और एक कुछ थोड़ा संशोधित कोड के साथ और # शामिल फ़ाइल के रूप में उपयोग करने के लिए जा रहे हैं। अब, सादगी के लिए, हम सिर्फ मानक लाइब्रेरी से सीसीआई सूचक की एक नकल संस्करण का उपयोग करें। क्या हमें क्या करना है फ़ाइल \ "विशेषज्ञ \ सिग्नल \ SignalCCI XX. mqh शामिल \ MQL5 \" करने के लिए फ़ाइल "\ MQL5 \ \ विशेषज्ञ \ सिग्नल \ SignalCCI. mqh शामिल करें" की नकल है। आप यह कर सकते हैं सबसे आसान तरीका फ़ोल्डर में फ़ाइल की एक प्रतिलिपि बनाने के लिए और फिर यह नाम बदलने के लिए है। चलो अब इस फ़ाइल पर नजर डालते हैं। जादूगर उत्पन्न MyExpert. mq5 में इस 'कस्टम' जिस तरह की एकता सिर्फ एक काम खत्म कर रहा है। जैसा कि ऊपर बताया हम filter2 कोड जोड़ लिया है, और अब हम बाद में पूरा हो जाएगा। इसलिए हम अब और MyExpert. mq5 फ़ाइल पर ध्यान केंद्रित करने के लिए नहीं जा रहे हैं, लेकिन अब से हम कारण सीसीआई सूचक के अपने filter2 व्यापार के संकेत के लिए ईए के असली कोर है कि SignalCCIxx. mqh फाइल पर ध्यान दिया जाएगा। अनुकूलित रणनीति हम SignalCCI. mqh का संशोधित संस्करण है कि हम CCIxx कॉल 'अर्द्ध कस्टम' रणनीति फिल्टर जोड़ने के लिए वापसी। वास्तव में यह नहीं बल्कि इस तरह से साथ मेटाट्रेडर 5 के साथ आते हैं कि संकेतक, यहां तक ​​कि अनुभवहीन उपयोगकर्ताओं और प्रोग्रामर के मानक सेट से सीसीआई सूचक के एक बदल दिया संस्करण एक पूरी तरह से नए कस्टम संकेत नहीं है, बल्कि इसलिए कि मैं यह अर्द्ध कस्टम परिभाषित दूसरे शब्दों में आप खरीदने पैदा करने और बाजार के संकेतों को बेचने के लिए फिल्टर और पैटर्न के अपने खुद के संस्करण बना सकते हैं तो थोड़ा, मौजूदा संकेतक की बड़ी संख्या का उपयोग कर MQL5 जादूगर द्वारा उत्पन्न एक ईए के पैटर्न और फिल्टर संशोधित कर सकते हैं। यह अभी भी रणनीति के साथ काम करने के लिए एक उत्कृष्ट आधार है। चलो इस उदाहरण में देखें। यह बस (मौजूदा संकेतक के लिए कुछ कस्टम पैटर्न जोड़ने के लिए) इस सुविधा की जरूरत है, जो उन लोगों के लिए उपयोगी हो जाएगा और सिर्फ विज़ार्ड का उपयोग कर स्वचालित ट्रेडिंग चैम्पियनशिप में भाग लेने के लिए चाहते हैं के लिए जल्दी है कि एक पूरी तरह कार्यात्मक (और वैध) ईएएस बनाने के लिए अनुकूलन के कुछ प्रकार की। ट्रेलिंग स्टॉप, धन प्रबंधन और प्रतिस्पर्धी व्यापार के लिए आवश्यक सब कुछ के साथ पूरी तरह कार्यात्मक एक चैम्पियनशिप अनुकूल ईए, बनाने - यह सिर्फ काम के 1 घंटे में प्राप्त किया जा सकता है। मैं यह चैम्पियनशिप अनुकूल नामित रूप में है कि ईए पर फिर से ध्यान केंद्रित यह वास्तव में उत्पन्न कोड त्रुटियों से मुक्त है कि इसका मतलब है, जादूगर द्वारा उत्पन्न होता है, इसलिए प्रतिभागियों को कीड़े या त्रुटि के लिए कुछ भी या भय को दूर करने के लिए नहीं है! ईए सिर्फ व्यापार होगा और व्यापार के लिए, कम से कम भाग लेने के लिए चाहते हैं के लिए बिल्कुल सही होगा, लेकिन प्रोग्रामिंग के बारे में पता नहीं है और (चैम्पियनशिप में भाग लेने के लिए एक अच्छा विकल्प) नौकरियाँ सेवा में एक ईए आदेश नहीं करना चाहते हैं । तुम्हारे मन में है रणनीति के लिए अपने स्वयं के ट्रेडिंग रोबोट बंद करने के लिए आदेश में सौंपा जा सकता है कि इनपुट पैरामीटर्स के बहुत सारे हैं। लेकिन अगर आप वास्तव में केवल व्यापार रणनीति कक्षाओं के जादूगर और मानक पुस्तकालय के माध्यम से MetaQuotes द्वारा की पेशकश फिल्टर / पैटर्न के मानक सेट के साथ संकेतकों के मानक सेट का उपयोग कर सकते हैं। यह संयोजन और सफल व्यापार की संभावना की एक बड़ी संख्या प्रदान करता संकेतक आप करेंगे जल्दी और आसानी से सीख इस आलेख में उदाहरण अवधि, एप्लाइड मूल्य, आदि के लिए कई मानकों (समय सीमा, प्रतीक) और संकेतक के ही सभी मापदंडों के रूप में कैसे अनुकूलित और मेटाट्रेडर 5 मानक संकेतक के लिए पैटर्न / फिल्टर जोड़ने के लिए। के अनुकूलित और हमारे अपने सीसीआई संकेत व्यापार मॉडल (CCIxx) बनाने के लिए, अपने व्यवहार को संशोधित करने के क्रम में SignalCCIxx. mqh फाइल पर जारी है। सबसे पहले, MyExpert. mq5 फ़ाइल में निम्नलिखित उदाहरण (प्रकाश डाला कोड देखें) की तरह, इनपुट अनुभाग में नए कोड के लिए नया चर जोड़ दें: हम क्रमश: 0.7 और 0.6 के लिए 1.0 से Signal_RSI_Weight और Signal_MA_Weight चर के मूल्यों को बदल दिया है, और हम लाइनों के ऊपर प्रकाश डाला गयी। आदेश में सही ढंग से हम SignalCCI. mqh फ़ाइल से कोड के इस 3 लाइनों की नकल की और बस के बाद पोस्टफिक्स "XX" जोड़ा वास्तव में, व्यापार रणनीति कक्षाओं में सीसीआई सूचक से संबंधित पैटर्न के CCIxx संशोधित संस्करण के लिए इनपुट पैरामीटर के साथ काम करने के लिए "सीसीआई"। कक्षा घोषणा की "संरक्षित" खंड में कई रोचक तत्व हैं: M_pattern बुलाया पूर्णांक प्रकार पर एक नजर डालें। इन चर उत्तरोत्तर उनमें से हर एक को दूसरे शब्दों में "पैटर्न" या, खरीद और एक वित्तीय उपकरण बेचने के लिए शर्तों बनाने बाजार के फैसले का एक मॉडल है, 0-3 गिने जा रहे हैं। M_pattern_4 और m_pattern_5: हम 2 कस्टम पैटर्न जोड़ने के लिए जा रहे हैं। यह कोड की दो लाइनों, दो पूर्णांक प्रकार चर जोड़कर बस किया जाता है। आप कोड को देखने के लिए जारी रखते हैं, तो आप खरीद और बिक्री, और सब कुछ का तर्क समझ जाएगा। लेकिन हम लाइन से लाइन को समझाने के लिए नहीं जा रहे हैं के रूप में उन इस उद्देश्य के लिए, पाठक फाइलों में ही खोलने के लिए और अध्ययन कर सकते हैं (फाइल भी शामिल है, और MQL5 संदर्भ है, केवल अपने स्वयं के पैटर्न जोड़ने के लिए कैसे के वर्गों पर यहाँ ध्यान देना होगा भी) समझ में मदद करने के लिए। हम भी ऐसा करना चाहते हैं: CSignalCCIxx. mqh फ़ाइल प्रेस Ctrl + एच में, "सीसीआई" के लिए खोज और "CCIxx" के साथ बदलें। "सभी को बदलें" पर क्लिक करें - 41 घटनाओं पाया और प्रतिस्थापित किया जाना चाहिए। फाइल के शीर्ष में, यहां चलते हैं: और इस परिवर्तन: मूल SignalCCI. mqh में इस तरह के साथ: हम एक और शामिल से CiCCI कहा जाता है क्योंकि इस करते हैं, और हम इसका नाम बदल जाहिर है अगर कई त्रुटियाँ हो जाएगा। अब हम SignalCCIxx. mqh फ़ाइल संकलन कर सकते हैं, और 0 त्रुटियों और 0 चेतावनी होना चाहिए। वहाँ कुछ कर रहे हैं, तो आप संभवतः कुछ गलतियाँ की और प्रक्रिया को दोहराना चाहिए। अब देखते हैं कि हमारे अपने patters जोड़ने के कोर करने के लिए चलते हैं। बस शुद्ध कल्पना के लिए, हम बाजार व्यापार व्यवहार के 2 पैटर्न जोड़ें। कुल में हम नई 4 संकेतों (पैटर्न), खरीदें के लिए एक तरह के 2 और बेचने के लिए एक तरह से 2 होगा। परिवर्तित करने की भाग इस प्रकार है: हम m_pattern_4 और m_pattern_5 के लिए मूल्य 90 सौंपा है, लेकिन आप अपने खुद के साथ उन्हें बदलने (चाहिए) करना चाहिए: इन आप वे पूरी विशेषज्ञ सलाहकार व्यापार व्यवहार को प्रभावित के रूप में अपनी नई बाजार मॉडल के लिए प्रदान करना चाहते हैं भार कर रहे हैं। कल्पना के लिए के दो नए मॉडल बाजार में जोड़ दें। वे बहुत ही सरल होने जा रहे हैं - वे शिक्षा के उद्देश्य के लिए कर रहे हैं और गैर-परीक्षण व्यापार संकेत कर रहे हैं, इसलिए उनके साथ व्यापार नहीं है। crosshair हमें नीचे सलाखों इसी के लिए आंकड़ों में सीसीआई सूचक के मूल्यों की पहचान में मदद मिलेगी। पहले पैटर्न नीचे से ऊपर तक शून्य रेखा के पार "विकसित होगा कि कीमत मतदान": इस के लिए हमारी पहली पैटर्न है। चित्रा 5 1 (वर्तमान पट्टी से पहले एक बार) पट्टी से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार 45.16 व जीटी है; 0। चित्रा 6 (वर्तमान पट्टी से पहले दो बार) 2 बार से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार और लेफ्टिनेंट -53.92 था; 0। सीसीआई सूचक की शून्य रेखा (मूल्य 0.00) 2 सलाखों के भीतर उपरोक्त के नीचे से पार कर गया है। ऊपर से नीचे तक शून्य रेखा के पार "लगता है कि कीमत मतदान गिर जाएगी": इस के लिए हमारी पहली पैटर्न है। 7 चित्रा 1 (वर्तमान पट्टी से पहले एक बार) पट्टी से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार -28.49 व एलटी है; 0। 8 चित्रा (वर्तमान पट्टी से पहले दो बार) 2 बार से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार & जीटी 2.41 था; 0। सीसीआई सूचक की शून्य रेखा (मूल्य 0.00) 2 सलाखों के भीतर नीचे करने के लिए ऊपर से पार कर गया है। दूसरा पैटर्न नीचे करने के लिए ऊपर से शून्य रेखा के पार और वापस ऊपर लौटने "विकसित होगा कि कीमत मतदान": इस के लिए हमारी दूसरी पैटर्न है। 9 चित्रा 1 (वर्तमान पट्टी से पहले एक बार) पट्टी से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार 119.06 और जी.टी. है; 0। चित्रा 10 (वर्तमान पट्टी से पहले दो बार) 2 बार से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार और लेफ्टिनेंट -20.38 था; 0। चित्रा 11 (वर्तमान पट्टी से पहले तीन बार) 3 बार से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार & जीटी 116.85 था; 0 फिर से। सीसीआई सूचक की शून्य रेखा (मूल्य 0.00) नीचे करने के लिए ऊपर से पार कर गया है। तब सीसीआई सूचक लाइन 3 सलाखों के भीतर शून्य रेखा के आसपास शेख़ी ऊपर लौट आए। उपरोक्त के नीचे से शून्य रेखा के पार और वापस नीचे लौटने "लगता है कि कीमत मतदान गिर जाएगी": इस के लिए हमारी दूसरी पैटर्न है। चित्रा 12 1 (वर्तमान पट्टी से पहले एक बार) पट्टी से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार -58.72 व एलटी है; 0। चित्रा 13 (वर्तमान पट्टी से पहले दो बार) 2 बार से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार & जीटी 57.65 था; 0। चित्रा 14 (वर्तमान पट्टी से पहले तीन बार) 3 बार से मेल खाती है कि सीसीआई मूल्य से पता चलता है। इसका मूल्य इस प्रकार और लेफ्टिनेंट -85.54 था; 0 फिर से। सीसीआई सूचक की शून्य रेखा (मूल्य 0.00) से ऊपर के लिए नीचे से पार कर गया है। तब सीसीआई सूचक लाइन 3 सलाखों के भीतर शून्य रेखा के आसपास शेख़ी नीचे लौट आए। पैटर्न को लागू इन 4 की स्थिति (दो प्रति पैटर्न) को लागू करने के लिए, हम इस तरह से निम्नलिखित कोड खंड को संशोधित किया है। तल में हम (टिप्पणी में ऊपर देखें: कीमत है कि विकसित होगा "मतदान") "खरीदने" हालत के लिए कोड का प्रकाश डाला लाइनों को शामिल किया है। के 'बेचने' की स्थिति कोड के इसी खंड को संशोधित करते हैं। तल में हम (: "मतदान" है कि कीमत गिर जाएगी टिप्पणी में ऊपर देखें) को 'बेचने' की स्थिति कोड के प्रकाश डाला लाइनों को शामिल किया है। (IDX + 1) या (IDX +2)। जोड़ा आखिरी लाइनों की (IDX + N) बहुत आसान है, लेकिन सवाल यह है की बहुत ही महत्वपूर्ण बिंदु: एक, दो, तीन, आदि के मौजूदा एक पूर्ववर्ती बारों की बस संख्या रहे हैं (वर्तमान एक वास्तव में रहने वाले है "मोमबत्ती", 0 बार)। IDX + N तो, अधिक, अधिक सलाखों वापस हम चले। हर बार (IDX + N) एक ही समय सीमा पर एक ही 'खड़ी' की स्थिति में सूचक मूल्य से मेल खाती है। यह आंकड़ा 16 (कोड में दाएँ पहले मोमबत्ती, IDX करने के लिए इसी या (IDX + 0)) zeroth पट्टी में 0.00 नीचे इसी सीसीआई मूल्य है। इसके अलावा दूसरी बार (IDX + 1) और तीसरी बार (IDX + 2) 0.00 रेखा से नीचे मान हैं। हम एक खड़ी तीर के साथ अन्य सलाखों के हस्ताक्षर नहीं किए हैं, लेकिन आप वापस 4 बार (IDX + 3) पर अपने माउस हॉवर यदि आप अपनी इसी सीसीआई मूल्य 0.00 से ऊपर है कि देख सकते हैं। उपयोगकर्ताओं के अधिकांश के लिए यह तथ्य स्पष्ट है, लेकिन नौसिखिया उपयोगकर्ताओं के लिए यह सलाखों / मूल्य चार्ट, सीसीआई सूचक की चित्रमय देखने के लिए, और क्रमशः CCIxx सूचक का (IDX) चर और मूल्य के मोमबत्तियों अनुरूप कैसे चित्रमय पता करने के लिए बेहतर है एक दूसरे के साथ। यह आप आसानी से कोड पट्टी का उपयोग कर सकते हैं कि एक रणनीति के लिए एक अनुमान बनाने की कोशिश, एक चार्ट पर अपने चयनित संकेतक देखने के लिए और मूल्य सलाखों / मोमबत्तियाँ और चयनित सूचक के व्यवहार के बीच पत्राचार "कल्पना" (या खोज) करने की कोशिश करने के लिए महत्वपूर्ण है सूचकांक (IDX) और सूचक चर के मूल्य। SignalCCIxx. mqh में निम्न कोड दायर: शब्दों द्वारा लिखित अर्थ है: यह बस सिर्फ हम (- सीसीआई इस मामले में) का चयन सूचक मूल्य के आधार पर दो कस्टम पैटर्न जोड़ने के लिए कैसे की सबसे छोटी उदाहरण है। "कीमत गिर जाएगी" "मूल्य विकसित होगा" या की हालत इस फैशन में लिखा और पैटर्न में जोड़ा जा रहा है, और ना करे किसी को भी और अधिक जटिल स्थिति बनाने के लिए। अंतिम परीक्षण से पहले, चलो पदों खोला और बंद हो जाती हैं कैसे तंत्र पर एक नज़र दे। तंत्र और तर्क मानक पुस्तकालय की ट्रेडिंग रणनीति शैक्षणिक अनुभाग में MQL5 संदर्भ मैनुअल में पहले से ही बहुत अच्छी तरह से समझाया जाता है। संक्षेप में, MyExpert. mq5 फ़ाइल में हम 2 इनपुट मानकों (दो पूर्णांक चर) है: खुले और बंद के लिए ये थ्रेसहोल्ड, यदि एक व्यापार लंबे या छोटे खोला और फिर बंद कर दिया है (हमारे व्यापार मॉडल के अनुसार) कंप्यूटिंग के लिए उपयोग किया जाता है कि दो मान रहे हैं। थ्रेसहोल्ड इन मानकों क्या मतलब है 100. 0 से एक पूर्णांक प्रकार संख्या मान? Signal_ThresholdOpen एक लंबी या छोटी स्थिति को खोलने के लिए मूल्य है, Signal_ThresholdClose पहले से खोला स्थिति को बंद करने के लिए मूल्य है। इन मूल्यों को जादूगर का पूरा तर्क ईएएस उत्पन्न करने के लिए चिपके है कि एक सरल लेकिन शानदार व्यवस्था है, के संदर्भ में गणना कर रहे हैं। सिग्नल __.mqh फाइलों में हर संकेत (__ हमारे मामले में, इस्तेमाल किया सूचक के नाम के लिए खड़ा है - एमए, आरएसआई और CCIxx) हम विवरण में पहले देखा है, के रूप में पैटर्न के शामिल है। चलो हमारे उदाहरण में उन पर फिर से नजर डालते हैं। SignalMA. mqh फ़ाइल से हम हर पैटर्न के लिए उनके रिश्तेदार "वजन" के साथ 4 पैटर्न है: और एक ही फैशन में SignalRSI. mqh फ़ाइल से आरएसआई के लिए: "हमारे अपने" SignalCCIxx. mqh (जो कि लगभग SignalCCI. mqh के सभी एक प्रति में है) में हम इन मूल्यों है: हम चार्ट को MyExpert. ex5 देते हैं या रणनीति परीक्षक में यह परीक्षण जब ये सब के पैटर्न मानक 0, 1, 2, 3 प्लस 80 और 90 के अंतिम दो मूल्यों के साथ हमारे अपने 4 और 5 पैटर्न हैं हम चुना है, सिग्नल (आरएसआई, एमए और CCIxx) लगातार गणना कर रहे हैं। एक या एक से अधिक पैटर्न की शर्तों सफल रहे हैं, उस पैटर्न का संकेत अगले कंप्यूटिंग के लिए सक्रिय है। उदाहरण के लिए, SignalCCIxx. mqh फ़ाइल से m_pattern_4 हालत से हो रहा है, यदि: यह एक संभावित व्यापार संकेत हो जाता है। दूसरे शब्दों में, बार 1 पर सीसीआई मूल्य है और जीटी अगर; 0.0 और एक ही समय में बार 2 पर सीसीआई का मूल्य था और लेफ्टिनेंट; 0.0, चित्रा 5 और 6 चित्र में, हालत में हो रहा है और m_pattern_4 (संकेत नंबर 4) सक्रिय हो जाता है की तरह। "कि मतदान के हम अपने CCIxx रणनीति के इस संकेत के लिए स्थापित वजन मूल्य 80 से निरपेक्ष मूल्य के बराबर होता है, लेकिन यह एक है कि" कीमत मतदान गिर जाएगी "मामले के मामले में -80 मान, और मामले के लिए 80 होगा कीमत "विकसित होगा। बस पैटर्न के वजन का मूल मूल्य के लिए एक नकारात्मक संकेत डाल "वोटिंग कि कीमत गिर जाएगी"। M_pattern_4 की शर्त यह है कि मान लें कि एक व्यापार को केवल तभी खोला जाता है, सफल है: सिग्नल नंबर 4 (m_pattern_4) हालत (संकेत सक्रिय) सच है जो केवल संकेत है और यह Signal_ThresholdOpen के लक्ष्य तक पहुँच (एक गुणांक से गुणा अपने मूल्य पर पहुंच गया और Signal_ThresholdOpen मूल्य को पार कर) CCIxx रणनीति (संकेतों / CCIxx रणनीति के patters "गिर जाएगी कि कीमत वोट") (और अन्य संकेतकों 'के अन्य सभी संकेतों के साथ प्रतिस्पर्धा आरएसआई संकेतों के अपने स्वयं के समकक्ष के अन्य संकेतों के साथ प्रतिस्पर्धा करते हुए सिग्नल नंबर 4, Signal_ThresholdOpen के लक्ष्य तक पहुँच हम) "कीमत है कि विकसित होगा मतदान के बारे में" m_pattern_4 विश्लेषण कर रहे हैं क्योंकि और एमए संकेतों) विपरीत दिशाओं (इस मामले में विपरीत दिशा, लघु दिशा है। बैल संकेतों और भालू संकेतों: तो हम दो गुटों में एक प्रतियोगी के रूप में हर पैटर्न पर विचार कर सकते हैं। इन नमूनों / एक ही दिशा का संकेत ("मूल्य बढ़ेगा मतदान") (सक्रिय) सफल रहे हैं, वे एक दूसरे के साथ अभिव्यक्त कर रहे हैं, और राशि Signal_ThresholdOpen मूल्य के साथ तुलना की जाती है। खोला या योग मामले में Signal_ThresholdClose मूल्य (इस उदाहरण में, एक छोटी स्थिति) एक पहले से विपरीत स्थिति के साथ तुलना की जाती है, जहां कोई पदों पर हैं, तो SignalCCIxx. mqh की m_pattern_4 का मान है: "कीमत बढ़ने" के मामले में 80 की हालत -80 "कीमत गिरावट" के मामले में हालत के सभी संकेतों के सभी दूसरों पैटर्न (SignalRSI. mqh, SignalMA. mqh और 0,1,2,3 और SignalCCIxx. mqh के 5 पैटर्न) "संकेत प्रतियोगियों" की तरह है कि 0 के मूल्य मिलता है मान लेते हैं कि से बाहर हैं "खेल", और केवल प्रतियोगियों m_pattern_4 में से दो हैं - खरीदने के लिए एक और बेचने के लिए एक। इसलिए हम यह 0 से अलग महत्व है, क्योंकि केवल m_pattern_4 काम कर रहे हैं 80 अर्थात्। और उसी तरह SignalRSI. mqh फ़ाइल से आरएसआई के लिए: "हमारे अपने" SignalCCIxx. mqh (जो कि लगभग SignalCCI. mqh के सभी एक प्रति में है) में हम इन मूल्यों है: लेख की शुरुआत में, हम इन पंक्तियों कहा: हम 0.8 का महत्व है कि Signal_CCIxx_Weight चर पर ध्यान केंद्रित किया। सीमा मूल्य तक पहुँच जाता है जब Signal_ThresholdOpen हासिल (ट्रिगर) है। मूल्य इस तरह से गणना की है: यह एल्गोरिथ्म एक "कीमत बढ़ रही है" संकेत (SignalCCIxx की m_pattern_4) पकड़ा क्योंकि, "उस कीमत से बढ़ेगा मतदान" है, और मूल्य 80 है। यह एक "गिर जाएगी कि कीमत मतदान" (SignalCCIxx की m_pattern_4) पकड़ा परिकल्पित है, तो मूल्य -80 है। "गिरने मूल्य" के लिए एल्गोरिथ्म बस पैटर्न मूल्य के लिए एक ऋण पर हस्ताक्षर डाल दिया। गणना के बाद की तरह कर रहे हैं "गिर जाएगी कि कीमत मतदान" के मामले जाना चाहिए: -64 - & Gt; 64 (निरपेक्ष मूल्य में) है कि "कीमत मतदान गिर जाएगी" के लिए सिग्नल की शक्ति है। एक प्लस पर हस्ताक्षर के द्वारा - लघु स्थिति मूल्यों एक ऋण पर हस्ताक्षर, और लंबे समय स्थिति मूल्यों से पहले कर रहे हैं, जबकि सिग्नल की शक्ति हमेशा निरपेक्ष मूल्य में व्यक्त किया जाता है। 64 से हासिल मूल्य के साथ लंबे स्थिति के ऊपर एक उदाहरण के लिए लौट सकते हैं और 64 की शक्ति का संकेत करते हैं। संकेतों प्रतिस्पर्धा है कि (Signal__ की m_pattern_N), 40 का मूल्य हासिल की है है कि Signal_ThresholdOpen, (नकारात्मक संकेत के साथ) कोई अन्य विपरीत देखते हैं तो लंबे समय सिग्नल की शक्ति 64 है, और स्तर क्योंकि Signal_ThresholdOpen के 40 हासिल की और पार कर जाता है 24 (40 + 24 = 64) से। Signal_ThresholdOpen तक पहुँच गया है के बाद से, एक लंबे स्थिति खोला गया है। हम Signal_CCIxx_Weight पर मूल्य 0.4 की स्थापना की है, तो उदाहरण के लिए, कोई लॉन्ग पोजीशन क्योंकि खोला जाएगा: और 40 के स्तर (Signal_ThresholdOpen) 32 और लेफ्टिनेंट क्योंकि पहुँच नहीं है; 40 है, तो कोई लॉन्ग पोजीशन खोल रहे हैं। (SignalCCIxx. mqh की m_pattern_4 में 80 को छोड़कर सभी मूल्यों 0) ऊपर मूल्यों की मिसाल कायम की है बस हमें जादूगर के पीछे उत्कृष्ट तर्क और वजन और थ्रेसहोल्ड की प्रणाली को समझने के लिए बेतुका के लिए प्रयोग किया जाता है। सामान्य प्रोग्रामिंग में आप हर Signal__ की m_pattern_N से प्रत्येक के लिए एक पसंदीदा वजन आवंटित होगा। आप एक पैटर्न के लिए मान 0 असाइन करते हैं, यह सिर्फ इस पद्धति इस्तेमाल नहीं किया जा सकेगा। (सभी मापदंडों SignalCCIxx. mqh की m_pattern_4 को छोड़कर 0 पर सेट) के साथ हम ऊपर के उदाहरण में एक और मूल्य बदल जाते हैं, तो यह है कि गणना परिवर्तन अब हम 4 प्रतियोगियों है, 100 को SignalRSI. mqh की m_pattern_1 का कहना है: क्रमश: 80 और -80 की m_pattern_4 (बैल) और SignalCCIxx. mqh फ़ाइल से m_pattern_4 (भालू), मूल्यों। SignalRSI. mqh फ़ाइल से m_pattern_1 (बैल) और m_pattern_1 (भालू), क्रमश: 100 और -100 के मूल्यों। इस प्रकार हम 4 संभव संयोजनों होगा: 67. लंबी स्थिति के सकारात्मक मूल्य हासिल की और पार 40 के मूल्य के साथ Signal_ThresholdOpen क्योंकि खोला है। मूल्य 60 से Signal_ThresholdClose मामले की निरपेक्ष मूल्य द्वारा हासिल की और पार कर जाता है जब लंबे स्थिति बाद में बंद कर दिया है डी = -67 = | 67 | (निरपेक्ष मूल्य) क्योंकि निरपेक्ष मूल्य 67 व जीटी में मामला डी की शक्ति; 60 (कि Signal_ThresholdClose की दहलीज है)। नकारात्मक मूल्य -3। -3 3 हम "सिग्नल की शक्ति" की गणना करने के क्रम में अपनी पूर्ण मूल्य पर विचार जब बन गया है, और 3 और लेफ्टिनेंट;: नहीं शॉर्ट पोजीशन Signal_ThresholdOpen क्योंकि 40 वर्ष की मूल्य मामले बी निरपेक्ष मूल्य द्वारा हासिल की और पार नहीं कर रहा है, के साथ खोल रहे हैं 40 (स्थिति को खोलने के लिए एक संकेत के लिए मूल्य)। कोई खोला छोटे पदों पर रहे हैं और स्पष्ट रूप से शॉर्ट पोजीशन को बंद करने के लिए कोई गणना कर रहे हैं। सकारात्मक मूल्य 3. कोई लॉन्ग पोजीशन Signal_ThresholdOpen क्योंकि 40 का मूल्य 3 व एलटी के बाद मामले सी के मूल्य से हासिल की और पार नहीं कर रहा है, के साथ खोल रहे हैं; 40 (स्थिति को खोलने के लिए एक संकेत के लिए मूल्य)। कोई खोला लंबे पदों पर रहे हैं और स्पष्ट रूप से लंबे समय से पदों को बंद करने के लिए कोई गणना कर रहे हैं। नकारात्मक मूल्य -67। 40 का मूल्य हासिल की और 67 है कि -67, और 67 और जी.टी. के निरपेक्ष मूल्य के साथ बस में गणना की है कि सिग्नल की शक्ति से पार कर जाता है के साथ लघु स्थिति Signal_ThresholdOpen क्योंकि खोला जाता है; 40। Signal_ThresholdClose 60 का मूल्य हासिल की है और इस मामले में एक = 67 67 के बाद से (इस मामले में एक की ताकत) और जी.टी. के मूल्य से पार कर जाता है के साथ जब छोटी स्थिति बाद में बंद कर दिया गया है; 60 (कि Signal_ThresholdClose की दहलीज है)। दूसरे शब्दों में, शॉर्ट पोजीशन को खोलने के लिए, पहले हम क्योंकि संकेतों के नकारात्मक मूल्य की दिशा की पहचान करने की जरूरत है, तो नकारात्मक मूल्य देखने के लिए अगर Signal_ThresholdOpen मूल्य के साथ तुलना करने के लिए सिग्नल की शक्ति की गणना करने के क्रम में अपने निरपेक्ष मूल्य में बदल गया है पूर्व & gt; = उत्तरार्द्ध। लॉन्ग पोजीशन बंद करने पर एक समान फैशन में किया जाता है: सबसे पहले हम (सकारात्मक है छोटी स्थिति को बंद करने के लिए, इसके विपरीत पर मूल्य) लंबे समय से स्थिति को बंद करने के लिए नकारात्मक मूल्य पर विचार, तो यह नकारात्मक मूल्य Signal_ThresholdClose साथ तुलना की जा करने के लिए अपने निरपेक्ष मूल्य में बदल गया है उत्तरार्द्ध =; पूर्व व जीटी देखने के लिए। लॉन्ग पोजीशन खोलने और गणना सकारात्मक संख्या पर प्रदर्शन कर रहे हैं शॉर्ट पोजीशन को बंद करने के लिए, इसलिए गणना के लिए निरपेक्ष मूल्यों पर विचार करने की कोई जरूरत नहीं है (ऋण चिह्न के साथ कोई संकेत कर रहे हैं)। लॉन्ग पोजीशन उद्घाटन सिग्नल की शक्ति का एक सकारात्मक मूल्य से शुरू हो रहा है, और छोटी स्थिति समापन सिग्नल की शक्ति का एक सकारात्मक मूल्य से भी शुरू हो रहा है। पहली लंबी खोलने या लघु स्थिति को खोलने के लिए, और एक छोटे से बंद करने या क्रमशः एक लंबे स्थिति को बंद करने के लिए धन चिह्न और ऋण चिह्न माना जाता है। तो फिर हम हमेशा सकारात्मक संकेत (Signal_ThresholdOpen और Signal_ThresholdClose के लिए कोई नकारात्मक संकेत) के साथ गणना कर रहे हैं कि Signal_ThresholdOpen और Signal_ThresholdClose की दहलीज मूल्यों के साथ तुलना के लिए उनके निरपेक्ष मूल्यों की गणना की है। स्थिति विवरण की स्थिति के विवरण में गहरी delving जारी रखने के लिए करते हैं: सामान्य व्यापार होता है। स्थिति खोला और फिर बंद कर दिया है। उसके बाद, स्थिति तुरंत फिर से खोल नहीं है। स्थिति उलट। स्थिति यह तो खोला, बंद कर दिया और फिर विपरीत दिशा में फिर से खोला गया है। लांग पोजीशन यदि खोला जाता है: