MQL4 सिंटैक्स
- एमक्यूएल4 सिंटैक्स: शुरुआती गाइड
एमक्यूएल4 (MetaQuotes Language 4) मेटाट्रेडर 4 (MetaTrader 4) ट्रेडिंग प्लेटफॉर्म के लिए इस्तेमाल की जाने वाली प्रोग्रामिंग भाषा है। इसका उपयोग एक्सपर्ट एडवाइजर (Expert Advisors - ईए), कस्टम इंडिकेटर और स्क्रिप्ट बनाने के लिए किया जाता है। बाइनरी ऑप्शंस ट्रेडिंग में, एमक्यूएल4 का उपयोग ऑटोमेटेड ट्रेडिंग सिस्टम विकसित करने और तकनीकी विश्लेषण को स्वचालित करने के लिए किया जा सकता है। यह लेख शुरुआती लोगों के लिए एमक्यूएल4 सिंटैक्स का विस्तृत परिचय है।
एमक्यूएल4 की बुनियादी संरचना
एमक्यूएल4 प्रोग्राम की संरचना सी (C) भाषा के समान है। एक एमक्यूएल4 प्रोग्राम में निम्नलिखित तत्व शामिल होते हैं:
- **प्रोपर्टीज़ (Properties):** प्रोग्राम के बारे में जानकारी जैसे नाम, लेखक, और संस्करण।
- **वेरिएबल डिक्लेरेशन (Variable Declaration):** प्रोग्राम में उपयोग किए जाने वाले चर (variables) को परिभाषित करना।
- **फंक्शन (Functions):** कोड के ब्लॉक जो एक विशिष्ट कार्य करते हैं।
- **इवेंट हैंडलर (Event Handlers):** विशेष फंक्शन जो विशिष्ट घटनाओं के होने पर स्वचालित रूप से कॉल होते हैं, जैसे कि नई टिक (tick) प्राप्त होना या ऑर्डर खुलने पर।
प्रोपर्टीज़
प्रोपर्टीज़ प्रोग्राम के बारे में मेटाडेटा प्रदान करती हैं। इन्हें `#property` डायरेक्टिव का उपयोग करके परिभाषित किया जाता है।
उदाहरण:
```mql4
- property copyright "आपका नाम"
- property link "आपकी वेबसाइट"
- property version "1.00"
- property indicator_chart_window
```
वेरिएबल डिक्लेरेशन
चर (Variables) डेटा को स्टोर करने के लिए उपयोग किए जाते हैं। एमक्यूएल4 में, चर को डेटा टाइप के साथ घोषित किया जाना चाहिए। कुछ सामान्य डेटा टाइप हैं:
- `int`: पूर्णांक (integer) संख्याएँ (जैसे -1, 0, 1)।
- `double`: फ्लोटिंग-पॉइंट संख्याएँ (जैसे 1.23, -4.56)।
- `bool`: बूलियन मान (true या false)।
- `string`: टेक्स्ट स्ट्रिंग (जैसे "हेलो वर्ल्ड")।
- `datetime`: दिनांक और समय (जैसे 2023.10.27 10:00:00)।
चरों को घोषित करने का सिंटैक्स है:
```mql4 data_type variable_name; ```
उदाहरण:
```mql4 int myInteger = 10; double myDouble = 3.14; string myString = "यह एक स्ट्रिंग है"; ```
फंक्शन
फंक्शन कोड के ब्लॉक होते हैं जो एक विशिष्ट कार्य करते हैं। फंक्शन को परिभाषित करने के लिए, आपको रिटर्न टाइप, फंक्शन का नाम और पैरामीटर निर्दिष्ट करने होंगे।
उदाहरण:
```mql4 int MyFunction(int parameter1, double parameter2) {
// फंक्शन का कोड यहाँ int result = parameter1 + (int)parameter2; return result;
} ```
इवेंट हैंडलर
इवेंट हैंडलर विशेष फंक्शन होते हैं जो विशिष्ट घटनाओं के होने पर स्वचालित रूप से कॉल होते हैं। कुछ सामान्य इवेंट हैंडलर हैं:
- `OnInit()`: प्रोग्राम के इनिशियलाइज़ होने पर कॉल होता है।
- `OnDeinit()`: प्रोग्राम के अनइनिशियलाइज़ होने पर कॉल होता है।
- `OnTick()`: प्रत्येक नई टिक (tick) प्राप्त होने पर कॉल होता है। यह सबसे महत्वपूर्ण इवेंट हैंडलर है, जिसका उपयोग ट्रेडिंग लॉजिक को लागू करने के लिए किया जाता है।
- `OnTrade()`: किसी ऑर्डर के खुलने, बंद होने या संशोधित होने पर कॉल होता है।
उदाहरण:
```mql4 int OnInit() {
// इनिशियलाइज़ेशन कोड यहाँ return(INIT_SUCCEEDED);
}
void OnTick() {
// प्रत्येक टिक पर निष्पादित होने वाला कोड यहाँ Print("नई टिक प्राप्त हुई!");
} ```
एमक्यूएल4 ऑपरेटर (Operators)
एमक्यूएल4 में विभिन्न प्रकार के ऑपरेटर उपलब्ध हैं, जिनका उपयोग डेटा पर ऑपरेशन करने के लिए किया जाता है। कुछ सामान्य ऑपरेटर हैं:
- **अरिथमेटिक ऑपरेटर (Arithmetic Operators):** +, -, *, /, % (मॉड्यूलो)।
- **असाइनमेंट ऑपरेटर (Assignment Operators):** =, +=, -=, *=, /=।
- **तुलना ऑपरेटर (Comparison Operators):** ==, !=, >, <, >=, <=।
- **लॉजिकल ऑपरेटर (Logical Operators):** && (AND), || (OR), ! (NOT)।
कंडीशनल स्टेटमेंट (Conditional Statements)
कंडीशनल स्टेटमेंट का उपयोग कुछ शर्तों के आधार पर कोड के विभिन्न ब्लॉक को निष्पादित करने के लिए किया जाता है। एमक्यूएल4 में, `if`, `else if`, और `else` स्टेटमेंट का उपयोग किया जाता है।
उदाहरण:
```mql4 int price = iClose(NULL, 0, 0); // वर्तमान क्लोजिंग मूल्य प्राप्त करें
if (price > 1.2000) {
Print("कीमत 1.2000 से अधिक है");
} else if (price > 1.1900) {
Print("कीमत 1.1900 से अधिक है, लेकिन 1.2000 से कम है");
} else {
Print("कीमत 1.1900 से कम है");
} ```
लूप (Loops)
लूप का उपयोग कोड के एक ब्लॉक को कई बार निष्पादित करने के लिए किया जाता है। एमक्यूएल4 में, `for`, `while`, और `do-while` लूप का उपयोग किया जाता है।
उदाहरण:
```mql4 for (int i = 0; i < 10; i++) {
Print("लूप की पुनरावृत्ति संख्या:", i);
} ```
बाइनरी ऑप्शंस के लिए एमक्यूएल4 का उपयोग
बाइनरी ऑप्शंस ट्रेडिंग में, एमक्यूएल4 का उपयोग ऑटोमेटेड ट्रेडिंग सिस्टम विकसित करने और तकनीकी विश्लेषण को स्वचालित करने के लिए किया जा सकता है।
- **ऑटोमेटेड ट्रेडिंग सिस्टम (Automated Trading Systems):** आप एमक्यूएल4 का उपयोग ऐसे एक्सपर्ट एडवाइजर (ईए) बनाने के लिए कर सकते हैं जो स्वचालित रूप से बाइनरी ऑप्शंस ट्रेड खोलते और बंद करते हैं।
- **तकनीकी विश्लेषण (Technical Analysis):** आप एमक्यूएल4 का उपयोग कस्टम इंडिकेटर बनाने के लिए कर सकते हैं जो मूल्य चार्ट पर तकनीकी संकेत प्रदर्शित करते हैं। इन संकेतकों का उपयोग ट्रेडिंग निर्णय लेने के लिए किया जा सकता है।
- **बैकटेस्टिंग (Backtesting):** आप एमक्यूएल4 का उपयोग ऐतिहासिक डेटा पर अपनी ट्रेडिंग रणनीतियों का परीक्षण करने के लिए कर सकते हैं। इससे आपको यह निर्धारित करने में मदद मिल सकती है कि आपकी रणनीति अतीत में कितनी लाभदायक रही होगी।
उदाहरण: सरल बाइनरी ऑप्शंस ईए
यह एक सरल उदाहरण है जो एक मूविंग एवरेज क्रॉसओवर (Moving Average Crossover) रणनीति पर आधारित एक बाइनरी ऑप्शंस ईए है:
```mql4
- property copyright "आपका नाम"
- property link "आपकी वेबसाइट"
extern int FastMAPeriod = 12; extern int SlowMAPeriod = 26; extern double LotSize = 0.1; extern int ExpirationTime = 60; // सेकंड में
int OnInit() {
return(INIT_SUCCEEDED);
}
void OnTick() {
double FastMA = iMA(NULL, 0, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0); double SlowMA = iMA(NULL, 0, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
if (FastMA > SlowMA && FastMA[1] <= SlowMA[1]) { // कॉल ऑप्शन खरीदें TradeBinaryOption("CALL", LotSize, ExpirationTime); } else if (FastMA < SlowMA && FastMA[1] >= SlowMA[1]) { // पुट ऑप्शन खरीदें TradeBinaryOption("PUT", LotSize, ExpirationTime); }
}
void TradeBinaryOption(string OptionType, double LotSize, int ExpirationTime) {
// बाइनरी ऑप्शंस ब्रोकर एपीआई के माध्यम से ट्रेड करें // यह कोड आपके ब्रोकर के एपीआई पर निर्भर करेगा Print("ट्रेड निष्पादित किया जा रहा है: ", OptionType, " लॉट साइज: ", LotSize, " समाप्ति समय: ", ExpirationTime);
} ```
- ध्यान दें:** यह सिर्फ एक सरल उदाहरण है। वास्तविक बाइनरी ऑप्शंस ट्रेडिंग में, आपको ब्रोकर के एपीआई का उपयोग करने और जोखिम प्रबंधन तकनीकों को लागू करने की आवश्यकता होगी।
अतिरिक्त संसाधन
- मेटाक्वाइट्स वेबसाइट (MetaQuotes Website): एमक्यूएल4 के बारे में आधिकारिक दस्तावेज।
- एमक्यूएल4 संदर्भ (MQL4 Reference): एमक्यूएल4 के सभी फंक्शन और ऑपरेटरों का विस्तृत विवरण।
- एमक्यूएल4 फोरम (MQL4 Forum): अन्य एमक्यूएल4 प्रोग्रामर के साथ संवाद करने और मदद प्राप्त करने के लिए एक मंच।
संबंधित विषय
- एक्सपर्ट एडवाइजर
- कस्टम इंडिकेटर
- स्क्रिप्ट
- तकनीकी विश्लेषण
- मूविंग एवरेज
- आरएसआई (RSI)
- एमएसीडी (MACD)
- बोलिंगर बैंड
- फिबोनाची रिट्रेसमेंट
- वॉल्यूम विश्लेषण
- कैंडलस्टिक पैटर्न
- बैकटेस्टिंग
- जोखिम प्रबंधन
- बाइनरी ऑप्शंस रणनीति
- मनी मैनेजमेंट
- मार्केट सेंटीमेंट
- ट्रेडिंग मनोविज्ञान
- फंडामेंटल एनालिसिस
- इंट्राडे ट्रेडिंग
- स्विंग ट्रेडिंग
यह लेख एमक्यूएल4 सिंटैक्स का एक बुनियादी परिचय है। अधिक जानकारी और उन्नत तकनीकों के लिए, कृपया ऊपर दिए गए अतिरिक्त संसाधनों और संबंधित विषयों का अध्ययन करें।
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री