MQL5 विज़ार्ड का उपयोग करके आप अपने लिए ऑटोमैटिकली एक्सपर्ट एडवाइज़र्स (EA) का कोड बना सकते हैं। अधिक जानकारी के लिए MQL5 विज़ार्ड में तैयार किए गए एक्सपर्ट एडवाइज़र्स बनाने पर क्लिक करें।
इस लेख में हम दो एक्स्पोनेंशियली स्मूथिंग मूविंग एवरेजेस (फास्ट EMA और स्लो EMA) के क्रॉसओवर पर आधारित एक ट्रेडिंग स्ट्रेटेजी पर चर्चा करेंगे। इसे "दो EMA के क्रॉसओवर पर आधारित सिग्नल" कहा जाता है (जब MQL5 विज़ार्ड में EA बनाया जाता है)।
ट्रेड सिग्नल:
- खरीदें: फास्ट EMA का स्लो EMA के ऊपर क्रॉसओवर होना
- बेचें: फास्ट EMA का स्लो EMA के नीचे क्रॉसओवर होना
यह रणनीति CSignalCrossEMA क्लास में लागू की गई है।

चित्र 1. दो एक्स्पोनेंशियली स्मूथिंग मूविंग एवरेजेस के क्रॉसओवर पर आधारित ट्रेड सिग्नल
ट्रेड सिग्नल
यह ट्रेडिंग स्ट्रेटेजी CSignalCrossEMA क्लास में लागू की गई है, जिसमें कुछ प्रोटेक्टेड मेथड्स हैं जो इंडिकेटर वैल्यूज तक पहुंच को आसान बनाते हैं:
double FastEMA(int ind) // बार का फास्ट मूविंग एवरेज वैल्यू लौटाता है double SlowEMA(int ind) // बार का स्लो मूविंग एवरेज वैल्यू लौटाता है double StateEMA(int ind) // बार का फास्ट और स्लो मूविंग एवरेजेस के बीच का अंतर लौटाता है
1. लंबी स्थिति खोलना
लंबी स्थिति खोलने की शर्तें:
- StateEMA(1)>0 और StateEMA(2)<0: फास्ट EMA ने पिछले पूर्ण बार पर स्लो EMA को ऊपर की ओर क्रॉसओवर किया है।
//+------------------------------------------------------------------+ //| लंबी स्थिति खोलने की शर्तों की जांच करता है (खरीदें) | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)<0 && StateEMA(1)>0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
2. लंबी स्थिति बंद करना
लंबी स्थिति बंद करने की शर्तें:
- StateEMA(1)<0 और StateEMA(2)>0: फास्ट EMA ने पिछले पूर्ण बार पर स्लो EMA को नीचे की ओर क्रॉसओवर किया है।
//+------------------------------------------------------------------+ //| लंबी स्थिति बंद करने की शर्तों की जांच करता है | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseLong(double& price) { if(!(StateEMA(2)>0 && StateEMA(1)<0)) return(false); //--- price=0.0; //--- return(true); }
3. शॉर्ट पोजीशन खोलना
शॉर्ट पोजीशन खोलने की शर्तें लंबी स्थिति बंद करने की शर्तों के समान हैं।
//+------------------------------------------------------------------+ //| शॉर्ट स्थिति खोलने की शर्तों की जांच करता है (बेचें) | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)>0 && StateEMA(1)<0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
4. शॉर्ट पोजीशन बंद करना
शॉर्ट पोजीशन बंद करने की शर्तें लंबी स्थिति खोलने की शर्तों के समान हैं।
//+------------------------------------------------------------------+ //| शॉर्ट स्थिति बंद करने की शर्तों की जांच करता है | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseShort(double& price) { if(!(StateEMA(2)<0 && StateEMA(1)>0)) return(false); //--- price=0.0; //--- return(true); }
MQL5 विज़ार्ड का उपयोग करके एक्सपर्ट एडवाइज़र बनाना
इस रणनीति पर आधारित एक ट्रेडिंग रोबोट बनाने के लिए, आपको "दो EMA के क्रॉसओवर पर आधारित सिग्नल" विकल्प को चुनना होगा। यह MQL5 विज़ार्ड में "तैयार किए गए एक्सपर्ट एडवाइज़र्स बनाने" के विकल्प में है:

चित्र 2. MQL5 विज़ार्ड में 'दो EMA के क्रॉसओवर पर आधारित सिग्नल' चुनें
इसके बाद आपको आवश्यक ट्रेलिंग स्टॉप एल्गोरिदम और पैसे और जोखिम प्रबंधन प्रणाली को निर्दिष्ट करना होगा। एक्सपर्ट एडवाइज़र का कोड ऑटोमैटिकली बनाया जाएगा, आप इसे संकलित कर सकते हैं और स्ट्रेटेजी टेस्टिंग में परीक्षण कर सकते हैं।
इसके अतिरिक्त, स्टैंडर्ड लाइब्रेरी क्लास में "दो MA के क्रॉसओवर पर आधारित सिग्नल" है, जो CSignalCrossMA क्लास में लागू है। ट्रेडिंग आइडिया समान है, लेकिन यह कई अतिरिक्त सुविधाएँ प्रदान करता है (प्रकार, शिफ्ट और औसत विधियों को निर्दिष्ट करना और टेक प्रॉफिट और स्टॉप लॉस स्तरों का उपयोग करना)।

चित्र 3. MQL5 विज़ार्ड में 'दो MA के क्रॉसओवर पर आधारित सिग्नल'
परीक्षण परिणाम
चलो एक्सपर्ट एडवाइज़र का बैकटेस्टिंग करते हैं ऐतिहासिक डेटा (EURUSD H1, परीक्षण अवधि: 1.1.2010-05.01.2011, FastPeriod=12, SlowPeriod=24) पर।
एक्सपर्ट एडवाइज़र बनाने में हमने फिक्स्ड वॉल्यूम (फिक्स्ड लॉट ट्रेडिंग, 0.1) का उपयोग किया है, ट्रेलिंग स्टॉप एल्गोरिदम का उपयोग नहीं किया गया है (ट्रेलिंग का उपयोग नहीं किया गया).

चित्र 4. दो EMA के क्रॉसओवर पर आधारित एक्सपर्ट एडवाइज़र के ऐतिहासिक बैकटेस्टिंग परिणाम
अटैचमेंट: SignalCrossEMA.mqh जिसमें CSignalCrossEMA क्लास होनी चाहिए, इसे terminal_data_folder\MQL5\Include\Expert\Signal फोल्डर में रखा जाना चाहिए।
crossover_2ema.mq5 में वह कोड है जो MQL5 विज़ार्ड का उपयोग करके बनाए गए एक्सपर्ट एडवाइज़र का है।
संबंधित पोस्ट
- MQL5 विजार्ड: दो EMA के क्रॉसओवर पर आधारित ट्रेड सिग्नल और इंट्राडे टाइम फ़िल्टर
- MQL5 विजार्ड: मॉर्निंग/इविनिंग स्टार और RSI पर आधारित ट्रेड सिग्नल
- MQL5 विजार्ड: मॉर्निंग/ईवनिंग स्टार पैटर्न और स्टोकास्टिक पर आधारित ट्रेड सिग्नल
- MetaTrader 4 के लिए विज़ुअल ऑर्डर प्रोसेसिंग - आपके ट्रेडिंग साथी
- MQL5 विज़ार्ड: हैमर/हैंगिंग मैन पैटर्न पर आधारित ट्रेड सिग्नल्स - MetaTrader 5 के लिए