Wednesday 14 March 2018

Kb - बहु-प्रणाली व्यापार


मेटाट्रेडर 5 - उदाहरण। बहु-मुद्रा मल्टी-सिस्टम विशेषज्ञ सलाहकार की रचना करना। मेरा मानना ​​है कि ऐसे कुछ व्यापारी हैं जो एक से अधिक व्यापारिक चिह्न का व्यापार करते हैं और कई रणनीतियों का उपयोग करते हैं। यह दृष्टिकोण आपको न केवल अपने लाभ को बढ़ाता है बल्कि इससे भी कुशल धन प्रबंधन पर पर्याप्त कमी के खतरे को कम करें जब एक विशेषज्ञ सलाहकार बनाते हैं, तो सबसे अच्छा इनपुट पैरामीटर निर्धारित करने के लिए कार्यक्रम की रणनीति की दक्षता की जांच करने में पहला प्राकृतिक कदम है। पैरामीटर मूल्यों की पहचान करने के लिए, विशेषज्ञ सलाहकार तकनीकी रूप से तैयार होंगे व्यापार के लिए हालांकि यह एक महत्वपूर्ण सवाल का अनुत्तरित होगा जो कि परीक्षण के परिणाम क्या होंगे जैसे एक व्यापारी एक ही विशेषज्ञ सलाहकार में अपनी सभी रणनीतियों को एक साथ रख सकता है यह प्राप्ति कुछ प्रतीकों या रणनीतियों पर ड्रॉ डाउन किसी बिंदु पर ओवरलैप हो जाती है और एक भयानक कुल ड्रॉडाउन या यहां तक ​​कि एक मार्जिन कॉल कभी-कभी बुरा आश्चर्य के रूप में आ सकता है। यह आलेख एक अवधारणा का परिचय देता है एक बहु-मुद्रा मल्टी-सिस्टम विशेषज्ञ सलाहकार बनाने के लिए जो हमें इस महत्वपूर्ण प्रश्न का उत्तर ढूंढने की अनुमति देगा .1 विशेषज्ञ सलाहकार की संरचना। सामान्य शब्दों में, विशेषज्ञ सलाहकार की संरचना निम्नानुसार है। बहु-मुद्रा मल्टी-सिस्टम विशेषज्ञ सलाहकार। जैसा कि आप देख सकते हैं, कार्यक्रम लूप के लिए पर आधारित है प्रत्येक रणनीति को एक लूप में व्यवस्थित किया जाता है, जहां प्रत्येक चलना प्रत्येक प्रतीक को अलग से व्यापार करने के लिए जिम्मेदार है। यहां, आप असीमित संख्या में स्ट्रिप्स की व्यवस्था कर सकते हैं महत्वपूर्ण है कि आपके कंप्यूटर पर इस तरह के एक प्रोग्राम को प्रोसेस करने के लिए पर्याप्त संसाधन हों। आपको ध्यान रखना चाहिए कि मेटाट्रेडर 5 में प्रत्येक ट्रेडमार्क के लिए केवल एक ही स्थिति हो सकती है ऐसी स्थिति में बहुत पहले की गई ख़रीदी गई ख़रीदें और बेचता है, इसलिए एक प्रतीक के लिए बहु-रणनीति परीक्षण का परिणाम समान प्रतीक के लिए समान रणनीतियों के अलग-अलग परीक्षण परिणामों की राशि के समान नहीं होगा। विशेषज्ञ A की संरचना के करीब से विचार के लिए डिवाइजर हम 2 रणनीतियों को लेकर होंगे जिनमें से प्रत्येक दो ट्रेडों में ट्रेड करता है। खरीदें पूछें बोलिंजर बैंड के निचले बैंड तक पहुंच जाता है, कम कीमत के आधार पर गणना की गई बोली समाप्ति बोली मूल्य उच्च मूल्य पर आधारित बॉलिंजर बैंड सूचक के निचले बैंड तक पहुंच जाता है। कीमत उच्च कीमत पर आधारित बॉलिंजर बैंड के सूचक के ऊपरी बैंड तक पहुंच जाती है बंद करें कीमत पूछो कम कीमत पर आधारित बॉलिंजर बैंड सूचक के ऊपरी बैंड तक पहुंच जाता है। निषेध किसी भी बार पर केवल एक सौदा निष्पादित किया जा सकता है। पिछले बार खरीदें मंदी के बंद खुले और पूछो कीमत पिछला बार उच्च बंद करो बंद करो या लाभ लें द्वारा बंद हो जाता है। पिछले पट्टी देखें तेजी तेजी से खुला है और बोली की कीमत पिछला बार कम बंद हो जाता है बंद करो नुकसान या लाभ ले लो। परिहार केवल एक सौदा कर सकते हैं किसी भी बार पर निष्पादित किया जा सकता है। एक प्रतीक के लिए नए सुझावों से स्वतंत्र होने के लिए, जिस पर विशेषज्ञ सलाहकार का परीक्षण किया जाएगा या जो इसे व्यापार करेगा, इसे ऑन-टिमर मज़ेदार का उपयोग करने की सलाह दी जाती है बहु-मुद्रा मोड में व्यापार के लिए सीशन। इस उद्देश्य के लिए, विशेषज्ञ सलाहकार को प्रारंभ करते समय हम EventSetTimer फ़ंक्शन का उपयोग करते हुए कार्यक्रम गणना कॉल के लिए एक ईवेंट बनाने की आवृत्ति को निर्दिष्ट करते हैं, और Deinitialization पर हम EventKillTimer फ़ंक्शन का उपयोग टर्मिनल को पीढ़ी को रोकने के लिए कहते हैं EventSetTimer के बजाय आप EventSetMillisecondTimer का उपयोग भी कर सकते हैं, जहां फ़्रिक्वेंसी को मिलीसेकंड पर सटीक रूप से सेट किया जाता है लेकिन आपको इसे भी अक्सर कार्यक्रम गणना कॉल के द्वारा दुरुपयोग नहीं करना चाहिए। खाता, स्थिति और प्रतीक सेटिंग, साथ ही साथ व्यापार कार्य के लिए पहुंच के लिए, हम इसका उपयोग करेंगे CAccountInfo CPositionInfo CSymbolInfo और CTRade कक्षाएं, क्रमशः उन्हें विशेषज्ञ सलाहकार में शामिल करते हैं। क्योंकि विशेषज्ञ सलाहकार loops के लिए आधारित है, हमें अपने बाहरी मापदंडों के लिए एरे बनाने की आवश्यकता होगी चलो पहले प्रत्येक के लिए प्रतीकों की संख्या के बराबर स्थिरांक बनाते हैं हम फिर बाहरी मापदंडों को स्थिरांक बनाते हैं, हम उन सरणियों के आकार को निर्धारित करते हैं जिनसे वे सह हो सकते हैं इसके अलावा, हम संकेतक हैंडल और अन्य वैश्विक वैरिएबल बनाते हैं। रणनीति के एक प्रतीक के लिए एक उदाहरण नीचे दिया गया है। एक निश्चित प्रतीक के लिए व्यापार को अक्षम करने की संभावना है, हमने एक बूलियन वैरिएबल ISTradeA0 बनाया है जो कि बहुत शुरुआत में रखा जाएगा लूप के लिए 2. विशेषज्ञ सलाहकार का आरंभ। सबसे पहले, सभी रणनीतियों के लिए आवश्यक मान प्राप्त करें, जैसे उत्तोलन क्योंकि उत्तोलन ट्रेडिंग खाते पर लागू होता है और किसी रणनीति या प्रतीक के साथ कुछ भी नहीं करना पड़ता है, इसकी आवश्यकता नहीं है arrays को इसके मूल्य की प्रतिलिपि बनाएँ। फिर हम arrays. If में बाह्य चर प्रतिलिपि को प्रतिलिपि किसी भी बाहरी पैरामीटर प्रकार से परिभाषित किया गया है कि एक दूसरे को रूपांतरण की आवश्यकता होगी, यह एक और अधिक सुविधाजनक तरीके से किया जा सकता है जब एरे के लिए नकल। इस मामले में, हम देख सकते हैं कि BBPeriodA0 को यूआईटी के रूप में बनाया गया था जिससे कि उपयोगकर्ता को नकारात्मक मान सेट करने से रोक दिया गया हो, यहां हम उसे इंट में कनवर्ट करते हैं और इसे उस सरणी में प्रतिलिपि बनाते हैं जिसे एआईटी के रूप में भी बनाया गया था, अगर आप कोशिश करते हैं तो कंपाइलर एक चेतावनी देगा सूचक संभाल में यूआईटी टाइप पैरामीटर डालें। आगे देखें कि क्या ट्रेडमार्क मार्केट वॉच में उपलब्ध है और क्या यह एक रणनीति के भीतर एक से अधिक बार इस्तेमाल किया गया है। यदि प्रतीकों को सही तरीके से चुना गया है, तो इनपुट पैरामीटर में त्रुटियों की जांच करें उनमें से प्रत्येक, संकेतक हैंडल बनाएं, बहुत गणना के लिए आवश्यक डेटा प्राप्त करें और, यदि आवश्यक हो, तो दी गई रणनीति से परिभाषित अन्य चीजें करें। हम लूप के लिए ऊपर दिए गए कार्यों को लागू करेंगे। तब, हम पैरामीटर के लिए सेट करते हैं सीटीआरएड क्लास के ट्रेडए ऑब्जेक्ट का उपयोग कर रणनीति ए के व्यापार संचालन। इसी प्रक्रिया को हर रणनीति के लिए दोहराया जाता है, ए। एरे के लिए बाहरी चर को कॉपी करें। जांचें कि क्या प्रतीकों को सही तरीके से चुना गया है। त्रुटियों की जाँच करें, संकेतक संभाल सेट करें, डेटा के लिए गणना करें बहुत कुछ और किसी भी रणनीति के लिए आवश्यक सभी चीजों के लिए। व्यापारिक संचालन के लिए मान पैरामीटर। अंत में, यह जांचना अच्छा होगा कि क्या एक और समान प्रतीक कई रणनीतियों में उपयोग किया जाता है दो रणनीतियों नीचे दी गई हैं। लूपिंग के लिए ट्रेडिंग। ओनटिमर फ़ंक्शन के अंदर छोरों की रूपरेखा निम्नानुसार है। यदि एक एकल रणनीति के आधार पर एकल-प्रतीक विशेषज्ञ सलाहकार एक शर्त है जिसमें सभी बाद की गणना समाप्त होने की आवश्यकता है, तो हम इसका इस्तेमाल करते हैं रिटर्न ऑपरेटर हमारे मामले में, हमें बस वर्तमान चलना समाप्त करना होगा और अगला प्रतीक पुनरावर्तन पर आगे बढ़ना होगा, इस उद्देश्य के लिए, चालू ऑपरेटर का उपयोग करना सबसे अच्छा है। यदि आप एक रणनीति जोड़कर अपनी बहु-रणनीति विशेषज्ञ सलाहकार को बढ़ाने के लिए चाहते हैं लूप के लिए जिसमें सभी बाद की गणनाओं को समाप्त करने की शर्त होती है, आप निम्न पैटर्न का उपयोग कर सकते हैं। छोरों के ढांचे का निर्माण करने के बाद, हम इसे दूसरे ईए से कोड में डालते हैं और फिर सरणी तत्वों के साथ कुछ चर को प्रतिस्थापित करते हैं। उदाहरण के लिए, हम पूर्वनिर्धारित परिवर्तनीय प्रतीक को प्रतीकए I या बिंदु से इंगित करते हैं इन वैरिएबल के मूल्यों को दिए गए प्रतीक की विशिष्टता है और इसलिए प्रारंभिक रूप से सरणी पर प्रतिलिपि बनाई गई हैं। ई, आइए सूचक मूल्य ढूँढ़ें। एक खरीद की स्थिति को समापन करने के लिए, हम निम्नलिखित कोड लिखेंगे। खरीदें की स्थिति को खोलना। टाइमर इवेंट पीढ़ी को समाप्त करने के लिए याद रखें और सूचक को हटाने के लिए deinitialization.4 परीक्षण परिणाम। जब विशेषज्ञ सलाहकार तैयार है, हम प्रत्येक रणनीति और प्रत्येक प्रतीक को अलग-अलग परीक्षण करते हैं और परीक्षा के परिणामों की तुलना टेस्ट मोड में प्राप्त करते हैं, जब सभी रणनीतियों और प्रतीकों को एक साथ व्यापार करते हैं। यह माना जाता है कि उपयोगकर्ता ने इनपुट पैरामीटर के इष्टतम मूल्यों को पहले ही पहचान लिया है। नीचे रणनीति परीक्षक की सेटिंग्स हैं.फिग 2 रणनीति परीक्षक सेटिंग्स। रणनीति ए, EURUSD. Fig 3 रणनीति के लिए परिणाम रणनीति ए, EURUSD के लिए परिणाम। रणनीति ए, GBPUSD. Fig 4 के लिए परिणाम रणनीति ए, GBPUSD के लिए परिणाम। रणनीति बी, AUDUSD. Fig 5 रणनीति के लिए टेस्ट परिणाम, AUDUSD. रणनीति के लिए परिणाम बी, EURJPY. Fig रणनीति के लिए 6 परीक्षण परिणाम, EURJPY. सभी रणनीति और प्रतीकों के लिए टेस्ट परिणाम। सभी रणनीतियों और प्रतीकों के लिए 7 परीक्षा परिणाम परिणामस्वरूप, हमारे पास बहु-मुद्रा बहु-प्रणाली विशेषज्ञ सलाहकार का एक सुविधाजनक और सरल संरचना है जिसमें आप अपनी किसी भी रणनीतियों को रख सकते हैं। ऐसा कोई विशेषज्ञ सलाहकार आपको अपनी सभी रणनीतियों का उपयोग करके व्यापार की दक्षता का बेहतर मूल्यांकन करने की अनुमति देता है। यह भी उपयोगी साबित हो सकता है कि केवल एक विशेषज्ञ सलाहकार को किसी दिए गए खाते पर काम करने की अनुमति दी जाती है। विशेषज्ञ सलाहकार का स्रोत कोड लेख से जुड़ा हुआ है ताकि उपरोक्त जानकारी का अध्ययन किया जा सके। 14 अक्टूबर, 2011 को जोड़ा गया। अतिरिक्त 2 9 फरवरी, 2012 को अतिरिक्त विचार करने के लिए अंक 1. यह प्रणाली ओपन कीमत पर सटीक भरण होने पर निर्भर करता है इस तरह की भरतों को प्राप्त करने के लिए एक न्यूनतम न्यूनतम देरी डेटा फीड और व्यापार-स्वचालन को लागू करने के लिए उन्नत प्रोग्रामिंग कौशल की आवश्यकता होती है। 2। प्रदर्शन में सुधार करने के लिए प्रणाली खराब तरीके से विफल हो जाती है यहां तक ​​कि एक फीसदी की कीमत में सुधार करने से सिस्टम को मारता है यह बताता है कि ज्यादातर लाभ उन दिनों से आता है जिन पर ओपन की कीमत बराबर थी ओ निचले स्तर से ऊपर आ गया और यह नीचे कभी नहीं गिरा, यह निश्चित रूप से स्पष्ट है, इस बात की पुष्टि करने के लिए मैंने इस परीक्षा की शर्त को जोड़ा है, जो दिन को छोड़ने के लिए आगे दिखता है, जिस पर ओपन लो। खरीदें खरीदें और नहीं ओ एल यह प्रणाली को मारता है और यह साबित करता है कि अधिकांश लाभ ऐसे दिनों से आता है जहां राजभाषा की पुष्टि करने के लिए मैंने इसके विपरीत शर्त को जोड़ा। खरीदें खरीदें और हे एल। यह लगभग असीम मुनाफा देती है और यह साबित करती है कि अधिकांश लाभ उस दिन से आए हैं जिन पर कीमत ओपन से तत्काल कदम उठता है और नीचे से कभी भी रिटर्न नहीं देता है प्रवेश मूल्य में सुधार करने की कोशिश करना एक गलती है, किसी को ओपन की कीमत के ऊपर एक स्टॉप सेट 1-2 सीटी ऊपर दर्ज करना चाहिए, यह उस दिन को खत्म कर देगा जब कीमतें कम हो जाती हैं और कभी भी पीछे नहीं जाता है यह सुधार प्रदर्शन काफी 3. इस प्रणाली में घुटने-झटका व्यापारी-प्रतिक्रियाओं के पैटर्न का कारोबार होता है इस तरह के पैटर्न आम तौर पर बड़े मात्रा के व्यापार से डूब जाते हैं, इसलिए जब आप 500,000 और 5,000,000 शेयरों के बीच वॉल्यूम के साथ टिकर का चयन करते हैं, तो यह प्रणाली बेहतर काम करती है। इसके बाद के संस्करण की दो विशेषताओं में, इक्विटी वक्र में जो कुछ भी नीचे दिखाया गया है, उससे ज्यादा बेहतर है। क्षमा करें, ऊपर दिए गए दस्तावेजों को अधिक विस्तार से गुड लक में लिखने का कोई वक्त नहीं है। यह पोस्ट एक बहुत ही सरल लंबे समय से एक व्यापारिक विचार की रूपरेखा है जो खरीदता है कल के निचले स्तर के नीचे दिए गए प्रतिशत, और अगले दिन ओपन से बाहर निकलता है कभी-कभी यह सटीक खुली कीमत पाने में मुश्किल हो सकती है, इस प्रणाली की उच्च लाभप्रदता यह आगे के प्रयोग के लिए एक अच्छा उम्मीदवार बनाती है। प्रणाली, वॉचलिस्ट जैसे अच्छी तरह से काम करती है एन 100, एसपी 500, एसपी 1500, रसेल 1000, आदि। रसेल 1000 पर प्रदर्शन, अधिकतम खुली स्थिति 1 के साथ सेट, 12 10 2003 से 12 10 2011 की अवधि के लिए, इस तरह दिखती है। अन्य देखोलिस्ट कम जोखिम लाभ देते हैं लेकिन यह कम डीडी कमीशन के साथ आता है 005 प्रति शेयर पर कोई मार्जिन इस्तेमाल नहीं किया गया। कोई विशिष्ट रैंकिंग इस्तेमाल नहीं की जाती है, टिकर का उपयोग वॉचलिस्ट में उनके वर्णानुक्रमित सॉर्ट के आधार पर किया जाता है यह अजीब लग सकता है लेकिन इस तरह की प्रणाली को पीछे छोड़ने में महत्वपूर्ण है विफल हो सकता है इसका मतलब यह हो सकता है कि, वास्तविक समय स्कैनिंग समस्याओं के कारण, इस प्रकार के शीर्ष पर सूचीबद्ध चिन्हों को नीचे सूचीबद्ध सूचीबद्धियों की तुलना में अलग तरह से कारोबार किया जा सकता है। तरलता पर ध्यान दें कि आप एक से अधिक स्थान और झुकाव का व्यापार करना चाहते हैं प्रविष्टि है बल्कि जोखिम से मुक्त हो सकता है, लेकिन समस्याएं हो सकती हैं समस्याग्रस्त डीडी महत्वपूर्ण हैं लेकिन बेहतर वास्तविक समय के कारोबार की प्रविष्टियों से निकलती है और बाहर निकलती है, जब स्वचालित रूप से व्यापार सभी संकेतों के लिए ओसीए डे-एलएमटी प्रविष्टि आदेशों को स्थानांतरित करना संभव हो सकता है और अभी प्रतीक्षा करें और देखें भरता है क्योंकि निकास आप प्रविष्टियों की तुलना में अधिक कठिन हैं, आप अन्य बाहर निकलें स्ट्रेटेजीओं का पता लगाने की इच्छा कर सकते हैं। पैरामीटर डिफ़ॉल्ट मान को सिर्फ एक टोपी से चुना गया है लगभग निश्चित रूप से आप उन्हें ऑप्टिमाइज़ कर सकते हैं या व्यक्तिगत टिकर के लिए उन्हें गतिशील रूप से समायोजित कर सकते हैं। और परिणाम सभी वर्षों के लिए फायदेमंद होते थे, स्टॉक ट्रेडपैड की संख्या के अलावा बहुत महत्वपूर्ण नहीं दिखाई देते हैं इस मामले में समस्या का कोई अनुकूलन नहीं है I एस बहुत सरल है और कुछ स्पष्टीकरण की आवश्यकता है लेकिन यह समझना महत्वपूर्ण है कि इस प्रणाली को ओपन पर व्यापार करके एक छोटी बढ़त हासिल है, और उसी ओपन कीमत का उपयोग करके ट्रेंडएम की गणना करके कुछ भविष्य की रिसाव के रूप में इसका व्याख्या कर सकते हैं, हालांकि यदि आप इस प्रणाली का व्यापार करते हैं वास्तविक समय में, यह नहीं है कई लोगों को यह नहीं पता है कि यदि आप ओपन में व्यापार करते हैं तो आप इस मूल्य का उपयोग अपनी गणना में तब तक कर सकते हैं जब तक आप उन्हें वास्तविक समय में करते हैं, यह वह जगह है जहां अमीब्रॉकर और तकनीक आपको एक किनारे यदि आप एक बार से ट्रेंड एमएफ़ को वापस लौटते हैं तो सिस्टम अभी भी बहुत लाभदायक है, लेकिन कुछ वॉचलिस्ट के लिए डीडी बढ़ा है। अगर आप फिक्स्ड इनवेस्टमेंट्स का इस्तेमाल करते हैं तो अंतर ही नगण्य है। व्यापारिक प्रक्रिया बाजार खोलने से पहले स्कैनिंग करना शुरू होनी होगी और टाइकरों को इतनी कीमत रिमोट कि वे OpenThresh को पूरा करने की संभावना नहीं हैं, इस प्रकार आप 1000 प्रतीकों को स्कैन करना शुरू कर सकते हैं, लेकिन बहुत जल्दी स्कैन संख्या केवल एक दर्जन या तो टिकर तक घट जाएगी जब आप 9 30 बजे अपने वास्तविक टी पर पहुंचेंगे IME स्कैन बहुत तेजी से होगा और आप अपने एलएमटी ऑर्डर को खोलने के लिए सक्षम होंगे ताकि आप ओपन कीमत पर भी सुधार पा सकें। हालांकि कुछ लोगों ने नीचे दिए गए कोड को देखा और कुछ भी गलत नहीं पाया, लाभ इस तरह के एक सरल प्रणाली के लिए बहुत ज्यादा लग रहा है कृपया त्रुटियों की रिपोर्ट करें जो आप देख सकते हैं। 7:30 बजे, हरमन द्वारा आईओएड गैप-ट्रेडिंग पोर्टफोलियो सिस्टम पर विचारों के तहत प्रायोगिक टिप्पणियाँ बंद करें। 1 सितंबर, 2011. यह विचार 161332 को मुख्य अमीब्रोकर सूची पर पोस्ट किया गया था 3 जुलाई 2011 को सूची में कई उत्कृष्ट टिप्पणियां थीं और यदि आप इस प्रणाली पर काम करने में रुचि रखते हैं, तो आपको पोस्ट करने के बाद शुरू करने से पहले सभी को पढ़ना अच्छा लगता है, मुझे इस व्यापारिक विचार के बारे में चर्चा करने वाले वेब पर कई पद मिले हैं, कुछ का दावा है अच्छी सफलता के साथ एक समान प्रणाली का व्यापार करने के लिए। मैं इस प्रणाली को एक गैप ट्रेडिंग सिस्टम का संदर्भ देता हूं, लेकिन यह एक मिथ्या नाम का एक सा हो सकता है, मीन रिवर्सेशन एक बेहतर वर्गीकरण हो सकता है इसके लिए Googling आपको इसी तरह की प्रणालियों के लिए बहुत अधिक हिट मिलेगी। कुछ ली nks। यह एक काफी व्यापक रूप से चर्चा की जाने वाली व्यापारिक विचार प्रतीत होता है और मेरा सुझाव है कि आप नवीनतम सीखने के लिए कुछ गोगलिंग कर लेंगे जैसा कि एक Amibroker उपयोगकर्ता के रूप में आपके पास अधिकांश व्यापारियों की तुलना में बेहतर टूल है और आपके पास सबसे अधिक होने की संभावना है एक भिन्नता जो काम करती है शायद थोड़ा कम मुनाफा के साथ, और अतिरिक्त कोड की एक बड़ी मात्रा के साथ यह एक त्वरित परियोजना नहीं बन पाई। कुछ लोगों ने टिप्पणी की कि यह प्रणाली वास्तविक व्यापार में काम नहीं करेगी, जबकि वे सही कह सकते हैं कि ये योजनाएँ काम मैंने सिस्टम खत्म नहीं किया और यह पता करने के लिए दावे का दावा नहीं कर सकता कि वह व्यापार योग्य है या नहीं.सिस्टम एक निश्चित प्रतिशत पर खरीदता है जो कल की कम है, एलएमटी ऑर्डर पर, और उसी दिन बंद हो जाता है। 6 53 बजे के तहत विचारों के तहत प्रायोगिक टिप्पणियाँ केवल एक लंबे समय तक ईओडी गैप व्यापार के विचार पर बंद। मैं अपने शेयरों के लिए स्कैन करने के लिए एक छोटे सेटअप मानदंड का उपयोग करता हूं। एमएसीडी डिफ़ॉल्ट, मैं हिस्टोग्राम 4 नीचे की सलाखों और मेरे द्वारा खरीदे गए संकेत के लिए 1 अप बार की तलाश करता हूं हिस्टोग्राम नीचे के लिए लाल और नीले रंग के लिए सेट तो मैं सी ज़ीरो लाइन आरएसआई से ऊपर स्पष्ट रूप से एमएसीडी देखें 30 इस प्रणाली की प्रवृत्ति व्यापार पर आधार है पुलबैक पर खरीदना जब बाजार में इसकी प्रवृत्ति बढ़ती रहती है। एमएसीडी प्रवृत्ति की स्थापना के लिए स्कैन करें .1 चार्ट में निम्न सूत्र को डालें .2 एक एए में स्कैन करें सभी प्रतीकों के साथ SMACDTrend का उपयोग करते हुए n अंतिम दिन 1 और सेटिंग्स के रूप में चयन पर सिंक चार्ट। मानदंडों को पूरा करने वाले स्टॉन्ड्स को परिणाम सूची में सूचित किया जाएगा। नोट: सेटअप नियमों की कुछ भिन्नताएं सिग्नल को परिभाषित कर सकती हैं जो काफी दुर्लभ हैं और छोटे डेटाबेस में यह संभव है कि किसी भी दिन पर कोई सेटअप नहीं होगा इसलिए स्कैन द्वारा कोई स्टॉक की सूचना नहीं दी जाएगी। पृष्ठभूमि में, उस प्रतीक के लिए, चार्ट को देखने के लिए परिणामों के किसी भी चिह्न पर क्लिक करें। नोट इस उदाहरण में प्रशिक्षण डेटाबेस, जिसमें केवल 5 11 2007 तक के डेटा शामिल थे, का प्रयोग किया गया था। विधेयक वेव मेकिंगिक द्वारा प्रोट्रेडरेंट्स एंड फार्मूला के विचार। 11 06 बजे ब्रियाज़ द्वारा आईआईडीएडी प्रायोगिक टिप्पणियों के तहत एमएसीडी ट्रेण्ड सिस्टम पर बंद। अक्टूबर 14, 2007। विचार के तहत 10 बजे 43 बजे ब्रायनज़ 15 दिवसीय प्रदर्शनकारी व्यापार प्रणाली पर प्रयोगात्मक टिप्पणियाँ बंद। अगस्त 1 9, 2007. यह कैस की श्रृंखला में सबसे पहले है, यह आपके लिए सरल, बेवकूफ व्यापारिक विचारों को प्रस्तुत करता है जो यहां प्रस्तुत सभी सिस्टम विचारों के साथ खेलने के लिए अनुपयुक्त, अधूरा हैं, और इसमें त्रुटियां हो सकती हैं वे आगे की अन्वेषण के लिए संभव पैटर्न दिखाने का इरादा है हमेशा की तरह, आपको टिप्पणी करने या अपने खुद के विचारों को इस श्रृंखला में जोड़ने के लिए आमंत्रित किया जाता है.मैं वास्तविक समय प्रणालियों को पसंद करता हूं जो तेजी से व्यापार करता है, स्वचालित होता है, और पारंपरिक संकेतकों से रहित नहीं है, उनके पास कोई अनुकूलन योग्य मापदंड नहीं होना चाहिए, हालांकि, मैं हमेशा इस उद्देश्य को पूरा करने में सक्षम नहीं हो सकता है सभी सिस्टम ऐसा नहीं होगा कि कुछ ऐसे लोग होंगे जो साधारण औसत या एचएचवी एलएलवी प्रकार के फ़ंक्शन का इस्तेमाल करते हैं नीचे दिखाए गए पहले सिस्टम डेमो सिस्टम की एक प्रति है मैं इस साइट पर अन्यत्र व्यापार-स्वचालन रूटीन विकसित करने के लिए उपयोग करता हूं। रीयल-टाइम गैप-ट्रेडिंग यह देखने के लिए कि यह कैसे काम करता है, आपको 1-मिनट के डेटा पर 5 से 60 मिनट की अवधि के साथ बैकस्टेस्ट करना चाहिए, आपका पहला छोटा सा भूत Ression हो सकता है कि ये मुनाफे एक अप बाजार के कारण होते हैं, हालांकि, यह तथ्य है कि लांग और शॉर्ट मुनाफा बराबर के बराबर है, इससे पता चलता है कि इसके लिए और भी अधिक है क्योंकि सभी ट्रेडों में से 98 9 बजे से 10 बजे तक 10 बजे के बीच आते हैं, इस प्रकार का सिस्टम अच्छा है यदि आप प्रत्येक दिन थोड़े समय का व्यापार करना चाहते हैं तो यह बाज़ार के जोखिम के संबंध में जोखिम को कम कर देता है और आपको अन्य गतिविधियों का आनंद लेने के लिए और अधिक समय देता है। इसे NASDAQ-100 वॉचलिस्ट व्यक्तिगत बैकस्टेस पर बैकस्टेस्टिंग, 15 मिनट का आवधिकता दिखाता है लाभ 1 मार्च 2007 से 17 एजी 2007 की अवधि के लिए टिकर के नामों को चार्ट कॉम्पैक्ट रखने के लिए छोड़ दिया गया है, केवल प्रत्येक टिकर के लिए शुद्ध लाभ बार दिखाया गया है इस प्रणाली के लिए औसत जोखिम लगभग 15 है, इसलिए आप पोर्टफोलियो का कारोबार कर सकते हैं मुनाफे में वृद्धि और इक्विटी घटता चिकना करने के लिए चेतावनी दीजिए कि अपने कच्चे रूप में ड्रॉडाउन अस्वीकार्य हैं और कई टिकर के लिए वॉल्यूम प्रतिबंध हो सकता है। चूंकि इस प्रणाली में कम जोखिम है, यह बाजार के लिए उम्मीदवार हो सकता है एनिंग और पोर्टफोलियो ट्रेडिंग रैंकिंग आरएआर को पूर्ण अधिकतम मुनाफे का संकेत होगा जो एक के करीब 100 तक एक्सपोजर बढ़ाने में सफल हो सकते हैं, हालांकि विभिन्न टिकर से मूल्य आंदोलन सहसंबद्ध हो सकता है, और विभिन्न टिकर से व्यापार ओवरलैप हो सकता है यदि कई टिकर व्यापार एक ही समय में, सिस्टम एक्सपोज़र में वृद्धि करना मुश्किल होगा। अल वेनोसा द्वारा संपादित किया गया। हर्मन द्वारा 1 9 4 बजे के तहत आईआईएसआईएस -2001 अंतराल गैप ट्रेडिंग पर प्रयोगों के तहत 1 9 .8 मिनटों के लिए तैयार किया गया। अगस्त 17, 2007. आपको लिंक सबमिट करने के लिए आमंत्रित किया गया है इस पोस्ट पर टिप्पणियों में प्रणाली के विचारों के लिए। गैप ट्रेडिंग रणनीतियाँ स्टॉकचार्ट्स इंटरैडे मूविंग की औसत क्रॉसओवर स्थिति आकार देने के साथ NeoTicker अस्थिरता-ब्रेकआउट-सिस्टम्स ट्रेडर्स लॉग इन करें दस दिन उच्च कम सिस्टम स्टॉकवेबब्लॉग प्रत्यावर्तन सिस्टम की तलाशएल्फा सिस्टम ट्रेडर्स क्लब ट्रेडर्स क्लब बुलेटिन. ज्यूला 16, 2007.यह श्रेणी वास्तविक कार्य व्यापार प्रणाली के लिए आरक्षित है, यानी कि आपने कुछ समय पर कारोबार किया है या व्यापार पर विचार किया है क्योंकि ट्रेड के लिए मानदंड अनुकूलता व्यक्ति से अलग होती है, और जब से सिस्टम काम कर सकता है या नहीं, उनका कारोबार कैसे किया जाता है इसके आधार पर, यहां पर योगदान करने में मुश्किल होगी, यहां जो पोस्ट किया गया है उसके संबंध में, एक खुले दिमाग को ध्यान में रखें और विचार करें कि पोस्टर प्रणाली को व्यापार योग्य समझता है । आप पोस्ट करके योगदान कर सकते हैं क्योंकि एक लेखक को पंजीकरण या इस पोस्ट पर एक टिप्पणी की आवश्यकता है। 11 14 बजे हरमन द्वारा ट्रेडिंग सिस्टम प्रैक्टिकल की प्रैक्टिकल पर व्यावहारिक लाभदायक टिप्पणियों के तहत फ़ैल किया गया है। यह वह जगह है जहां आप व्यापारिक प्रणालियों को साझा कर सकते हैं जो मामूली लाभदायक हैं , यानी उन लोगों के रूप में कारोबार नहीं किया जाना चाहिए, जो कि संभावित रूप से दिखाए जाएंगे, आमतौर पर यह एक बुनियादी प्रणाली होगी जो कि लाभदायक है, लेकिन 50 ऐसी प्रणालियों के अनुभवों को कम करने में स्टॉप्स, लक्ष्य, मनी मैनेजमेंट, पोर्टफोलियो तकनीकों आदि को जोड़कर अक्सर सुधार किया जा सकता है। वास्तविकता यह है कि जब तक आप किसी और को काम करने के लिए विशेषज्ञता प्राप्त नहीं कर सकते हैं। लगभग हम सभी पुस्तकों और पत्रिकाओं में व्यापार प्रणाली के विचारों को खोजते हैं, जो कि हम तब कोड करते हैं मूल्यांकन के लिए एएफएल इनमें से कुछ प्रणालियां कई सालों से आस-पास हो सकती हैं, जबकि अन्य नए विचार हैं, उन्हें कोडिंग करने के बाद लगभग हमेशा हम निराश होते हैं और सिस्टम काम को बाहर कर देते हैं। अपने काम को फेंकने के बजाय आपको सिस्टम को यहां पोस्ट करने के लिए आमंत्रित किया जाता है किसी अन्य डेवलपर को इसे ठीक करने का मौका दें। आपको एक लेखक के रूप में योगदान करने के लिए आमंत्रित किया जाता है क्योंकि एक लेखक को पंजीकरण या इस पोस्ट पर एक टिप्पणी की आवश्यकता है। 11 सितंबर को हरमन द्वारा फ़िलिस्ती किया जाने वाला विचार, ट्रेडिंग सिस्टम विचारों के परिचय पर प्रयोगात्मक टिप्पणियाँ बंद। मेटा ट्रेडर 5 - उदाहरण ग्राफिक इंटरफेस IV मल्टी विंडो मोड और प्राथमिकताएं प्रणाली अध्याय 2. प्रथम आलेख ग्राफ़िकल इंटरफेस मैं पुस्तकालय संरचना की अध्याय 1 तैयार करता है विस्तार से बताता है कि यह लाइब्रेरी किस प्रकार के लिए है आप लिंक के साथ लेखों की एक सूची के अंत में पाएंगे प्रत्येक अध्याय वहाँ, आप विकास के वर्तमान चरण में पुस्तकालय का एक पूर्ण संस्करण डाउनलोड भी कर सकते हैं, फ़ाइलों को उसी निर्देशिका में रखा जाना चाहिए, क्योंकि वे संग्रह में स्थित हैं I पिछले अध्याय में, हमने स्टेटस बार पर चर्चा की और ग्राफिकल इंटरफ़ेस के सूचनात्मक तत्वों को टूलटिप दिया है इस अध्याय में, हम पुस्तकालय कार्यान्वयन को MQL अनुप्रयोगों के लिए मल्टी-विंडो इंटरफेस बनाने की संभावना के लिए विस्तारित करेंगे। इसके अतिरिक्त, हम बाएं माउस बटन के लिए प्राथमिकताओं का सिस्टम ग्राफिकल ऑब्जेक्ट्स पर क्लिक करता है, इसके बिना ऐसा हो सकता है कि नियंत्रण उपयोगकर्ता के कार्यों का जवाब नहीं देते। मल्टी-विंडो मोड। हमें लाइब्रेरी के आलेखीय इंटरफ़ेस के मल्टी-विंडो मोड पर विचार करें विकास के तहत अब तक, ENUMWINDOWTYPE गणना मुख्य वामाइन और संवाद WDIALOG खिड़कियों के लिए दो आइडेंटिफ़ायर प्रदान की गई एकल विंडो मोड उपयोग में केवल एकमात्र तरीका था जब हम कुछ अतिरिक्त लागू करते हैं, मल्टी-विंडो मोड सक्षम करने से केवल सृजन और इसके अतिरिक्त सम्मिलित होगा जरूरी संख्या में नियंत्रण प्रपत्र आधार के लिए। इवेंट हैंडलिंग के लिए मुख्य वर्ग में वर्तमान में सक्रिय सूचकांक संचय करने के लिए एक क्षेत्र बनाएं खिड़की। देखें कि सक्रिय विंडो का सूचक कैसे पहचाना जा रहा है उदाहरण के लिए, उपयोगकर्ता कुछ विंडो में एक संवाद विंडो खोलने को निर्धारित करता है WDIALOG कुछ बटन पर जब बटन दबाया जाता है, ONCLICKBUTTON कस्टम इवेंट उत्पन्न होता है इस घटना को ट्रैक किया जा सकता है कस्टम वर्ग के सीपीआरोग्राम ओनेंट इवेंट हैंडलर में हम उस प्रपत्र के CWindow Show विधि का भी उपयोग करेंगे जो कि दिखाया जाना है यह पुस्तकालय के वर्तमान कार्यान्वयन में पर्याप्त नहीं है और हम आवश्यक अतिरिक्त परिचय देंगे। एक कस्टम इवेंट को करना होगा CWindow Show विधि से भेजा जायेगा जो इंगित करेगा कि एक विंडो खोल दी गई है ताकि ग्राफ़िकल इंटरफ़ेस सिस्टम के पैरामीटर मूल्य को अपडेट किया जाना चाहिए इस तरह के एक ईवेंट को अलग पहचानकर्ता की आवश्यकता है हम इसे ओपनएंडियलओजीओओएक्स कहते हैं और इसे फाइल में डालते हैं जहां अन्य लाइब्रेरी पहचानकर्ता हैं स्थित है। नीचे दिए गए कोड में दिखाए गए अनुसार CWindow Show विधि के बहुत अंत में एक पंक्ति जोड़ें यह विधि का एक छोटा संस्करण है यहां तक ​​की किसी भी अज्ञात पहचान के लिए टी इनिशिएटर, इवेंट पहचानकर्ता के अलावा तत्व पहचानकर्ता और प्रोग्राम का नाम भेजा जाना चाहिए। इस ईवेंट को सीडब्ल्यूएनड एवेंट्स क्लास में संभाला जाएगा, से निपटने के लिए विधि के कार्यान्वयन से पहले, हमें सीडब्ल्यूडब्ल्यूओ कक्षा में तीन और तरीकों को बनाने की आवश्यकता है ये हैं फॉर्म की स्थिति को प्रबंधित करने के लिए एक डायलॉग विंडो खोलने के साथ-साथ फॉर्म के सूचकांक को प्राप्त करने और प्राप्त करने के दो तरीके। पहले सक्रिय विंडो के सूचकांक को संग्रहीत किया जाना चाहिए क्योंकि कई खिड़कियों को एक साथ खोला जा सकता है इसलिए जब एक संवाद विंडो बंद हो जाती है, तो पता होना जरूरी है कि सक्रिय राज्य में किसको वापस करना होगा। फॉर्म की स्थिति को प्रबंधित करने के लिए, निष्क्रिय किए गए फ़ॉर्मों का एक अलग हेडर रंग होगा, जो इसे बदल सकता है उपयोगकर्ता तत्वों का रंग तब नहीं बदलेगा, जब माउस कर्सर उन पर मँडरा हो रहा है क्योंकि फॉर्म अवरुद्ध हो जाएगा उसमें जोड़ना, फॉर्म के निष्क्रिय होने के समय, एक कस्टम इवेंट उत्पन्न होगा यह होगा मिमीयनाकेट कि फॉर्म को अवरुद्ध कर दिया जाता है और उसके तत्वों के फोकस और रंगों को चुना जाना चाहिए जब प्रपत्र अवरुद्ध होता है, तत्वों पर ध्यान केंद्रित नहीं किया जाता है एक संवाद विंडो खोलने के समय, उस तत्व का रंग, जो खिड़की को ऊपर लाया जैसे कि माउस कर्सर अभी भी इसके ऊपर घूम रहा है। इस तरह की घटना के लिए फाइल में ONRESETWINDOWCOLORS पहचानकर्ता बनाया जा रहा है। फॉर्म की स्थिति के प्रबंधन के लिए विधि नीचे दिए गए कोड में प्रस्तुत की गई है। ONOPENDIALOGBOX घटना ग्राफ़िकल इंटरफ़ेस की घटनाओं को संभालने के लिए मुख्य कक्षा में CWndEvents CWndEvents OnOpenDialogBox विधि बनाते हैं, जिसे CWndEvents ChartEventCustom आम विधि में सभी कस्टम इवेंट्स को संभालने के लिए कहा जाएगा। CWndEvents OnOpenDialogBox विधि दो पहचान से पहचानकर्ता के लिए एक से शुरू होता है और एक प्रोग्राम नाम के लिए यदि वे पारित हो गए हैं, तो पता लगाएं कि विंडो ने किस ईवेंट को जेनरेट किया है, यह तत्व पहचानकर्ता है जो कि सी है इस संदेश में लिपाराम को छोड़ दिया जाएगा इस सुविधा के साथ मेल खाने वाले पहचानकर्ता को उन सभी तत्वों के साथ अवरुद्ध किया जाएगा जो सभी वस्तुओं की प्राथमिकताओं को रीसेट ज़रेडर्स विधि की मदद से शून्य कर दिया जाएगा और बाईं माउस क्लिक पर प्रतिक्रिया नहीं करेगा। पहचानकर्ता से मिलते-जुलते फ़ॉर्म को बनाते समय, वर्तमान सक्रिय विंडो के सूचकांक को पहले सक्रिय विंडो के सूचक के रूप में संग्रहीत करें इस प्रपत्र को सक्रिय करें और बाईं माउस की प्राथमिकता को अपने सभी वस्तुओं पर क्लिक करके इस विंडो के सूचकांक को संग्रहीत करें वर्तमान में सक्रिय तब, इस फॉर्म के सभी तत्वों को दृश्यमान बनाएं और बाएं माउस क्लिक की अपनी प्राथमिकताओं को पुनर्स्थापित करें, फ़ॉर्म तत्व को छोड़ दें क्योंकि यह पहले से ही दृश्यमान और ड्रॉप-डाउन तत्व है। यह एक उपकरण विंडो दिखाई देने पर एक संवाद विंडो खुलेगा, फिर टूलटिप छुपा होना चाहिए यह स्वयं द्वारा गायब नहीं होगा क्योंकि जिस रूप को वह संलग्न है वह पहले से अवरुद्ध है टूलटिप्स के लिए निजी सरणी पहले ऐसे मामलों को पूरा करने के लिए बनाई गई थी सीडब्ल्यूएनडएवेंट्स के मुख्य वर्ग में इवेंट हैंडलिंग के लिए आधार में किसी भी तत्व के तरीकों को प्राप्त किया जा सकता है। अब, हम ONRESETWINDOWCOLORS पहचानकर्ता को संबोधित करने जा रहे हैं जो इस लेख में पहले बनाया गया था इस घटना को संभालने के लिए एक विधि लिखने से पहले, एक और मानक आभासी पद्धति को सभी तत्वों के CElement बेस क्लास में जोड़ा जाना चाहिए जो कि रंग को शून्य करने के लिए नामित किया जायेगा हमें इसे CElement ResetColors नाम दें। प्रत्येक तत्व के लिए विशिष्ट विशेषताओं के साथ ResetColors के तरीकों को सभी व्युत्पन्न कक्षाओं में बनाया जाना चाहिए नीचे दिया गया कोड एक उदाहरण दिखाता है आइकन बटन तत्व के लिए CIconButton सभी अन्य तत्वों के लिए रीसेटकॉलर्स विधि इस आलेख से जुड़ी फाइलों में पाई जा सकती है.इसलिए, तत्वों के बेस वर्ग और व्युत्पन्न कक्षाओं में अपने स्वयं के संस्करणों में एक आभासी विधि रंगों को शून्य करने की संभावना प्रदान करती हैं लाइब्रेरी CWndEvents के मुख्य वर्ग के ईवेंट हैंडलर से एक लूप में सभी तत्व। हैंडल के लिए CWndEvents OnResetWindowColors विधि लिखें ONRESETWINDOWCOLORS इवेंट में यह आसान नहीं है, केवल उस प्रपत्र के लिए देखो जिसे सिर्फ तत्व पहचानकर्ता द्वारा निष्क्रिय किया गया है जो अभी तक किसी संदेश में प्राप्त हुआ है यदि कोई है, तो उसका सूचकांक संचय करें यदि सूचकांक को संग्रहीत किया गया था, तो इसमें सभी तत्वों के शून्य रंग इस पद्धति का विवरण नीचे दिए गए कोड में पाया जा सकता है। हमने खिड़कियों के उद्घाटन के बारे में स्पष्ट किया है, अब हमें पहले सक्रिय विंडो को बंद करने और बहाल करने के तरीकों को लागू करना है इस घटना को संभालने के लिए, हमें ओएनसीओडीआईडीओओबीओओडीओएक्स पहचानकर्ता बनाना होगा। फ़ाइल। CWindow वर्ग में हम CWindow CloseWindow विधि का उपयोग कर रहे हैं फार्म और कार्यक्रम को इसके साथ बंद करने के लिए इस पद्धति में इस खंड में जो संवाद विंडो को बंद करता है WDIALOG अभी तक लागू नहीं हुआ है, हमें एक अतिरिक्त विधि लिखना जो एक इवेंट के लिए जनरेट करेंगे संवाद विंडो बंद करना 1 घटना पहचानकर्ता के अलावा, संदेश में 2 तत्व पहचानकर्ता, 3 पहले सक्रिय विंडो का सूचकांक और 4 का टेक्स्ट होगा ईडर, हम इस पद्धति को CWindow CloseDialogBox को बाद में कहते हैं, हम इसे जटिल नियंत्रण में भी उपयोग करेंगे जहां विंडो बंद करने से बंद बटन के अलावा अन्य तत्वों द्वारा किया जाएगा। CWindow वर्ग में, CWindow CloseDialogBox विधि को कॉल करने में है CWindow CloseWindow विधि नीचे दिए गए कोड के संक्षिप्त संस्करण में दिखाए गए अनुसार इस लेख से जुड़ी फाइलों में एक पूर्ण संस्करण पाया जा सकता है। ONCLOSEDIALOGBOX पहचानकर्ता के साथ संदेश भेज दिया गया है, उसे ट्रैक करने और उसके हैंडलर में संभाला जाना चाहिए CWndEvents वर्ग, इसके लिए, हमें बेस में सभी विंडो पर CWndEvents OnCloseDialogBox विधि लिखना और संदेश में पहचानकर्ता से मिलान करने वाले पहचानकर्ता के साथ एक को देखने दें यदि ऐसी खिड़की पाई जाती है, तो इसे निष्क्रिय कर दिया जाए, तब इसे छुपाना इसके साथ संलग्न सभी तत्वों के साथ और संदेश में दिए गए सूचकांक द्वारा फॉर्म को सक्रिय करें उसके बाद, वर्तमान सक्रिय विंडो के सूचकांक को संग्रहीत करें और प्राथमिकताओं को पुनर्स्थापित करें तत्वों के लिए बाएं माउस क्लिक करें.अब, बहु-खिड़की मोड के परीक्षण के लिए सब कुछ तैयार है। मल्टी-विंडो मोड का टेस्ट। ईडब्ल्यू में सीडब्ल्यूडब्ल्यूओ वर्ग के दो उदाहरणों को बनाएं जिसे हमने सूचनात्मक इंटरफ़ेस तत्वों के परीक्षण के लिए उपयोग किया इसका परिणाम ईए के ग्राफिकल इंटरफेस में तीन रूप होगा, पहले फॉर्म WMAIN मुख्य होगा और दो अन्य में संवाद विंडो की भूमिका होगी WDIALOG मुख्य फ़ॉर्म के बटनों में से किसी एक को पहली डायलॉग विंडो संलग्न करें तीन बटन बनाएं पहली डायलॉग विंडो में और दूसरी डायलॉग विंडो को नव निर्मित बटनों में से एक को संलग्न करें इस तरह हम एक साथ तीन रूप खोले होंगे और उनमें से केवल एक सक्रिय उपलब्ध होगा। नीचे दिए गए कोड से पता चलता है कि सीपीआरोग्राम कस्टम में क्या जोड़ा जाना चाहिए विकास के वर्तमान चरण में आवेदन की कक्षा। विकास के तहत आवेदन के ग्राफिकल इंटरफ़ेस बनाने की मुख्य विधि में इन विधियों को बुलाते हैं। इस मेथ के एक छोटा संस्करण है od. We केवल पहले संवाद विंडो के दूसरे चरण के लिए विधि पर विचार करेंगे जैसा कि आपको याद है, आपको आधार के लिए एक फार्म जोड़ने के लिए CWndContainer AddWindow विधि का उपयोग करने की आवश्यकता है कृपया ध्यान दें कि कैसे फॉर्म समन्वय नीचे दिए गए कोड में परिभाषित करता है डिफ़ॉल्ट निर्देशांक के रूप में शून्य जब प्रोग्राम को चार्ट पर लोड किया जाता है, तो आप जो उचित मानते हैं, उसे निर्देशित किया जाएगा इस उदाहरण में मान एक्स 1, वाई 20 हैं, उसके बाद प्रपत्र को स्थानांतरित किया जा सकता है और फिर टाइमफ़्रेम या चार्ट का प्रतीक हो सकता है स्विचित नीचे दिए गए कोड से पता चलता है कि फ़ॉर्म उस समय रहेगा जहां वह आखिरी बार था यदि आप चाहते हैं कि यह फ़ॉर्म उस स्थान पर स्थित हो जहां यह चार्ट के कार्यक्रम की पहली लोडिंग में था, तो इन स्थितियों को हटा दें इस उदाहरण में, सभी तीन रूप the graphical interface of the program will have the same conditions. Let us arrange that the dialog forms can be moved over the chart The window type should be set as dialog WDIALOG , otherwise you will encounter incorrect work of the graphical interface Th e window icon can be redefined using the CWindow IconFile method In case of dialog windows, same icon can be used as the one of the element that brings up this window. Let me remind you about some details of how to attach controls to a certain dialog window As an example, let us consider one of the button methods designated for this form I would like to highlight only two things. You need to remember that. The element must be passed the pointer to the form to which it is to be attached. When the element pointer is saved in the base, specify the index of the form to which the element is to be attached In this case it is index 1.It is up to the developer of the application to manage the display of windows Track the pressing on any control in the event handler of the CProgram custom class and show the relevant window Assign the call of the first dialog window to the button on the main window of the EA second form , and the call of the second dialog window to the button on the first dialog win dow third form. Desired result is shown in the screenshot below Please note the ellipsis in the button names Icon Button 1 and Icon Button 6 This is a usual way of letting the user know that pressing of this element will open a dialog window. Fig 1 Testing of the multi-window mode. If you switch the symbol or the timeframe of the chart when several forms are open, you will encounter a problem Dialog windows will disappear as they are supposed to but the management will not be passed over to the main window The form will not respond to the user s actions The solution to this is simple As you remember, the CWndEvents Destroy method is called in the CProgram OnDeinitEvent method for uninitialization of the custom class The graphical interface of the application is deleted in this method The management has to be given to the main window at the moment of deleting the graphical interface Therefore, some additions must be introduced to the CWndEvents Destroy method. Set the index of the main wind ow as active. Activate the main window and deactivate the rest. Below is the code of the current version of the CWndEvents Destroy method. The first version of the multi-window mode is implemented Everything turned out to be less complicated than it could have seemed initially. Enhancement of the System of Priorities of the Left Mouse Button. Up until now, the management of priorities of the left mouse click on the interface elements has been carried out by the events with the ONOPENDIALOGBOX and ONCLOSEDIALOGBOX identifiers The reason for that was that when the next drop-down element was developed, it was up to the user to assign the priority value for each object of this element Priorities of other elements that could happen to be beneath it were taken into account However, when it came to creating complex compound controls, this system was awkward and easy to confuse To make things easier, let us create two more identifiers for such events. ONZEROPRIORITIES zeroing priorities. ONSETPRIORIT IES restoring priorities. Add them to the file. Generation of events with these identifiers must be located in the classes of the elements that are or can be drop-down ones At the current stage of development, in the present interface set, context menu is such an element Therefore, add the code to the Show and Hide methods of the CContextMenu class as shown below in the shortened versions of the code. We will receive these messages in the main class for handling all messages CWndEvents For that, we will write a separate handling method for each identifier These methods will be called in the main method for handling custom events CWndEvents ChartEventCustom. In the CWndEvents OnZeroPriorities method, iterate over all elements of the active window and zero priorities of all of them except the one with the element identifier contained in the message lparam - parameter as well as except menu items and context menus The reason why we exclude menu items and context menus is that several context m enus can be opened at the same time one from another. If the received message contains the ONSETPRIORITIES event identifier, then restore priorities of the left mouse button click for all the elements of the active window. The library for creating graphical interfaces at the current stage of development looks like in the schematic below. Fig 2 Library structure at the current stage of development. This is the final article of the fourth part of the series about graphical interfaces In the first chapter of this part, the status bar and tooltip informational interface elements were realized In the second chapter, the multi-window mode and a priority system of the left mouse click were discussed. You can find and download all the material of the first part or the series in the attached files so you can test how it works If you have questions on using the material presented in those files, you can refer to the detailed description of the library development in one of the articles from the list below or ask your question in the comments of this article. List of the articles chapters of the fourth part.

No comments:

Post a Comment