Wednesday 10 January 2018

Backtest - विदेशी मुद्रा - mt4 - प्रोग्रामर


स्ट्रीटपिप्स द्वारा MT4 विशेषज्ञ सलाहकार और विदेशी मुद्रा रोबोटों को कैसे बैकएस्ट करें पर सुझाव 21 फरवरी, 2014 06:47:06 GMT तक के लिए एक स्वतंत्र ओंडा एमटी 4 डेमो अकाउंट के लिए पंजीकरण करें। स्ट्रीटपिप्स में हमारा काम प्रोग्रामिंग रणनीतियों और उनके प्रदर्शन का परीक्षण करना शामिल है। इन वर्षों में, हमने कई एमटी 4 ईएएस या विशेषज्ञ सलाहकारों का समर्थन किया है। यह हमें सैकड़ों व्यापारिक रोबोटों के माध्यम से प्रदर्शित करने के लिए लंबे समय तक नहीं ले जाता है, जिसके लिए हम सुधार की क्षमता रखते हैं। हम आपके साथ हमारे कुछ अनुभव साझा करना चाहते हैं। बैकस्टेस के लिए पर्याप्त मीटी 4 डाटा पॉइंट्स आपका बैकटेस्ट केवल उतना ही अच्छा है जितना आपके पास डेटा। एमटी 4 रणनीति परीक्षक में मॉडलिंग की गुणवत्ता के रूप में परिकलित करें, सुनिश्चित करें कि आपके सॉफ्टवेयर पर परीक्षण करने के लिए आपके पास पर्याप्त डेटा बिंदु हैं। अपने मेटाट्रेडर प्लेटफ़ॉर्म पर, टूल खाता इतिहास केंद्र पर क्लिक करें: फिर मुद्रा युग्म और समय-सीमा का चयन करें, यह सुनिश्चित करने के लिए डाउनलोड करें पर क्लिक करें कि आपके पास डेटा अपडेट किया गया है। यह डेटा ब्रोकर से ब्रोकर में भिन्न होता है, इसलिए कुछ दलाल प्लेटफार्मों पर सॉफ्टवेयर का बैकअप लेने का यह एक अच्छा विचार हो सकता है, विशेष रूप से जिस दलाल के साथ आप व्यापार कर रहे हैं MT4 पर विशेषज्ञ सलाहकारों को सक्षम करें यदि आप ईए नहीं चलाते हैं, तो सुनिश्चित करें कि वे आपके मेटाट्रेडर पर सक्षम हैं। उपकरण gt विकल्प जीटी विशेषज्ञ सलाहकार पर क्लिक करें और आप इसे देखेंगे: सुनिश्चित करें कि एक्सपर्ट एडवाइजर को सक्षम करने के बगल में बॉक्स चेक किया गया है। दृश्य मोड धीमा है, लेकिन उपयोगी रणनीति परीक्षक पर, आप विज़ुअल मोड का चयन करने के लिए जांच सकते हैं। हालांकि यह बैकटेस्ट को धीमा कर देती है, आप एक चलती ऐतिहासिक चार्ट पर ट्रेडों को देख सकते हैं, और ईए के व्यवहार को देख सकते हैं। आप चेक बॉक्स के दाईं ओर एक स्क्रॉल बार देखते हैं, जिससे आप दृश्य बैकस्टेस्ट को गति या धीमा कर सकते हैं। एक बार जब आप अपने रोबोट के व्यवहार को समझते हैं, तो आप बैकटेस्ट को गति देने के लिए विजुअल मोड को हटा सकते हैं। ट्रेडों का अभाव कभी कभी एक बैकटेस्ट के बाद, आप केवल कुछ ट्रेडों को निष्पादित करते देखते हैं। यह डेटा बिंदुओं की कमी के कारण हो सकता है, उदाहरण के लिए आप एक साप्ताहिक रणनीति चला सकते हैं या यह बहुत ही चयनात्मक परिस्थितियों के कारण कुछ व्यापार रणनीतियों का परीक्षण किया जा रहा है, इस रणनीति का एक वर्ष केवल कुछ समय में व्यापार होता है। आपके व्यापारिक व्यक्तित्व के आधार पर, आप एक रोबोट चाहते हैं जो अधिक बार ट्रेड करता है अत्यधिक ड्रॉडाउन दृश्य मोड के बारे में एक महान विशेषता है कि आप ग्राफ़ पर क्लिक करके खाता शेष देख सकते हैं, क्योंकि रोबोट डेटा की जांच करता है। नीचे दिया गया ग्राफ़ अत्यधिक रोशनी से अत्यधिक ड्रॉडाउन दिखाता है इसका अर्थ है कि आप रास्ते में मुनाफा कमा सकते हैं, और यहां तक ​​कि लंबे समय तक भी, लेकिन ऐसे समय भी होंगे जहां आपके खाते की शेष राशि बड़ी मात्रा में कम हो जाती है, जो जोखिम भरा है। बड़े ड्रॉडाउन व्यापार प्रदर्शन को प्रभावित कर सकते हैं, खासकर यदि ट्रेडों के लिए आपकी स्थिति का आकार खाता शेष से जुड़ा होता है। अत्यधिक जोखिम कभी-कभी दृश्य मोड में आप अवास्तविक व्यापारिक व्यवहार देख सकते हैं, जैसे ब्रेकएव्हन बिंदु के लिए एक व्यापार रखना, कोई फर्क नहीं पड़ता अवधि। नीचे दिए गए उदाहरण में हम एक विक्रय व्यापार को देखते हैं, लाल क्षैतिज रेखा से संकेत मिलता है बाजार व्यापार की दिशा के खिलाफ था, और यह रोबोट एक खोने की स्थिति पर निर्भर करता है जब तक कि ब्रेकएव्हन बिंदु तक पहुंच न हो। यह यथार्थवादी नहीं हो सकता है क्योंकि नकारात्मक इक्विटी की लंबी अवधि आपके खाते को मिटा सकता है। यह व्यापार वास्तव में रोबोट के खिलाफ 280 पिप्स चला गया, इससे पहले कि वह ठीक हो गया और ब्रेकेवन बिंदु पर वापस लौट गया। यहाँ सवाल यह है कि आप कितनी देर तक हारने की स्थिति में रह सकते हैं, क्या होगा अगर ब्रेकएवेन या फिर साल भी बरकरार करने में महीनों लगते हैं, मर्टिंगेल स्ट्रेटेजीज मार्टिंगेल रणनीति का मतलब है कि एक व्यापारी हर व्यापार में अपना नुकसान बढ़ाता है, ताकि अगले जीत पिछले सभी घाटे को ठीक करना और मूल हिस्सेदारी के बराबर लाभ हासिल करना यदि आप नीचे दिए गए ग्राफ़ को नोट करते हैं, हर बार जब खाते में बड़ी गिरावट होती है, तो यह जल्दी ठीक हो जाती है। यह मार्टिंगेल रणनीति के कारण है, जैसा कि आप नीचे नीले रंग में देखते हैं, जहां व्यापार का आकार हानि को कवर करने के लिए बढ़ता है। मान लें कि आपके पास अनन्त व्यापारिक पूंजी और खाता शेष है, मार्टिंगेल रणनीतियों महान हैं यह एक समस्या बन जाता है यदि आपको नुकसान का एक स्ट्रिंग है जिसकी सीमा तक आपके खाते की शेष राशि आपको अगले व्यापार पर दोगुना करने की अनुमति नहीं देती है, तो पिछले नुकसान के लिए यह लोकप्रिय रणनीति अक्सर आधार है, जो प्रोग्रामर एक लगातार ऊपर की ओर ढलान वाली बैकस्टेस को कोड देते हैं। यदि आप विदेशी मुद्रा रोबोट का बैकस्टेस्ट करते हैं और प्रदर्शन ग्राफ सचमुच एक ऊपरी ढलान है, तो स्थिति आकार में बढ़ोतरी के साथ ही ड्रॉडाउन से तेज वसूली के साथ, रणनीति मर्टिंगेल होने की संभावना है। बस यह सुनिश्चित करें कि यह आपके जोखिम प्रोफ़ाइल और व्यापारिक पूंजी के अनुरूप है। अन्त में, फॉरवर्ड टेस्ट एक ईए पूरी तरह से बैकटेस्ट में काम कर सकता है, संभवत: पिछड़े वर्ग के संकेतकों के कारण, लेकिन आप निश्चित रूप से रोबोट का परीक्षण करने के लिए अपने तर्क का परीक्षण करने की आवश्यकता कर सकते हैं। उदाहरण के लिए, यदि कोई संकेतक repaints, यह backtest पर अच्छी तरह से काम कर सकता है, लेकिन आगे के परीक्षणों में विफल क्योंकि संकेतक लगातार बदल रहा है। आगे की जांच से रोबोट को लाइव स्थितियों और फैल पर चलने की भी अनुमति मिलती है, जो एक बैकटेस्ट से अधिक यथार्थवादी है। और निश्चित रूप से, आगे के परीक्षण के साथ, आपका डेटा 100 है और मॉडलिंग की गुणवत्ता भी 100 है। विशेषज्ञ सलाहकार जो हमें पसंद हैं, अंत में, हम ऐसे रोबोट पसंद करते हैं, जो बड़े ड्रॉडाउन से ग्रस्त नहीं होते हैं, जो यथार्थवादी व्यापारिक व्यवहार जैसे स्टॉप लॉस लगाने, जो दीर्घकालिक पर एक ऊपर की ओर ढलान की वक्र की अच्छी संभावना है, और इनके आगे के परीक्षणों में भी प्रदर्शित करते हैं। यदि आपके पास कोई रोबोट है जो आपको लगता है कि महान हैं, तो उन्हें अपने साथ साझा करने के लिए बेझिझक देखें। यह आलेख पहले स्ट्रीटपिप्सऑटोमैटेटेड ट्रेडिंग बैकटेस्टिंग कोर्स - भाग 1 पर प्रकाशित हुआ था: प्रोग्रामिंग वाणिज्यिक सदस्य सितंबर 2012 में शामिल हुए 141 पोस्ट कई लोगों ने इस मंच पर अपनी व्यापार प्रणाली पोस्ट की है , लेकिन अधिकांश सिस्टम कुछ आवश्यक गायब हैं: उनका बैकस्टेस्ट नहीं किया गया है तो यह जानने का कोई तरीका नहीं है कि क्या सिस्टम लाभदायक है या नहीं कुछ चार्ट्स को आंख मारने या कुछ डेमो ट्रेडों की कोशिश करके एक राक्षसी बैकस्टेक्वाइट कोई भी उपयोगी जानकारी नहीं दे सकता है नतीजतन, आप साधारण 4-वर्षीय बैकटेस्ट के साथ पांच मिनट में देख सकते हैं कि यहां पोस्ट की जाने वाली अधिकांश व्यवस्था पैसे खो देंगे। दूसरी ओर, उनमें से कुछ उल्लेखनीय लाभ कमा सकते हैं। लेकिन आप कैसे जानते हैं कि मुझे कौन सा लगता है कि कोई भी सफल प्रणाली विकसित नहीं कर सकता जब तक कि उसे इसका परीक्षण करने का कोई तरीका न हो। इसके लिए हालांकि सिस्टम को ईए, स्क्रिप्ट, रणनीति, जो भी कहा जाता है, के रूप में प्रोग्राम करने की आवश्यकता होती है। ये समस्या है: ज्यादातर व्यापारियों को लगता है कि उनके लिए प्रोग्रामिंग बहुत मुश्किल है। लेकिन ऐसा नहीं है। कोई भी ईए या रणनीति प्रोग्रामिंग कुछ दिनों में सीख सकता है, और तब आसानी से अपनी सिस्टम को बैकस्टेस्ट कर सकता है या यहां तक ​​कि उन्हें स्वचालित रूप से व्यापार भी कर सकता है। इस के लिए एक पाठ्यक्रम लिखने की प्रक्रिया में Im मुझे यहां पाठ्यक्रम पोस्ट करने की उम्मीद है कि मुझे समझने में क्या आसान है और क्या नहीं है, इस बारे में मुझे कुछ प्रतिक्रिया मिलती है, ताकि मैं सामग्री को सुधार सकूं। बीमार अगले दिनों में पहले भाग में अगले दिन पोस्ट करेंगे। पहला भाग सी में प्रोग्रामिंग सीखने के बारे में है, और चर, फ़ंक्शंस, शाखाओं, और लूप को कवर करता है। दूसरा भाग प्रोग्रामिंग व्यापार प्रणालियों के बारे में होगा, और प्रवृत्ति व्यापार, काउंटर प्रवृत्ति व्यापार, अनुकूलन, आगे चलना विश्लेषण, पोर्टफोलियो रणनीतियों, और धन प्रबंधन को कवर किया जाएगा। यह कुछ नए ट्रेडिंग एल्गोरिदम का उपयोग करता है जैसे फ़्रीक्वेंसी फ़िल्टर। सी भाषा का फायदा यह है कि आप एन ज्ञान का इस्तेमाल निनजा ट्रेडर, एमटी 4, ट्रांडेस्टेशन इत्यादि जैसे ईएएस या रणनीतियों के लिए लिख सकते हैं क्योंकि ये सभी भाषाएं समान हैं। कोर्स लगभग 2 सप्ताह से अधिक होगा लक्ष्य पूंजी पर एक ठोस वार्षिक रिटर्न के साथ एक पोर्टफोलियो रणनीति विकसित करना है। कृत्रिम बुद्धि का उपयोग करने के बारे में एक तीसरा हिस्सा हो सकता है, जैसे कि गद्दी और निर्णय पेड़, लेकिन यह अभी तक समाप्त नहीं हुआ है और बाद में आता है। पाठ्यक्रम के लिए आपको स्क्रिप्ट उदाहरण चलाने और रणनीतियों का परीक्षण करने के लिए कुछ प्रोग्राम की आवश्यकता होगी। इसका नाम quotZorroquot है और आप इसे ज़ोरो-व्यापारी से मुफ्त में डाउनलोड कर सकते हैं। हम इस पाठ्यक्रम के लिए एमटी 4 का इस्तेमाल नहीं करेंगे, हालांकि एमटी 4 अपने ईए के लिए भी सी का उपयोग करता है। कई कारण हैं: एमटी 4 को कुछ अतिरिक्त कोड सामान की आवश्यकता होती है जो शुरुआती के लिए सीखना अनावश्यक रूप से कठिन है। एमटी 4 में एक रणनीति का ठीक से परीक्षण करने के लिए आवश्यक विशेषताओं की कमी है। तीसरा कारण यह है कि एमटी 4 में एक छुपी हुई सुविधा है जिसे कहा जाता है वर्चुअल डीलर प्लगइनक्वाट, जिसका उपयोग आपके ब्रोकर द्वारा आपके मुनाफे का एक हिस्सा निकालने के लिए किया जा सकता है। इसलिए मैं एमटी 4 से बचने की कोशिश करता हूं। हालांकि, जब आप इस कोर्स के माध्यम से होते हैं, तो आप भी एमटी 4 के लिए एक ईए लिखने के लिए मूलभूत ज्ञान प्राप्त कर सकते हैं यदि आप चाहते हैं वाणिज्यिक सदस्य सितंबर 2012 में शामिल हुए 141 डाक हम काम करना शुरू करते हैं। पहले थोड़ी सी सिद्धांत पर एक स्क्रिप्ट का उद्देश्य (या ईए, या कार्यक्रम, या जो कुछ भी कहा जाता है) कंप्यूटर को बता रहा है कि किस परिस्थिति में क्या करना है एक स्क्रिप्ट में वेरिएबल्स और फ़ंक्शंस होते हैं - इस प्रथम अध्याय में मुझे चर का समझाते हैं I एक चर एक आपके कंप्यूटर मेमोरी (एक कंटेनर की तरह) में एक स्थान है, जिसका उपयोग संख्या, पाठ, या अन्य जानकारी को संग्रहीत करने के लिए किया जाता है क्योंकि आपको यह याद रखना नहीं चाहिए कि कंप्यूटर में कौन सी चर संग्रहीत है, किसी भी चर में स्क्रिप्ट में उपयोग किए जाने वाले एक अनूठे नाम है। कुछ उदाहरण लिपि लाइनें जो वैरिएबल को परिभाषित करती हैं: var मूल्य वर्धित प्रतिशत प्रति मिनट 1.5 मासिक ब्याज इंट दिवस 7 स्ट्रिंग वेल्थ उद्धरण I am richquot bool सत्य जीतना ये कुछ छोटी लाइनें हैं, लेकिन हम उन्हें कई नई चीजें सीखने के लिए उपयोग कर सकते हैं: 9658 प्रत्येक वैरिएबल इस्तेमाल होने से पहले परिभाषित किया जाना चाहिए (प्रोग्रामर्स भी घोषित घोषित) हमारे पास भिन्न चर प्रकार हैं: var, दशमलव के साथ चर के लिए, कीमतों या दरों के लिए जैसे वेरिएबल के लिए कोई दशमलव नहीं होती है, जैसे टॉगल स्विच के लिए कुछ स्ट्रिंग और बूल की गणना करने के लिए, जो कि सही या गलत है। यहां तक ​​कि और भी बुनियादी चर प्रकार हैं, लेकिन व्यापारिक लिपियों में आप आम तौर पर इन चार ही मुठभेड़ करेंगे। यदि आप इस स्क्रिप्ट को अपनी स्क्रिप्ट में लिखते हैं: डेज़ 3 और आपने दिन नामित चर परिभाषित किया है, आपको एक त्रुटि संदेश मिलेगा। एकमात्र अपवाद वेरिएबल हैं जो ज़ोरो पहले से ही जानते हैं क्योंकि उन्हें संकलक में पूर्व-परिभाषित किया गया है। 9658 किसी भी चर शुरुआत में एक प्रारंभिक मान प्राप्त कर सकते हैं, लेकिन हम ऐसा करने के लिए मजबूर नहीं हैं जब प्रारंभिक मान कोई फर्क नहीं पड़ता। उदाहरण: int numbars 7 var सीमा 3.5 9658 हम कोड में अपनी टिप्पणियों को जोड़ सकते हैं। हर बार जब यह दो स्लेशों का सामना करता है, तो ज़ोरो उन शब्दों को अनदेखा करेगा जो इसका अनुसरण करते हैं, रेखा के अंत तक। इस प्रकार हम हमारे कोड में उपयोगी जानकारी जोड़ सकते हैं: इंट बार-वाइड मिनट में एक बार की चौड़ाई, या हम अस्थायी रूप से दो स्लैश को उसके सामने रखकर एक पंक्ति को अस्थायी रूप से अक्षम कर सकते हैं। इसे एक रेखा से बाहर निकलना कहा जाता है, और प्रोग्रामिंग करते समय यह बहुत बार प्रयोग किया जाता है कि स्क्रिप्ट संपादक में टिप्पणी करने और टिप्पणी करने के लिए दो अतिरिक्त बटन होते हैं। 9658 प्रत्येक परिभाषा या सी में किसी भी कमांड को अर्धविराम के साथ समाप्त करने की आवश्यकता होती है। कई शुरुआती कोड की अपनी लाइनों के अंत में quotquot जोड़ना भूल जाते हैं, और यह भी एक त्रुटि संदेश की ओर जाता है - लापता अर्धविराम के साथ लाइन में नहीं, लेकिन निम्न पंक्ति 9658 में प्रत्येक चर का नाम या तो एक अक्षर से शुरू होना चाहिए या एक अंडरस्कोर यहाँ कुछ मान्य चर नाम हैं: var AlohA var metoo var go42 var Iamb19 var 12345 अब कुछ बुरा उदाहरणों पर एक नज़र डालें: var ItoldYou var 1forall var 12345 बीमार आपको पता चलता है कि ऊपर की परिभाषाओं में क्या गलत है। 9 658 चर नाम केस सेंसिटिव हैं। इसका मतलब यह है कि यदि हम इस तरह से परिभाषित करते हैं: और उसके बाद हम इसे बाद में हमारे कोड में उपयोग करते हैं: mytradepositions5 या mytradepositions5 या MYTRADEPOITIONS 5 ज़ोरो इसे स्वीकार नहीं करेंगे। 9658 आप एक पंक्ति में कई चर को परिभाषित कर सकते हैं यह लाइनों को बचाता है और आपके कोड को छोटा रखता है। उदाहरण: var गति, शक्ति, स्कोर चौड़ाई चौड़ाई 7, ऊंचाई 14, गहराई 20 9 658 अंत में, चर में महत्वपूर्ण नाम होना चाहिए। हालांकि चर की एक ढेर को परिभाषित करना संभव है, जो इस तरह दिखते हैं: var x32 var a125 var h345 var z34187 यह इस तरह से करने के लिए एक अच्छा विचार नहीं है। आपको ये याद रखना चाहिए कि ये चर क्या करते हैं यदि आप कुछ हफ्तों बाद अपनी लिपि को देखते हैं। यदि आप अपनी स्क्रिप्ट को अन्य लोगों को दिखाना चाहते हैं, तो आपको यह पता लगाने की कोशिश करनी होगी कि आप अपने कोड के साथ क्या करना चाहते थे। कल अच्छी तरह से थोड़ा उदाहरण स्क्रिप्ट लिखते हैं जो चर के साथ कुछ करता है कृपया यहां पूछने में संकोच न करें, अगर कुछ स्पष्ट नहीं है या बुरा समझाया गया है। आज अच्छी तरह से हमारी पहली स्क्रिप्ट लिखें यदि आप पहले से ही ऐसा कर चुके हैं तो आपको ज़ोरो को डाउनलोड करना होगा। स्थापना के बाद, इसे शुरू करें और आप इसे देखेंगे: स्क्रिप्ट स्क्रोलबॉक्स पर क्लिक करें, सभी तरह से नीचे जाएं और नया स्क्रिप्ट चुनें। एक पाठ संपादक अब खुल जाएगा। निम्न में टाइप करें: अब, टेक्स्ट एडिटर के फ़ाइल मेनू में सहेजें ऐज चुनें, और इसे अपने ज़ोरो इंस्टॉलेशन के quotStrategyquot सबफ़ोल्डर में quotiefirstscript. cquot जैसे एक नाम के तहत सहेजें। जब आप अब फिर से ज़ोरोस स्क्रिप्ट स्क्रॉलबॉक्स पर क्लिक करते हैं, तो नाम quotmyfirstscriptquot अन्य स्क्रिप्ट के बीच दिखाई देना चाहिए। इसे चुनें, Zorros पैनल पर टेस्ट दबाएं, और देखें कि उसके संदेश विंडो में क्या होता है यदि आपने कुछ भी सही किया है, तो आपको अब इस तरह एक संदेश दिखाई दे रहा है: यदि आप कुछ अलग-अलग संदर्भ पंक्ति में देखें तो कृपया यहां शिकायत करें। अब, संख्याओं को ए और बी लाइनों में संपादित करें और उन्हें संपादित करें स्क्रिप्ट (फ़ाइल सहेजें या Ctrl-S) के साथ प्रतिस्थापित करें, फिर फिर टेस्ट करें दबाएं। हमें बताएं कि आपका परिणाम 17 से अलग है। यह हमारा पहला कार्यक्रम था। इसे समझने के लिए शुरू करना, ऐसा नहीं है ऐसा लगता है जैसे c और a के ख के लिए कई मान टाइप करने की कोशिश की जाती है और आप स्वयं को समझेंगे अब स्क्रिप्ट के टुकड़े पर एक नज़र डालें जो ज़ोरो को एक साधारण कैलकुलेटर में बदल देती है। स्क्रिप्ट मुख्य नामित फ़ंक्शन के साथ शुरू होती है - किसी प्रोग्राम में होने वाली सभी चीज़ किसी फ़ंक्शन के पंख वाले ब्रैकेट के अंदर होती है। लेकिन कल कार्य करने के लिए अच्छी तरह से आओ। यहां हम चर पर ध्यान केंद्रित करते हैं, और अगली पंक्तियों को पहले से मैंने जो कुछ कहा था, उससे परिचित होना चाहिए: हम देख सकते हैं कि 3 चर ए, बी, सी परिभाषित किए गए हैं, जैसा ऊपर वर्णित है। निम्नलिखित पंक्तिएं कमांड हैं: यहाँ चर को एक ऐसी सामग्री मिलती है जिसे वे 5 और 12 पर सेट करते हैं। अब निम्नलिखित पंक्ति हमारी स्क्रिप्ट का मुख्य भाग है: सी कोड की यह पंक्ति सरल प्रतीत होती है, यह सी की समानता के बराबर है और बी । यह चर के ए और बी की सामग्री को जोड़ने और चर सी में परिणाम संग्रहीत करने के लिए कंप्यूटर को एक कमांड है। कमांड्स कोड में लिखे हैं जो आमतौर पर वेरिएबल्स के साथ कुछ करते हैं आखिरी पंक्ति भी एक कमांड है, जिसका प्रयोग संदेश विंडो में प्रदर्शित करने के लिए किया जाता है: एक छोटा प्रयोग करें। एडीटर में कोड सी की रेखा खोजें, और उसके बाद quotquot को टाइटल कैरेक्टर की जगह दें, जिससे कि लाइन अब पढ़ती है: स्क्रिप्ट को सहेजें, फिर टेस्ट बटन को फिर से दबाएं। परिणाम क्या मतलब है, अब आप लाइट-सी की मूल बातें सीख चुके हैं ज़ोरो ने 5 से 12 तक गुणा किया है, सही परिणाम प्रदर्शित किया है: 60. मुझे पता है कि यह अभी तक एक व्यापार रणनीति नहीं है जो यहां कर रहे थे, लेकिन कहीं जा रहे थे। अब हम जानते हैं कि कैसे जोड़ना और मूल्यों को बढ़ाएं हम दो को घटाने के लिए quot-quot का उपयोग कर सकते हैं संख्याओं या उन्हें विभाजित करने के लिए quotquot हम उस रेखा को प्रतिस्थापित कर सकते हैं जो सी को अधिक जटिल अभिव्यक्तियों के साथ एक बी गणना करता है। लेकिन अच्छी तरह से अगले सबक के लिए कि बचाने के लिए आज के लिए बहुत है। कृपया मुझे बताएं कि कुछ समझ में नहीं आ रहा है या मुश्किल है मुझे लगता है कि मैं कुछ महीने पहले ज़ोरो साइट में चला जाता हूं जब सी संबंधित संरचना या फ़ंक्शंस पर अपना खुद का व्यापार लिखने के लिए खोज कर रहा हूं, उस समय यह अभी तक डाउनलोड के लिए तैयार नहीं था, लेकिन एक ट्यूटोरियल के साथ एक आकर्षक डिजाइन की तरह लग रहा है भाषा की तरह सी उस समय मैं साइट पर चला गया, यह पहले से ही स्थापित सॉफ़्टवेयर की तरह लग रहा था, हालांकि मैं सोच रहा था कि साइट ने साल पहले क्यों शुरू किया था, लेकिन तैनाती के लिए अब भी तैयार नहीं है। यह एमिब्रोकर स्क्रिप्ट की तरह बहुत कुछ दिखता है यह सरणी आधारित भाषा है क्या आप प्लेटफार्म के डेवलपर चाहते हैं कि आप। ज़ोरो वेबसाइट कुछ हफ्तों के बाद से ऑनलाइन है, लेकिन बीटा टेस्टर्स के लिए कई महीनों से हमारे पास उस वेब पते पर ज़ोरो मैनुअल था ज़ोरो को गेम प्रोग्रामिंग से एक टीम द्वारा विकसित किया गया था, लेकिन मैं इसकी रणनीतियों को डिजाइन करने और मैनुअल और ट्यूटोरियल लिखने में शामिल था। हां, भाषा सरणियों का समर्थन करती है और व्यापारिक चर सरणी आधारित हैं काम पर वापस। यह पाठ कार्यों को लागू करेगा एक बार जब आप चर और फ़ंक्शन प्राप्त करते हैं, तो आपको एक बुनियादी समझ होती है कि स्क्रिप्ट कैसे काम करती है। ये कार्य क्या हैं, वैसे भी एक छोटा सा उदाहरण देखते हैं: क्या आप देखते हैं कि मैं क्या देखता हूं फ़ंक्शन, सी के एक संग्रह से ज्यादा कुछ नहीं है, जो कंप्यूटर द्वारा दूसरे के बाद एक निष्पादित की जाती है। इन कार्यों के लिए कुछ गुण देखने देता है: 9658 एक फ़ंक्शन सामान्यतः फ़ंक्शन के नाम और कोष्ठक () की एक जोड़ी के बाद शब्द समारोह का उपयोग करके परिभाषित किया जाता है। कोष्ठक का उपयोग समारोह में अतिरिक्त चर को पारित करने के लिए किया जाता है और बाद में इसके बारे में अच्छी तरह से सीखते हैं। हमारे मामले में हम किसी भी चर को पारित नहीं करते हैं, इसलिए वे खाली हैं। 9658 फ़ंक्शन (इसके आदेशों की सूची) का शरीर पंख वाले ब्रैकेट की एक जोड़ी के अंदर लिखा होना चाहिए। शरीर में लाइट-सी कोड की एक या अधिक पंक्तियां होती हैं जो एक अर्धविराम के साथ समाप्त होती हैं। स्पष्टता के लिए, प्रोग्रामर आमतौर पर किसी रिक्त स्थान या टैब द्वारा फ़ंक्शन बॉडी में कोड को इंडेंट करते हैं, यह स्पष्ट करने के लिए कि यह किसी चीज़ के अंदर है 9658 फ़ंक्शन के लिए इस्तेमाल किए गए नाम चर के लिए समान नामकरण सम्मेलन का पालन करते हैं। आपको एक वैरिएबल के लिए एक ही नाम का उपयोग नहीं करना चाहिए और यह एक त्रुटि के कारण होगा। यदि आप इस ट्यूटोरियल को पढ़ सकते हैं तो मुझे आशा है कि आप अपनी उम्र भी जानते हैं। वर्षों में नहीं, लेकिन दिनों में, आप इसे ठीक से नहीं जानते, तो ऐसा करने से एक फ़ंक्शन लिखने का प्रयास करें जो पृथ्वी पर मेरे (या आप) द्वारा बिताए गए दिनों की संख्या की गणना करता है। मुझे पता है कि मैं कैसे कार्यप्रवाह लिखता हूं और फिर फ़ंक्शन के नाम से कम्प्यूटेशन नाम देता है: फ़ंक्शन के नाम के बाद मैं कोष्ठक को भूल गया और मैंने पहले कर्ली ब्रैकेट को जोड़ा है हम कुछ चर का उपयोग करेंगे, तो बेहतर होगा अब उन्हें परिभाषित करें: var myage 33 तुम्हारी उम्र (साल में) यहां var dayayear 365.25 है, अब तक कुछ भी नया नहीं है, हमने दो वैरिएबल को परिभाषित किया है और उन्हें प्रारंभिक मूल्य प्राप्त हुए हैं, क्योंकि मैं वर्षों में मेरी उम्र जानता हूं और मुझे यह भी पता है कि हर वर्ष के बारे में 365.25 दिन है। अब डरावनी भाग आता है: मैं कंप्यूटर को बताएगा कि वह दिनों की संख्या की गणना कैसे कर सकता है मैं इसे जेब कैलक्यूलेटर के साथ कैसे करूँगा मैं इस तरह से कुछ दर्ज करूँगा: अब अगर मैं 33 की जगह लेता हूं तो हमारे चर पर एक नज़र डालें दिन और औसत के साथ 365.25 मुझे इस तरह कुछ मिलेगा: नंबरफ़ाडेज़ माइज दिनअयेयर ठीक है, इसलिए हमारा फ़ंक्शन इस तरह से खत्म होना चाहिए: var नंबरफ़ाडेज़ माइलेज डेयरएयर प्रिंटफ़ (I मैं हूँ। Days oldquot, numberofdays) मुझे दूसरी कर्ली ब्रैकेट जोड़ने के लिए याद है, इसलिए अब फ़ंक्शन दो आवश्यक कर्ली कोष्ठक द्वारा संलग्न है। मैं यह देखने के लिए वास्तव में उत्सुक हूँ कि क्या यह फ़ंक्शन काम करता है, इसलिए इसे जांचने दें। ज़ोरो को आग लगा, और फिर स्क्रिप्ट सूची में नई स्क्रिप्ट का चयन करें। जब तक संपादक खोलता है तब तक प्रतीक्षा करें। फिर नीचे दी गई लाइनों को कॉपी करें और संपादक विंडो में पेस्ट करें। अपने माउस के साथ नीचे की सारी स्क्रिप्ट का चयन करें, राइट क्लिक करें और प्रतिलिपि (या Ctrl-C दबाएं) का चयन करें, एडिटर पर स्विच करें, रिक्त विंडो में क्वाटस्क्रिप्ट 1 क्वाट के नाम पर राइट क्लिक करें, फिर चिपकाएं चुनें: यह कोड बहुत सरल दिखता है, यह पहले से ही नहीं है उन चर के साथ कैसे काम करें, हम जानते हैं कि टिप्पणी कैसे जोड़ें। तो ज़ोरो इंस्टालेशन की रणनीति फ़ोल्डर में myscript2.c जैसे एक नाम के तहत इसे सहेजने (फ़ाइल को इस रूप में सहेजें) देता है। अंत में quot. c quot भूल जाएं - इसका मतलब है कि इस फ़ाइल में सी कोड है। यदि आपने सब कुछ ठीक किया है, तो आपको स्क्रिप्ट सूची में myscript2 मिलना चाहिए। इसे चुनें हमारी स्क्रिप्ट का परीक्षण करने का समय: क्या इस त्रुटि संदेश का मतलब है कि एक स्क्रिप्ट को हमेशा मुख्य () या रन () फ़ंक्शन की आवश्यकता है, मुख्य एक पूर्वनिर्धारित फ़ंक्शन नाम है अगर फ़ंक्शन को मुख्य नाम दिया गया है यह स्वचालित रूप से चल जाएगा जब हम हमारी स्क्रिप्ट शुरू करेंगे रन नामित फ़ंक्शन ज़ोरो के लिए विशेष है, इसमें हमारी व्यापार रणनीति है और प्रत्येक समय के लिए स्वचालित रूप से एक बार चलाया जाता है। यदि एक स्क्रिप्ट में न तो एक मुख्य और न ही रन फ़ंक्शन है तो ज़ोरो मानता है कि आपने गलती की है और आपको यह त्रुटि संदेश दिया जाएगा। अब, स्क्रिप्ट के अंत में एक मुख्य फ़ंक्शन दर्ज करें: जिस तरह से मैं इसे देखता हूं, यह कोड कॉल (जिसका अर्थ है कि यह शुरू होता है) हमारे कंप्यूटेज़ फ़ंक्शन। ठीक है, अब जब हम यहां हैं, तो हम देखते हैं कि हम एक फ़ंक्शन कैसे कॉल करते हैं: हम उसके नाम को कोष्ठक की एक जोड़ी के बाद लिखते हैं और फिर हम एक अर्धविराम के साथ कोड की रेखा को समाप्त करते हैं। तार्किक लगता है, यह महत्वपूर्ण नहीं है: पहले अपने कार्यों के लिए कोड की पंक्तियां लिखें और बाद में उन्हें कॉल करें। कंप्यूटर कोड को उसी तरह पढ़ता है जैसे आप एक पुस्तक पढ़ते हैं: यह स्क्रिप्ट पृष्ठ के शीर्ष से शुरू होता है और नीचे पंक्ति में जाता है, पंक्ति से कोड लाइन पढ़ता है अगर मैं अपनी स्क्रिप्ट को दूसरी तरह से लिखूँगा, तो इस तरह से: कंप्यूटर कहेंगे: ओह, यह फ़ंक्शन मुख्य है मैं फ़ंक्शन का मुख्य भाग जानता हूं, मुझे इसे हर बार चलाने की ज़रूरत है अब क्या कंप्यूटिंग का कहना है () इस फ़ंक्शन के साथ मैं इसे अभी तक नहीं जानता, लेकिन मैं नहीं जानता कि यह मुझसे क्या चाहता है मैं एक त्रुटि संदेश प्रदर्शित करने जा रहा हूँ और मैं बाकी दिन को बंद कर दूंगा: पहले अपने फ़ंक्शन को परिभाषित करना न भूलें, अन्यथा कंप्यूटर इसका उपयोग करने की कोशिश करते समय शिकायत करेंगे। कल बेहतर कार्यों में अधिक बारीकी से देखो कृपया यहां शिकायत करें कि कुछ काम नहीं करता या अस्पष्ट नहीं था। हमने सीखा है कि चीजों का एक संक्षिप्त सारांश: 9 658 हम स्क्रिप्ट में quot फंक्शन नाम (।) Quot लिखकर कार्यों को परिभाषित करते हैं। 9 658 यदि फ़ंक्शन का नाम मुख्य है या चलाया जाता है इसे स्वचालित रूप से निष्पादित किया जाता है। अन्य सभी कार्यों को क्रियान्वित करने के लिए एक पहले से चलने वाले फ़ंक्शन से बुलाया जाना चाहिए। लेकिन यह सब कुछ नहीं है जो एक समारोह कर सकता है। यह कॉलिंग फ़ंक्शन से भी चर प्राप्त कर सकता है, और बदले में एक वैरिएबल वापस का मूल्य दे सकता है। चलो एक फ़ंक्शन का एक उदाहरण देखते हैं और चर को वापस देता है किसी फ़ंक्शन के लिए एक वैरिएबल के मूल्य को वापस करने के लिए, बस चर लिखिए - या अंकगणितीय अभिव्यक्ति जो कि मूल्य की गणना करती है - वापसी आदेश के पीछे। फ़ंक्शन तब उस मूल्य को वापस देता है जहां से इसे बुलाया गया था। आपने नोटिस किया कि हमने इस समारोह को परिभाषित नहीं किया है, इसके बजाय keyword quot फंक्शन quot है, लेकिन "var" के साथ, लेकिन वह चर एक चर परिभाषा नहीं है, लेकिन जब किसी फ़ंक्शन को कुछ वापस करने की उम्मीद होती है, तो इसे वापस लौटाए जाने वाले प्रकार के साथ ही परिभाषित किया जाता है चर। इसलिए यदि कोई फ़ंक्शन वैरिएबल प्रकार int को देता है इसे पूर्णांक के साथ परिभाषित करें अगर यह एक var देता है इसे var के साथ परिभाषित करें फिर भी, कंप्यूटर को (..) कोष्ठक से पता है कि यह एक फ़ंक्शन परिभाषा है और कोई चर परिभाषा नहीं है। यदि फ़ंक्शन को वैरिएबल की अपेक्षा है, तो उन कोष्ठकों के बीच फ़ंक्शन परिभाषा में उन्हें अपने प्रकार के साथ रखें। यदि कई चर हैं, तो उन्हें अल्पविराम से अलग करें जब आप उस फ़ंक्शन को कॉल करते हैं, तो बस उन पहलुओं के मान डालते हैं जिन्हें आप कोष्ठक के बीच फ़ंक्शन के पास करना चाहते हैं। फ़ंक्शन फिर एक परिणाम की गणना करने के लिए किसी भी अन्य चर के समान उन चर का उपयोग करेगा। अगर फ़ंक्शन किसी चीज़ को वापस देता है, तो आप उस फ़ंक्शन के बजाय उस फ़ंक्शन को कॉल कर सकते हैं जो कि वह वापस करता है। यह बहुत ही जटिल लगता है, इसे हमारे नए कंप्यूटेयस फ़ंक्शन के साथ तुरंत आज़माएं। यह हमारी नई स्क्रिप्ट है: हमने कंप्यूटिंग्स (मायज) द्वारा लौटा मूल्य से सीधे हमारे नंबरफडे डायरेक्ट डायरेक्ट सेट किए हैं। यह हमारे कोड को कम और अधिक सुरुचिपूर्ण बना देता है फिर भी, परिणाम एक ही है: अब यह रहस्यमय प्रिंटफ़ (..) क्या है। इसमें कोष्ठक संलग्न हैं, इसलिए यह स्पष्ट रूप से एक ऐसा कार्य भी है जिसे हम अपने परिणाम प्रदर्शित करने के लिए बुलाते हैं। हालांकि हमारे पास इस फ़ंक्शन को परिभाषित नहीं किया गया है, यह एक ऐसा कार्य है जो पहले से ही सीपीयू में पूछताछ है। जैसा कि हमने पिछले कार्यशाला में उल्लिखित बिल्ट-इन वैरिएबल के रूप में, स्क्रिप्ट भाषा में पहले से ही बनाए गए कई फ़ंक्शन भी हैं। उद्धरण। I am। पुराने दिनों, numberofdays दो चर हैं जो हम printf फ़ंक्शन को पास करते हैं। पहला चर एक स्ट्रिंग है कुछ पाठ प्रदर्शित करने के लिए उपयोग किया जाता है: quotI. f days oldquot दूसरा चर एक var है दिनों की संख्या । कार्यों के लिए पारित किए गए चर को अल्पविराम से अलग किया गया है। आप ज़ोरो मैनुअल में printf फ़ंक्शन के बारे में विवरण पढ़ सकते हैं: सहायता पर क्लिक करें, फिर quotScript फ़ंक्शंस में नेविगेट करें इनपुट आउटपुट printfquot फिलहाल हमें यह जानने की आवश्यकता है कि स्ट्रिंग में अजीब quot. f quot एक प्लेसहोल्डर है। इसका मतलब है: फ़ंक्शन समारोह को पास किया गया है जो कि var के - कोई दशमलव के साथ - समारोह यहाँ सम्मिलित करता है। तो, यदि संख्याफ़ाइड का मूल्य 12045 है हमारे प्रिंटफ़ंक्शन में प्रिंट I प्रिंट होगा 12045 दिन पुराना है हम अपना कोड भी छोटा कर सकते हैं याद रखें, यदि फ़ंक्शन एक var देता है हम सिर्फ इस फ़ंक्शन के कॉल को वारा के स्थान पर रख सकते हैं - यहां तक ​​कि किसी अन्य फ़ंक्शन के कोष्ठकों के अंदर भी। अच्छी तरह से एक चर और स्क्रिप्ट की एक पंक्ति इस तरह से बचाओ। प्रोग्रामर हर समय ऐसा शॉर्टकट करते हैं क्योंकि वे आलसी हैं और जितना संभव हो कम कोड टाइप करना पसंद करते हैं: आज के लिए पर्याप्त है अगली कार्यशाला हमें यह बताती है कि एक स्क्रिप्ट निर्णय कैसे ले सकती है (कंप्यूटर की शाखाओं में कहा जाता है) कुछ तय करने में सक्षम होने के नाते व्यापार के लिए महत्वपूर्ण है तो अब हमारी अपनी व्यापार रणनीति लिखने के लिए बड़े कदम उठा रहे थे। कृपया मुझे बताएं कि कुछ कार्यों को और से चलने वाले चर के साथ अस्पष्ट नहीं था। ठीक है, मुझे दिलचस्पी है, लेकिन आप कौन से डेटा का उपयोग कर रहे हैं अगर इसके एफएक्ससीएम डेमो तो एफएक्ससीएमएस मेटाट्रेडर का उपयोग करने पर लाभ कहाँ है? एमटी 4 पर बैक टेस्टिंग के साथ मेरी सबसे बड़ी समस्या डेटा की विश्वसनीयता है क्योंकि आप समान सेटिंग्स के साथ अलग-अलग ब्रोकर फीड्स और एक अलग परिणाम प्राप्त करें मैं दैनिक चार्ट का उपयोग भी कर रहा हूं, इसलिए आपको नहीं लगता होगा कि यह बहुत अंतर होगा। मैं सभी संभावित स्रोतों से डेटा का उपयोग करता हूं, लेकिन आप सही हैं - एक बहुत बड़ा अंतर हो सकता है और इसके कई कारण हो सकते हैं पहली समस्या MT4 का उपयोग कर रही है, क्योंकि MT4 बैकटेस्टिंग के लिए अनुकूल नहीं है। अकेले कुछ वर्षों में एक प्रणाली का अनुकरण करने से आप इसके प्रदर्शन के बारे में बहुत कुछ नहीं बता सकते हैं, एक गंभीर बैटरस्टर पैरामीटर अनुकूलक के साथ मिलाया जाता है और आगे चलकर विश्लेषण करता है ताकि आप देखेंगे कि आपका सिस्टम पैरामीटर संशोधनों पर कैसे प्रतिक्रिया करता है। तभी आप निर्णय ले सकते हैं कि उसका प्रदर्शन स्थिर है या नहीं। कई अन्य विशेषताएं भी हैं जो एक बैकस्टर की जरूरत है। सबसे अधिक पेशेवर प्लेटफार्मों, जैसे कि निंजा, परंपरा, या ज़ोरो के रूप में बैकस्टेर्स ठीक हैं, लेकिन एमटी 4 स्वचालित राय और बैकटेस्टिंग के लिए कोई पेशेवर उपकरण नहीं है। दूसरी समस्या तब होती है जब आपकी दैनिक सलाखों शुरू होती हैं। तुलनात्मक परिणामों के लिए उन्हें एक ही समय में शुरू करना चाहिए, एफ. आई. आधी रात को, और आप अपने परीक्षण मंच में उस प्रारंभ समय को सेट करने में सक्षम होना चाहिए। तीसरी समस्या यह है कि slippage, commission, spread और rollover को आपके प्लेटफ़ॉर्म में सिम्युलेटेड होना चाहिए, और वे ब्रोकर पर निर्भर करते हैं। फैलाव और झटके का अल्पावधि व्यापार प्रदर्शन पर मजबूत प्रभाव है और रोलओवर का दीर्घकालिक ट्रेडों पर भी उल्लेखनीय प्रभाव है। मैं सभी संभावित स्रोतों से डेटा का उपयोग करता हूं, लेकिन आप सही हैं - एक बहुत बड़ा अंतर हो सकता है और इसके कई कारण हो सकते हैं पहली समस्या MT4 का उपयोग कर रही है, क्योंकि MT4 बैकटेस्टिंग के लिए अनुकूल नहीं है। अकेले कुछ वर्षों में एक प्रणाली का अनुकरण करने से आप इसके प्रदर्शन के बारे में बहुत कुछ नहीं बता सकते हैं क्योंकि एक गंभीर बैटरस्टर पैरामीटर अनुकूलक के साथ जोड़ा जाता है ताकि आप देखेंगे कि आपका सिस्टम पैरामीटर संशोधनों पर कैसे प्रतिक्रिया करता है। तभी आप निर्णय ले सकते हैं कि यह प्रदर्शन स्थिर है या नहीं। यह सबसे अधिक पेशेवर प्लेटफार्मों द्वारा समर्थित है, जैसे निंजा, ट्रांसएस्टेशन। ठीक है धन्यवाद, लेकिन ज़ोरो का उपयोग कैसे करता है, यदि आप उपयोग कर रहे हैं तो वही डेटा है, मैं सिर्फ एक प्रदाता से डेटा पर भरोसा नहीं करना चाहता हूं, एमटी 4 पर मेरे विशेषज्ञ सलाहकार परीक्षण के साथ अब मैं जो भी करता हूं, वह 3 या 3 4 अलग एमटी 4 दलालों और देखें कि क्या वे समान आते हैं। यह एक सही समाधान नहीं है, लेकिन यह मुझे मेरी सकारात्मक उम्मीद में अधिक आत्मविश्वास देता है। मैंने ज़ोरो के साथ कई प्रदाताओं से अभी तक डेटा का उपयोग किया है, लेकिन पिछली परिणामों में कभी भी कोई स्पष्ट अंतर नहीं देखा है एकमात्र अंतर मैंने देखा है, एक तरफ सामान्य न्यूनतम मूल्य मतभेदों से, डेटा की गुणवत्ता, यानी अंतराल या आउटलेयर्स है I उदाहरण के लिए, एफएक्ससीएम डेटा कभी-कभी इंट्राडे सलाखों को गुम करता है या इसकी कीमत स्पाइक्स है लेकिन वे आमतौर पर परिणाम को प्रभावित नहीं करते क्योंकि उन्हें प्लेटफॉर्म द्वारा फ़िल्टर करना चाहिए। जब आप निश्चित रूप से भिन्न परिणाम प्राप्त करते हैं, तो एक निश्चित कारण होना चाहिए, उदाहरण के लिए, बार बार शुरू होने और आप। ठीक है धन्यवाद, मैं अब मंच को डाउनलोड कर रहा हूं और आपकी ट्यूटोरियल को ब्याज के साथ देख रहा हूं। गलतफहमी से बचने के लिए, बैकटेस्टिंग के लिए एमटी 4 का इस्तेमाल करने के खिलाफ मेरी चेतावनी केवल लाभप्रद प्रणाली खोजने के लिए थी। MT4 बहुत लाभप्रद सिस्टम ढूंढने में सक्षम है। सकारात्मक एमटी 4 बैकटेस्ट का मतलब यह नहीं है कि सिस्टम लाभदायक है, लेकिन एक नकारात्मक बैकटेस्ट गारंटी देता है कि सिस्टम पैसे खो देगा इस प्रकार, एमटी 4 के साथ एक बैकटेस्ट कुछ भी नहीं से बेहतर है। पकड़ लिया। अच्छी तरह से हेज किया जाता है तो मेरी दशाओं के बारे में आपकी क्या राय है जो एक ही ईए की सेटिंग के साथ कई दलालों पर औसत परिणाम प्राप्त करने के लिए ठीक है। अगर परिणाम एक बड़ी राशि से भिन्न होते हैं, तो या तो सिस्टम नापसंद असंगत है या मूल्य डेटा के साथ कुछ गलत है औसत ऐसे मामले में बहुत अधिक मूल्य नहीं है यदि परिणाम बहुत करीब हैं और सभी सकारात्मक हैं, तो आपको एक बेहतर मंच मिलना चाहिए (मुझे लगता है कि आप जानते हैं कि मेरा क्या मतलब है) और कुछ गंभीर परीक्षणों के साथ जारी रखना - ओवरसाप्लिंग, आगे चलना, और पोर्टफोलियो विश्लेषण सिस्टम इसके लायक हो सकता है यदि आप इसे उसी अवधि में व्यापार कर रहे हैं और केवल एक चीज जो बदल रही है तो सिस्टम विफलता असंगत है, डेटा प्रदाता है। यह हमेशा डेटा के साथ एक समस्या होना चाहिए मुझे लगता है कि यदि सिस्टम सभी 4 दलालों पर सकारात्मक रूप से जांच करता है तो आगे चलकर व्यापार करना ठीक होगा। आपके तर्क के साथ मेरी समस्या यह है कि आपका प्लेटफ़ॉर्म बेहतर है (मुझे इसमें कोई संदेह नहीं है कि यह एमटी 4 रणनीति परीक्षक से बेहतर है, इसमें कोई संदेह नहीं है और वास्तव में यह संभव है कि मैंने अभी तक जो कुछ भी देखा है उससे उपलब्ध सर्वोत्तम रणनीति परीक्षकों के साथ) कि आप अपने प्रदाता द्वारा प्रदान किए गए डेटा की दया पर अब भी मौजूद हैं। कौन कहता है कि एफएक्ससीएम डेटा किसी से भी बेहतर है, शायद आप अपने ट्यूटोरियल निर्देशों में शामिल हो सकते हैं कि क्रॉस टेस्टिंग के उद्देश्य के लिए अन्य डेटा प्रदाताओं को कैसे एक्सेस किया जाए, अपने धागे को थोड़ी देर में लेने के लिए क्षमा करें, लेकिन मुझे लगता है कि यह चर्चा होगी हमारे पीछे आने वाले लोगों के लिए उपयोगी वाणिज्यिक सदस्य सितंबर 2012 में शामिल हुए 141 पदों कोटेपोर्टपोर्टपोर्ट के तहत ज़ोरो मैनुअल में आपको अन्य प्रदाताओं के मूल्य डेटा को आयात करने के बारे में एक संक्षिप्त विवरण मिलेगा। (ज़ोरो-ट्रेंडमैनियलिएंक्एक्सपोर्ट एचटीएम) मैं सामान्य एमए क्रॉसओवर के साथ ट्यूटोरियल शुरू करना नहीं चाहता था क्योंकि यह आम तौर पर लाभदायक नहीं था, इस प्रकार ऐलिस ईमानदारी से इस तरह की रणनीति विकसित नहीं कर सका और उसके लिए पैसे की मांग कर सके। लेकिन चिंता मत करो, कुछ भी समझाया जाएगा। यही कारण है कि मैं इस कोर्स को यहां पोस्ट कर रहा हूं: यदि आप कुछ स्पष्ट नहीं हैं, तो आप विशिष्ट प्रश्न पूछ सकते हैं, और बीमार सीखें जहां ट्यूटोरियल में सुधार किया जा सकता है, और इसे हल्का बना सकता है। - काम पर वापस। अभी तक व्यापार प्रणालियों पर नहीं था पहले जानने के लिए कैसे एक कार्यक्रम निर्णय लेता है यदि मेरे बिल 3000 से बड़े होते हैं, तो मुझे एक नई नौकरी मिलनी होगी, अन्यथा मैं अपना मौजूदा नौकरी रखूंगा हां, मेरा दिमाग अभी भी ठीक काम कर रहा है, पूछने के लिए धन्यवाद। यह सिर्फ एक उदाहरण है - अगर इसके संबद्ध कोड को इसके संबंधित कोड दिखेगा: आप उद्धृत करते हैं कि जब आप अपनी स्क्रिप्ट को निर्णय लेने के लिए चाहते हैं - तो इसका अर्थ है कि यह कुछ शर्तों पर निर्भर करता है, जैसे उपयोगकर्ता इनपुट, और यादृच्छिक संख्या, एक गणितीय संचालन का परिणाम, दो संकेतकों का एक पार, आदि। यदि उद्धरण का मूल रूप है, तो उद्धरण: यदि (कुछ शर्त सही है) dosomething () इस आदेश को निष्पादित करते हैं (एक कमान) अगर (कुछ शर्त सच है) एक या कई कमांड जो कर्ली ब्रैकेट के अंदर रखी गई हैं निष्पादित करें quotifquot निर्देश का एक और अधिक जटिल रूप नीचे सूचीबद्ध है: यदि (कुछ शर्त सही है) एक या कई कमांड निष्पादित करें जो कि घुंघराले ब्रैकेट के अंदर रखी जाती हैं और एक या कई कमांड जो इन घुंघराले ब्रैकेट के अंदर रखे गए हैं, को quot और कोट भाग के अंदर रखे निर्देश केवल तभी निष्पादित किये जाते हैं यदि कुछ शर्त को quot सही नहीं है यह एक व्यावहारिक उदाहरण है: यह बहुत स्पष्ट है कि आय या तो 2000 या 3000 हो सकती है क्योंकि शाखाओं में से केवल एक ही निष्पादित की जाएगी (आय 2000 या आय 3000. दोनों नहीं)। कोड के सशर्त भाग को quotbarksquot कहा जाता है क्योंकि कई नेस्टेड अगर निर्देश एक पेड़ की तरह लग सकता है जो कि पहले कूट में जरूरी होता है अगर quot और कई शाखाएं जिनमें से केवल एक ही निष्पादित होता है। कुछ निष्कर्ष निकालें: 9658 quot अगर quot बंटिंग स्टेटमेंट्स के साथ शुरू होता है यदि कन्टेन्ट्स की जोड़ी 9658 की जोड़ी के साथ शुरू होती है तो कोष्ठक में कोई तुलना या कोई अन्य अभिव्यक्ति (quotesome conditionquot) होती है जो सही या गलत 9658 हो सकती है यदि अभिव्यक्ति सही है, निम्न निर्देश या घुंघराले ब्रैकेट की पहली जोड़ी के अंदर रखी गई निर्देशों का सेट 9658 निष्पादित होता है यदि अभिव्यक्ति गलत है और हम quot को quot करते हैं, तो घुंघराले ब्रैकेट के बीच दिए गए निर्देशों का सेट छोड़ दिया गया है (यह निष्पादित नहीं है) 9658 अगर अभिव्यक्ति झूठी है और हम दूसरे कोष्ठ शाखा का भी उपयोग कर रहे हैं, कर्ली ब्रैकेट की पहली जोड़ी के अंदर रखी गई निर्देशों का सेट छोड़ दिया गया है, और कर्ल ब्रैकेट की दूसरी जोड़ी के अंदर रखी निर्देशों का सेट निष्पादित होता है। आप इन शाखाओं की तकनीकों को किसी भी समय माहिर नहीं कर सकते, भरोसा करें कि हम निम्नलिखित स्क्रिप्ट लिखते हैं: कोड ऐसा जटिल नहीं दिखता है कि हमने एक नामित लाभ को परिभाषित किया है जो कि 50 का आरंभिक मान प्राप्त करता है। और एक अगर बयान यदि लाभ 100 से अधिक है हमारे पास पर्याप्त है, अन्यथा नहीं। यदि हम ऊपर उल्लिखित घुंघराले ब्रैकेट्स की दूसरी जोड़ी जब उनकी सामग्री में कोड की एक पंक्ति होती है, तो हम इसे छोड़ सकते हैं। एक नई स्क्रिप्ट बनाएं - आपने पिछली कार्यशालाओं में यह सीख लिया है कि कैसे करें - ऊपर दिए गए कोड बॉक्स से सामग्री को कॉपी करें, इसे स्ट्रेटेजी फ़ोल्डर में myscript3.c quot के रूप में सहेजें, चुनें और उसका परीक्षण करें: अब आइए कुछ और कोशिश करें चिह्नित लाइन को संपादित करके कोड को संशोधित करें: जब आप अब स्क्रिप्ट को फिर से चलाने के लिए टेस्ट पर क्लिक करते हैं, तो आपको पता चल जाएगा कि नीचे की स्लाइडर को लेबल उद्धरण लाभ मिलता है इसे सही तरीके से स्थानांतरित करें, ताकि 200 छोटी खिड़की में दिखाई दे, और फिर टेस्ट पर क्लिक करें: क्या हुआ स्लाइडर () फ़ंक्शन में इसका रिटर्न वैल्यू होता है - जो कि नीचे की स्लाइडर का मूल्य है - लाभ चर में, और इस प्रकार अगर (..) स्थिति सच हो गई क्योंकि मूल्य अब 100 से बड़ा है। हम एक शिक्षित अनुमान लगा सकते हैं कि स्लाइडर फ़ंक्शन कैसे काम करता है: इसे छह चर मिलते हैं - स्लाइडर नंबर (3), आरंभिक मान (50) दाएं और बायां सीमाएं (0 और 200), स्लाइडर का नाम (quotProfitquot), और एक टूलटिप (यहां 0, जिसका उपयोग नहीं किया गया है)। ज़ोरो सहायता फ़ाइल में आप इस फ़ंक्शन के विस्तृत विवरण पा सकते हैं। स्लाइडर को दाहिनी ओर रखो और यह सत्यापित करें कि प्रोग्राम अब जब तक 100 या नीचे स्लाइडर मूल्य के साथ टेस्ट पर क्लिक करते हैं, तब तक पर्याप्त नहीं उद्धरण प्रिंट करता है। अब आप सोच सकते हैं कि हम अपनी रणनीतियों के लिए चर का समायोजन करने के लिए स्लाइडर्स का उपयोग कैसे कर सकते हैं। अब लगभग प्रोग्रामिंग भाग के साथ थे। एक अंतिम सबक कल और फिर अच्छी तरह से हमारी पहली व्यापार रोबोट लिखना शुरू करें कृपया यहां उल्लेख करें कि अगर अभी तक कुछ स्पष्ट नहीं है। यदि बयानों के बारे में थोड़ा अधिक है मान लीजिए कि आप कुछ करना चाहते हैं, जब दो भिन्न परिस्थितियां पूरी होंगी। निम्न प्रोग्राम को आज़माएं: अब दो स्लाइडर्स शामिल हैं आप उन्हें कितने स्थान के लिए सेट करें की आवश्यकता है, हम इसे थोड़ा पाठक के रूप में छोड़ देते हैं। लेकिन हमने सीखा है कि हम quotandquot कीवर्ड का उपयोग करके दो शर्तों को जोड़ सकते हैं। एक या अन्य शर्त सही होने पर क्वोटकोरक्वॉट कीवर्ड भी होता है। (सीसीसी प्रोग्रामर को आश्चर्य हो सकता है कि उन्हें परिचित ऑपरेटर्स ऐंपैम्प का इस्तेमाल करना और या इसके बजाय या इसके बजाय या नहीं। चिंता न करें, सभी सी ऑपरेटर्स पहले की तरह काम करते हैं, बस शुरुआती फायदे के लिए लाइट-सी में आसान-यादगार ऑपरेटरों का उपयोग कर रहे थे।) अब , मैं तुम्हें कोडिंग गलतियों से बचने के लिए तीन महत्वपूर्ण सुझाव दे रहा हूँ पहले ही एक है क्या आपने कोष्ठकों के आसपास उपयोग किया है (लाभ gt 50) और (हानि 0)। हम स्कूल गणित से जानते हैं कि गणितीय समीकरण में, कोष्ठकों में अभिव्यक्तियां पहले हल हो जाती हैं। (12) 3 1 (23) के समान नहीं है - यह गणित और यहां तक ​​कि एक प्रोग्रामिंग भाषा में भी सच है। यह हमेशा यह सुनिश्चित करने के लिए हमेशा कोष्ठकों का उपयोग करें कि कार्यक्रम उसी क्रम में गणना करता है जो हम चाहते हैं। और सुनिश्चित करें कि आपके पास बंद करने वाले कोष्ठक के रूप में कई खुलने हैं एक पंक्ति के अंत में लापता कोष्ठकों को कंपाइलर त्रुटि संदेशों के सबसे अधिक कारणों में से एक है। कंप्यूटर आमतौर पर निम्नलिखित पंक्ति में एक त्रुटि के बारे में शिकायत करेगा क्योंकि वहां लापता कोष्ठक की तलाश है कोड की पहली नई रेखा में उस उद्धरण के 0 0% के साथ क्या होता है क्या दोहरी बराबर एक टाइपिंग त्रुटि पर हस्ताक्षर करता है नहीं, यह नहीं है। Whenever you compare two expressions ( loss and 0 in the example above) you have to use quot quot instead of quot quot, because a line of code that looks like this: will set loss to zero instead of comparing loss with zero This is one of the most frequent mistakes even an experienced programmer might set a variable to a certain value by mistake, instead of comparing it with that value. Using one instead of two equality signs for comparing two expressions is a very frequent mistake. Dont forget this if (a 3) correct dosomestuff You can avoid this mistake if you make it a habit to put the constant value on the left side of a comparison and the variable on the right side. The loss comparison statement would look this way: If you then accidentally put a single instead of , Zorro will report an error because it knows that 0 cant be set to a different value. That was the second tip. The third tip is that you should use the comparison with care. When you calculate a var variable in a complicated mathematical expression . the result is usually inaccurate. Instead of 2 . it might be 2.00001 or 1.99997 . This is due to the limited precision of variables in a computer. When you then compare it with 2, the comparison always comes out false - so better use greater or smaller comparisons (lt or gt) when working with var variables. This problem does not affect int variables. Tips on How to Backtest MT4 Expert Advisors and Forex Robots By StreetPips on Feb 21, 2014 06:47:06 GMT Register for a free OANDA MT4 demo account here . स्ट्रीटपिप्स में हमारा काम प्रोग्रामिंग रणनीतियों और उनके प्रदर्शन का परीक्षण करना शामिल है। इन वर्षों में, हमने कई एमटी 4 ईएएस या विशेषज्ञ सलाहकारों का समर्थन किया है। यह हमें सैकड़ों व्यापारिक रोबोटों के माध्यम से प्रदर्शित करने के लिए लंबे समय तक नहीं ले जाता है, जिसके लिए हम सुधार की क्षमता रखते हैं। हम आपके साथ हमारे कुछ अनुभव साझा करना चाहते हैं। बैकस्टेस के लिए पर्याप्त मीटी 4 डाटा पॉइंट्स आपका बैकटेस्ट केवल उतना ही अच्छा है जितना आपके पास डेटा। एमटी 4 रणनीति परीक्षक में मॉडलिंग की गुणवत्ता के रूप में परिकलित करें, सुनिश्चित करें कि आपके सॉफ्टवेयर पर परीक्षण करने के लिए आपके पास पर्याप्त डेटा बिंदु हैं। अपने मेटाट्रेडर प्लेटफ़ॉर्म पर, टूल खाता इतिहास केंद्र पर क्लिक करें: फिर मुद्रा युग्म और समय-सीमा का चयन करें, यह सुनिश्चित करने के लिए डाउनलोड करें पर क्लिक करें कि आपके पास डेटा अपडेट किया गया है। यह डेटा ब्रोकर से ब्रोकर में भिन्न होता है, इसलिए कुछ दलाल प्लेटफार्मों पर सॉफ्टवेयर का बैकअप लेने का यह एक अच्छा विचार हो सकता है, विशेष रूप से जिस दलाल के साथ आप व्यापार कर रहे हैं MT4 पर विशेषज्ञ सलाहकारों को सक्षम करें यदि आप ईए नहीं चलाते हैं, तो सुनिश्चित करें कि वे आपके मेटाट्रेडर पर सक्षम हैं। उपकरण gt विकल्प जीटी विशेषज्ञ सलाहकार पर क्लिक करें और आप इसे देखेंगे: सुनिश्चित करें कि एक्सपर्ट एडवाइजर को सक्षम करने के बगल में बॉक्स चेक किया गया है। दृश्य मोड धीमा है, लेकिन उपयोगी रणनीति परीक्षक पर, आप विज़ुअल मोड का चयन करने के लिए जांच सकते हैं। हालांकि यह बैकटेस्ट को धीमा कर देती है, आप एक चलती ऐतिहासिक चार्ट पर ट्रेडों को देख सकते हैं, और ईए के व्यवहार को देख सकते हैं। आप चेक बॉक्स के दाईं ओर एक स्क्रॉल बार देखते हैं, जिससे आप दृश्य बैकस्टेस्ट को गति या धीमा कर सकते हैं। एक बार जब आप अपने रोबोट के व्यवहार को समझते हैं, तो आप बैकटेस्ट को गति देने के लिए विजुअल मोड को हटा सकते हैं। ट्रेडों का अभाव कभी कभी एक बैकटेस्ट के बाद, आप केवल कुछ ट्रेडों को निष्पादित करते देखते हैं। यह डेटा बिंदुओं की कमी के कारण हो सकता है, उदाहरण के लिए आप एक साप्ताहिक रणनीति चला सकते हैं या यह बहुत ही चयनात्मक परिस्थितियों के कारण कुछ व्यापार रणनीतियों का परीक्षण किया जा रहा है, इस रणनीति का एक वर्ष केवल कुछ समय में व्यापार होता है। आपके व्यापारिक व्यक्तित्व के आधार पर, आप एक रोबोट चाहते हैं जो अधिक बार ट्रेड करता है अत्यधिक ड्रॉडाउन दृश्य मोड के बारे में एक महान विशेषता है कि आप ग्राफ़ पर क्लिक करके खाता शेष देख सकते हैं, क्योंकि रोबोट डेटा की जांच करता है। नीचे दिया गया ग्राफ़ अत्यधिक रोशनी से अत्यधिक ड्रॉडाउन दिखाता है इसका अर्थ है कि आप रास्ते में मुनाफा कमा सकते हैं, और यहां तक ​​कि लंबे समय तक भी, लेकिन ऐसे समय भी होंगे जहां आपके खाते की शेष राशि बड़ी मात्रा में कम हो जाती है, जो जोखिम भरा है। बड़े ड्रॉडाउन व्यापार प्रदर्शन को प्रभावित कर सकते हैं, खासकर यदि ट्रेडों के लिए आपकी स्थिति का आकार खाता शेष से जुड़ा होता है। अत्यधिक जोखिम कभी-कभी दृश्य मोड में आप अवास्तविक व्यापारिक व्यवहार देख सकते हैं, जैसे ब्रेकएव्हन बिंदु के लिए एक व्यापार रखना, कोई फर्क नहीं पड़ता अवधि। नीचे दिए गए उदाहरण में हम एक विक्रय व्यापार को देखते हैं, लाल क्षैतिज रेखा से संकेत मिलता है बाजार व्यापार की दिशा के खिलाफ था, और यह रोबोट एक खोने की स्थिति पर निर्भर करता है जब तक कि ब्रेकएव्हन बिंदु तक पहुंच न हो। यह यथार्थवादी नहीं हो सकता है क्योंकि नकारात्मक इक्विटी की लंबी अवधि आपके खाते को मिटा सकता है। यह व्यापार वास्तव में रोबोट के खिलाफ 280 पिप्स चला गया, इससे पहले कि वह ठीक हो गया और ब्रेकेवन बिंदु पर वापस लौट गया। यहाँ सवाल यह है कि आप कितनी देर तक हारने की स्थिति में रह सकते हैं, क्या होगा अगर ब्रेकएवेन या फिर साल भी बरकरार करने में महीनों लगते हैं, मर्टिंगेल स्ट्रेटेजीज मार्टिंगेल रणनीति का मतलब है कि एक व्यापारी हर व्यापार में अपना नुकसान बढ़ाता है, ताकि अगले जीत पिछले सभी घाटे को ठीक करना और मूल हिस्सेदारी के बराबर लाभ हासिल करना यदि आप नीचे दिए गए ग्राफ़ को नोट करते हैं, हर बार जब खाते में बड़ी गिरावट होती है, तो यह जल्दी ठीक हो जाती है। यह मार्टिंगेल रणनीति के कारण है, जैसा कि आप नीचे नीले रंग में देखते हैं, जहां व्यापार का आकार हानि को कवर करने के लिए बढ़ता है। मान लें कि आपके पास अनन्त व्यापारिक पूंजी और खाता शेष है, मार्टिंगेल रणनीतियों महान हैं यह एक समस्या बन जाता है यदि आपको नुकसान का एक स्ट्रिंग है जिसकी सीमा तक आपके खाते की शेष राशि आपको अगले व्यापार पर दोगुना करने की अनुमति नहीं देती है, तो पिछले नुकसान के लिए यह लोकप्रिय रणनीति अक्सर आधार है, जो प्रोग्रामर एक लगातार ऊपर की ओर ढलान वाली बैकस्टेस को कोड देते हैं। यदि आप विदेशी मुद्रा रोबोट का बैकस्टेस्ट करते हैं और प्रदर्शन ग्राफ सचमुच एक ऊपरी ढलान है, तो स्थिति आकार में बढ़ोतरी के साथ ही ड्रॉडाउन से तेज वसूली के साथ, रणनीति मर्टिंगेल होने की संभावना है। बस यह सुनिश्चित करें कि यह आपके जोखिम प्रोफ़ाइल और व्यापारिक पूंजी के अनुरूप है। अन्त में, फॉरवर्ड टेस्ट एक ईए पूरी तरह से बैकटेस्ट में काम कर सकता है, संभवत: पिछड़े वर्ग के संकेतकों के कारण, लेकिन आप निश्चित रूप से रोबोट का परीक्षण करने के लिए अपने तर्क का परीक्षण करने की आवश्यकता कर सकते हैं। उदाहरण के लिए, यदि कोई संकेतक repaints, यह backtest पर अच्छी तरह से काम कर सकता है, लेकिन आगे के परीक्षणों में विफल क्योंकि संकेतक लगातार बदल रहा है। आगे की जांच से रोबोट को लाइव स्थितियों और फैल पर चलने की भी अनुमति मिलती है, जो एक बैकटेस्ट से अधिक यथार्थवादी है। और निश्चित रूप से, आगे के परीक्षण के साथ, आपका डेटा 100 है और मॉडलिंग की गुणवत्ता भी 100 है। विशेषज्ञ सलाहकार जो हमें पसंद हैं, अंत में, हम ऐसे रोबोट पसंद करते हैं, जो बड़े ड्रॉडाउन से ग्रस्त नहीं होते हैं, जो यथार्थवादी व्यापारिक व्यवहार जैसे स्टॉप लॉस लगाने, जो दीर्घकालिक पर एक ऊपर की ओर ढलान की वक्र की अच्छी संभावना है, और इनके आगे के परीक्षणों में भी प्रदर्शित करते हैं। If you have any robots which you think are great, feel free to share them with us This article first appeared on StreetpipsMetaTrader 4 Strategy Tester Tutorial To get the most out of your expert advisor, youll need to optimize and backtest your strategy using MetaTraders Strategy Tester. एक डेमो खाते पर आगे के परीक्षण जरूरी है, जबकि बैटिंग करने से आपको बस कुछ ही मिनटों में लंबी अवधि में व्यापार का अनुकरण करने की सुविधा मिलती है। और ऑप्टिमाइज़ेशन की सुविधा के साथ, आप यह पता लगा सकते हैं कि चयनित ऐतिहासिक चार्ट अवधि के दौरान कौन सी सेटिंग्स सबसे अच्छा प्रदर्शन करती हैं। मेटाट्रेडर्स रणनीति परीक्षक की सटीकता पर काफी बहस हुई है। सबसे अच्छे रूप में, बैकटेस्टिंग केवल वास्तविक समय में ट्रेडों को कैसे निष्पादित किया जाएगा, इसका करीब-करीब अनुमान लगाता है। लेकिन इसका एकमात्र उपकरण व्यापार परिस्थितियों की एक विस्तृत श्रृंखला पर तेजी से किसी भी रणनीति का परीक्षण करने के लिए उपलब्ध है, और यह कि आपको अच्छी तरह से उपयोग करने का तरीका सीखना चाहिए। टूलबार पर उपयुक्त बटन क्लिक करके या दृश्य मेनू से स्ट्रेटेजी परीक्षक को चुनकर मेटा ट्रेडर में स्ट्रेटेजी परीक्षक खोलें। इतिहास केंद्र बैक-टेस्टिंग या अनुकूलन करने से पहले, यह सुनिश्चित करना महत्वपूर्ण है कि आपका इतिहास डेटा पूरा और सटीक है, खासकर यदि आप हर टिकट का उपयोग अपने परीक्षण मॉडल के रूप में कर रहे हैं यदि आप अपने जर्नल लॉग में बेमेल चार्ट त्रुटियां देखते हैं या यदि आपकी मॉडलिंग की गुणवत्ता 90 से कम है, तो आपका इतिहास डेटा सटीक टिक्स उत्पन्न करने के लिए अपर्याप्त है। टूल मेनू से इतिहास केंद्र खोलें या अपने कीबोर्ड पर F2 दबाकर बाएं कॉलम में चार्ट जोड़ी के लिए डबल क्लिक करें जिसे आप बैकटेस्ट करने की योजना बनाते हैं। समय अवधि की एक सूची नीचे दिखाई देगी उस अवधि के लिए इतिहास डेटा को लोड करने के लिए 1 मिनट (एम 1) पर डबल क्लिक करके प्रारंभ करें बैकस्टर टीओक्स उत्पन्न करने के लिए एम 1 डेटा का उपयोग करता है, इसलिए यह महत्वपूर्ण है कि आपका एम 1 डेटा पूरा हो गया। इतिहास केंद्र से, आप बैकटेस्टिंग में उपयोग करने के लिए डेटा डाउनलोड या आयात कर सकते हैं। आपका ब्रोकर स्वचालित रूप से कुछ हालिया डेटा प्रदान करेगा, लेकिन यह लंबे बैकस्ट के लिए पर्याप्त नहीं होगा। इसके अलावा, मेटा ट्रेडर (डाउनलोड बटन के माध्यम से सुलभ) से मुफ्त डाउनलोड करने योग्य डेटा हमेशा पूर्ण नहीं होता है, और इसमें बड़े अंतराल शामिल हो सकते हैं। आप forextesterdatadatasources. html से मुफ्त एम 1 डेटा डाउनलोड कर सकते हैं। सबसे पहले, बाएं हाथ की तरफ से सूची के प्रतीक के लिए एम 1 अवधि चुनें। आयात करें बटन पर क्लिक करें, और उसके बाद बस डाउनलोड किए गए M1 डेटा फ़ाइल को चुनने के लिए आयात करें संवाद में ब्राउज़ करें पर क्लिक करें। डेटा आयात करने के लिए ओके दबाएं - इसमें कई मिनट लग सकते हैं। आपके पास अब उस प्रतीक के लिए कई वर्ष एम 1 डेटा हैं उच्च समय सीमा पर इस डेटा का उपयोग करने के लिए, आपको मेटाट्रेडर के साथ आने वाली अवधि कनवर्टर स्क्रिप्ट का उपयोग करने की आवश्यकता होगी। एक चार्ट विंडो खोलें और उसे एम 1 पर सेट करें चार्ट पर नेविगेटर विंडो से अवधि कनवर्टर स्क्रिप्ट को खींचें और छोड़ें, और ExtPeriodMultiplier सेटिंग को कन्वर्ट करने के लिए मिनटों की संख्या में सेट करें। एम 15 के लिए, एच 1 के लिए 15 का उपयोग करें, एच 4 के लिए 60 का उपयोग करें, 240 का उपयोग करें, और इसी तरह। उन सभी प्रतीकों के लिए इस प्रक्रिया को दोहराएं जिसमें आप परीक्षण करने की योजना बनाते हैं। आपके पास पर्याप्त इतिहास डेटा होने के बाद, आप परीक्षण शुरू कर सकते हैं। नीचे दिया गया वीडियो एम 1 डेटा आयात करने और परिवर्तित करने की प्रक्रिया को दर्शाता है: अनुकूलन मेटाट्रेडर 4 की ऑप्टिमाइज़ेशन सुविधा आपको चयनित चार्ट, अवधि और दिनांक सीमा के लिए सबसे अधिक लाभदायक सेटिंग्स ढूंढने के लिए विशेषज्ञ सलाहकार सेटिंग्स के हजारों संयोजनों का परीक्षण करने की अनुमति देता है। अधिकतम लाभप्रदता के लिए संकेतक आधारित रणनीति को अनुकूलित करना होगा। हालांकि, लगभग सभी ईएएस अनुकूलन से लाभान्वित होंगे - यहां तक ​​कि उन टिक डेटा पर ट्रेड करें, बशर्ते आप पूर्ण एम 1 इतिहास डेटा (ऊपर देखें)। जबकि ऑप्टिमाइज़र चयनित दिनांक सीमा के लिए सबसे लाभदायक सेटिंग्स वापस करेगा, लेकिन यह कोई गारंटी नहीं है कि ये सेटिंग भविष्य में लाभदायक होगी। बाज़ार की स्थितियां अक्सर बदलती हैं, इसलिए सर्वोत्तम परिणामों के लिए अपने विशेषज्ञ सलाहकार को नियमित रूप से पुन: अनुकूलित करना महत्वपूर्ण है। अपने विशेषज्ञ सलाहकार को अनुकूलित करने के लिए, पहले इसे विशेषज्ञ सलाहकार ड्रॉप-डाउन बॉक्स से चुनें। प्रतीक बॉक्स से मुद्रा युग्म और अवधि बॉक्स से चार्ट अवधि चुनें। मॉडल के लिए आप आम तौर पर केवल ओपन कीमतों का चयन करना चाहते हैं, जब तक कि आप टिकटिक डेटा पर चलने वाले ईए को अनुकूलित नहीं कर रहे हों। उस मामले में, हर टिक का चयन करें उपयोग दिनांक विकल्प की जांच करें और इसके लिए अनुकूलित करने के लिए कई तिथियां चुनें। अंत में, सुनिश्चित करें कि अनुकूलन की जांच की जाती है अपने विशेषज्ञ सलाहकार सेटिंग्स को खोलने के लिए विशेषज्ञ गुण बटन पर क्लिक करें। इनपुट टैब के तहत, जहां आप अनुकूलित करने के लिए मूल्यों की श्रेणी दर्ज करेंगे। प्रारंभ कॉलम किसी दिए गए सेटिंग के लिए सबसे कम मूल्य होगा, जबकि स्टॉप कॉलम उच्चतम होगा स्टेप कॉलम वह राशि है जो ऑप्टिमाइज़र स्टार्ट टू द स्टॉप सेटिंग के माध्यम से कदम रखेगा। उपरोक्त छवि में हम एक विशेषज्ञ सलाहकार के लिए एसएल, टीएस और टीपी सेटिंग्स का अनुकूलन कर रहे हैं। प्रारंभ मान 20 है, चरण 20 है और स्टॉप 200 है। अनुकूलक 20, 40, 60 और इतने पर 200 से मूल्यों के हर संयोजन का परीक्षण करेगा। एक प्रारंभ, चरण और स्टॉप मान का उपयोग करें जो कि उपयुक्त है आप अनुकूलित कर रहे हैं सेटिंग यहां तक ​​कि मान (5, 10, आदि) अच्छे हैं उस सेटिंग को अनुकूलित करने के लिए अब तक बाईं ओर स्थित चेकबॉक्स का चयन किया जाना चाहिए। कोई भी सेटिंग जो कि जांच नहीं की गई है, अनुकूलन के समय वैल्यू कॉलम में नंबर का उपयोग करेगी। टेस्टिंग टैब के अंतर्गत, आप आरंभिक जमा को कुछ और अधिक यथार्थवादी के लिए समायोजित कर सकते हैं। अन्य सेटिंग्स को उनके डिफ़ॉल्ट पर छोड़ दें जब आप अनुकूलन शुरू करने के लिए तैयार हैं, तो स्ट्रैटेजी परीक्षक खिड़की के नीचे दाईं ओर स्थित प्रारंभ बटन दबाएं। अवधि के आधार पर, तिथि सीमा, परीक्षण मॉडल और सेटिंग्स की संख्या को ऑप्टिमाइज़ करने के लिए यह कुछ मिनटों से कहीं भी कई घंटे तक ले जा सकता है। यदि यह बहुत अधिक समय ले रहा है, तो समय सीमा को छोटा करने, कम सेटिंग्स को अनुकूलित करने या बड़े कदम मान का उपयोग करने पर विचार करें। ऑप्टिमाइज़ेशन समाप्त हो जाने के बाद, ऑप्टिमाइज़ेशन परिणाम टैब खोलें और परिणामों को सॉर्ट करने के लिए लाभ कॉलम को डबल-क्लिक करें। परीक्षक में इसे लोड करने के लिए किसी भी परिणाम को डबल-क्लिक करें। चयनित सेटिंग्स के साथ बैकस्टेस्ट करने के लिए फिर से शुरू करें बटन दबाएं। बैकटेस्टिंग अब तक, यह स्पष्ट होना चाहिए कि बैकस्टर कैसे कार्य करता है। अपने विशेषज्ञ सलाहकार का चयन करें प्रतीक । अवधि और मॉडल उपयोग दिनांक बॉक्स की जांच करें और एक तिथि सीमा चुनें। दृश्य मोड का चयन केवल तभी करें जब आप बैकटेस्टिंग के विज़ुअल वॉयथ्रू चाहते हों। अनुकूलन छोड़ें अनियंत्रित विशेषज्ञ गुण बटन को दबाएं और इनपुट टैब के तहत वैल्यू कॉलम में अपनी सेटिंग्स दर्ज करें। आप नीचे दाईं ओर स्थित बटनों का उपयोग करके सेटिंग लोड या सहेज सकते हैं। प्रारंभ, चरण और रोक स्तंभों को अनदेखा कर दिया जाता है, चूंकि चेकबॉक्स होते हैं विशेषज्ञ गुण संवाद को बंद करें और परीक्षण शुरू करने के लिए प्रारंभ दबाएं। आपकी सेटिंग के आधार पर यह कुछ सेकंड से कुछ मिनट तक ले जाएगा। परीक्षण पूरा करने के बाद, अपने परिणामों को देखने के लिए नीचे रिपोर्ट टैब खोलें। कुछ आंकड़े इस पर ध्यान देते हैं: कुल शुद्ध लाभ - सकल लाभ घटा सकल नुकसान लाभ का कारक - सकल लाभ का सकल लाभ का अनुपात उच्चतर बेहतर है, 1.5 से ऊपर कुछ अच्छा है। निरपेक्ष आहरण - आपकी प्रारंभिक जमा राशि का ढांचा उच्च खींचा संभावना की संभावना बढ़ जाती है कि आपका खाता उड़ा जाएगा। लाभ व्यापार - आपका कुल जीत प्रतिशत मॉडलिंग की गुणवत्ता - केवल महत्वपूर्ण यदि आपका परीक्षण मॉडल हर टिकटिक है यदि हां, तो यह 90 पर होना चाहिए। यदि नहीं, तो सटीक एम 1 डेटा के साथ अपने इतिहास को अपडेट करने के लिए उपरोक्त निर्देशों का पालन करें रणनीति परीक्षक के निचले भाग में परिणाम टैब आपको खुले और बंद किए गए आदेशों पर विवरण देता है, जिसमें ट्रेलिंग स्टॉप, लाभ और स्टॉप लॉस शामिल है। अपने परिणामों के दृश्य प्रतिनिधित्व प्राप्त करने के लिए ओपन चार्ट बटन पर क्लिक करें। अपने नए ईए का परीक्षण करते समय, यह सुनिश्चित करने के लिए इन बारीकी से जांच करें कि आपकी रणनीति उद्देश्य से काम कर रही है फॉरवर्ड विश्लेषण चलें जबकि बैकस्टेस्टिंग और ऑप्टिमाइज़ेशन आपको एक अच्छा विचार दे सकता है कि आपका ईए कैसे व्यापार करेगा, आपको यह सुनिश्चित करने के लिए अधिक व्यापक परीक्षण करने की आवश्यकता होगी कि आपका ट्रेडिंग सिस्टम वास्तव में लाभदायक है। इसे प्राप्त करने का सबसे अच्छा तरीका चलना-आगे विश्लेषण कहा जाता है। आगे चलकर विश्लेषण में ऑप्टिमाइज़ेशन और बैकटेस्टिंग के कई चक्र होते हैं, और लंबी अवधि में परीक्षण के परिणामों का विश्लेषण करते हैं। चलने के आगे के विश्लेषण पर हमारा आलेख इस प्रक्रिया को अधिक विस्तार से बताता है। मेटाट्रेडर के लिए हमारे चलो फॉरवर्ड एनालाइज़र आपको डब्ल्यूएफए को जल्दी और आसानी से करने की अनुमति देता है।

No comments:

Post a Comment