Market closed (10018 / एरर 132) की संपूर्ण जानकारी और समाधान
विषय सूची
- Market closed क्या है (10018 और 132 में अंतर)
- ① TRADE_RETCODE_MARKET_CLOSED = 10018 (MT5 / `OrderSend()` का रिटर्न कोड)
- ② ERR_MARKET_CLOSED = 132 (MT4 / MQL4 का `GetLastError()`)
- पहले 30 सेकंड में पहचान करें
- कारण और समाधान (6 पैटर्न)
- ① वीकेंड या छुट्टी के कारण पूरा मार्केट बंद है
- ② सिंबल-वार ट्रेडिंग सेशन के बाहर (डेली ब्रेक)
- ③ सर्वर टाइम और लोकल टाइम में गड़बड़ी
- ④ सिंबल ट्रेडिंग के लिए बंद/केवल क्लोज़िंग के लिए (SYMBOL_TRADE_MODE)
- ⑤ सोमवार की ओपनिंग के तुरंत बाद, या सेशन दोबारा शुरू होने के तुरंत बाद
- ⑥ न्यूज़ या इवेंट के कारण ट्रेडिंग रुकना
- MQL5 में इस एरर को रोकने वाला कोड (EA डेवलपर्स के लिए)
- ट्रेडिंग सेशन के अंदर है या नहीं, यह जांचें
- ट्रेड मोड (SYMBOL_TRADE_MODE) की जांच करें
- ऑर्डर भेजने से पहले के गेट के रूप में जोड़ें
- फिर भी 10018 आने पर हैंडलिंग
- प्राथमिकता चेकलिस्ट
- सारांश
- अक्सर पूछे जाने वाले सवाल (FAQ)
- Q: सप्ताह के दिन दोपहर के समय भी Market closed आता है। क्यों?
- Q: 10018 और 132 में क्या अंतर है?
- Q: वीकेंड में EA लगातार एरर देता रहता है। इसे नजरअंदाज करना ठीक है?
- Q: क्रिप्टोकरेंसी (BTCUSD) में भी Market closed आया। क्या यह 24 घंटे ट्रेड नहीं होता?
Market closed (MT5/MQL5) की संपूर्ण जानकारी और समाधान
जब EA के लॉग में Market closed या market is closed दिखाई देता है, तो केवल आधे मामलों में ही यह "वीकेंड है इसलिए स्वाभाविक है" वाली बात लागू होती है। सप्ताह के दिनों में दिन के समय भी यह आना, या दूसरे सिंबल में सामान्य रूप से ऑर्डर चल जाना लेकिन किसी खास सिंबल में ही यह एरर आना — यह पैटर्न बहुत से लोगों को परेशान करता है।
इसका कारण सिर्फ "वीकेंड" नहीं है, बल्कि हर सिंबल का अलग ट्रेडिंग सेशन (गोल्ड या स्टॉक इंडेक्स का डेली ब्रेक), ब्रोकर के सर्वर टाइम और आपके लोकल टाइम के बीच का अंतर, सिंबल के ट्रेड मोड प्रतिबंध (close-only आदि) — जैसे कई कारण हो सकते हैं। यह लेख MT5 पर EA इस्तेमाल करने वालों और MQL5 में EA लिखने वालों, दोनों के लिए है, जिसमें Market closed की असली पहचान, 6 कारण, 30 सेकंड में पहचान करने का तरीका, और कोड के जरिए स्थायी समाधान शामिल है। सभी एरर कोड की पूरी लिस्ट के लिए MQL5 / MT5 एरर कोड समाधान की संपूर्ण गाइड देखें।
यह लेख जुलाई 2026 के समय के MT5 (बिल्ड 4xxx सीरीज) को ध्यान में रखकर लिखा गया है। सेशन टाइम और स्क्रीन के नाम ब्रोकर और बिल्ड के अनुसार अलग हो सकते हैं।
Market closed क्या है (10018 और 132 में अंतर)
"मार्केट बंद है" को दर्शाने वाला कोड MT5 और MT4 (MQL4) में अलग-अलग है। आप किस प्लेटफॉर्म पर हैं और कहां से वैल्यू ले रहे हैं, उसी हिसाब से इसे समझें।
① TRADE_RETCODE_MARKET_CLOSED = 10018 (MT5 / OrderSend() का रिटर्न कोड)
MQL5 में भेजे गए ऑर्डर का OrderSend() रिजल्ट MqlTradeResult.retcode में मिलता है। जब ट्रेडिंग सर्वर यह तय करता है कि "यह सिंबल अभी ट्रेडिंग समय से बाहर है" और ऑर्डर रिजेक्ट कर देता है, तो उसका कोड 10018 होता है। यह MT5 की आंतरिक एरर नहीं है, बल्कि ब्रोकर सर्वर से आने वाला रिजेक्शन नोटिस है।
अर्थ: मार्केट बंद है (Market is closed)
कॉन्स्टेंट: TRADE_RETCODE_MARKET_CLOSED
वैल्यू: 10018
// लॉग में दिखने वाला सामान्य उदाहरण
2026.07.06 23:05:11.204 EA_NAME XAUUSD,M5: OrderSend error 10018 [Market closed]
② ERR_MARKET_CLOSED = 132 (MT4 / MQL4 का GetLastError())
MT4 (MQL4) में OrderSend() फेल होने के बाद GetLastError() 132 रिटर्न करता है। इसका अर्थ 10018 जैसा ही है, यानी "मार्केट बंद है"। अगर आप MT4 वर्जन का EA भी साथ में उपयोग कर रहे हैं, तो एक ही कारण MT5 में 10018 और MT4 में 132 के रूप में दिखता है।
अर्थ: मार्केट बंद है (Market is closed)
कॉन्स्टेंट: ERR_MARKET_CLOSED (MQL4)
वैल्यू: 132
व्यावहारिक उपयोग:
| प्लेटफॉर्म | कहां से मिलता है | वैल्यू |
|---|---|---|
| MT5 (MQL5) | MqlTradeResult.retcode / CTrade.ResultRetcode() | 10018 |
| MT4 (MQL4) | OrderSend() फेल होने के बाद GetLastError() | 132 |
दोनों का मूल कारण एक ही है: "सर्वर के ट्रेडिंग सेशन के बाहर ऑर्डर भेजा गया" (या सिंबल की ट्रेडिंग सीमित है)। समाधान भी समान है, इसलिए आगे इन्हें साथ में समझाया गया है।
पहले 30 सेकंड में पहचान करें
बिना सोचे-समझे EA को बार-बार रीस्टार्ट करने से पहले, इन 4 बातों को देखें तो कारण का अंदाजा लग जाएगा।
- सिंबल का ट्रेडिंग सेशन देखें — मार्केट वॉच में उस सिंबल पर राइट-क्लिक करें → "Specification" → "Trading Sessions"। यहां हर दिन का ट्रेडिंग समय (सर्वर टाइम में) दिया होता है। अगर अभी का समय इस दायरे से बाहर है, तो यही जवाब है।
- सर्वर टाइम चेक करें — मार्केट वॉच विंडो के ऊपर दिखने वाला समय ब्रोकर का सर्वर टाइम होता है। सेशन का निर्धारण आपके PC की घड़ी से नहीं, इसी समय से होता है। यह आमतौर पर भारतीय समय से कई घंटे अलग होता है।
- ट्रेड मोड चेक करें — उसी "Specification" स्क्रीन के "Trade" कॉलम में अगर
Full accessके अलावा कुछ और (Disabled/Close onlyआदि) है, तो सेशन के अंदर होते हुए भी नए ऑर्डर रिजेक्ट होंगे। - किसी दूसरे सिंबल पर आजमाएं — अगर EURUSD जैसे प्रमुख FX पेयर पर वही EA या मैनुअल ऑर्डर चल जाता है, तो समस्या अकाउंट या EA में नहीं, बल्कि उस खास सिंबल के सेशन/प्रतिबंध में है।
कारण और समाधान (6 पैटर्न)
① वीकेंड या छुट्टी के कारण पूरा मार्केट बंद है
लक्षण: शनिवार-रविवार, या साल के अंत/शुरुआत और क्रिसमस जैसे मौकों पर एरर आती है। सभी सिंबल में आती है।
कारण: FX मार्केट आमतौर पर सर्वर टाइम के अनुसार शुक्रवार की क्लोजिंग से सोमवार की ओपनिंग तक ट्रेड नहीं होता। छुट्टियों (नया साल, क्रिसमस आदि) में सप्ताह के दिन होने पर भी मार्केट बंद रहता है या ट्रेडिंग सीमित होती है। अगर EA बार के बचे हुए प्रोसेस या टाइमफ्रेम की वजह से वीकेंड में भी ऑर्डर भेजने की कोशिश करे, तो 10018/132 बार-बार आता है।
समाधान:
- यह एरर खुद में हानिरहित है। मार्केट खुलते ही यह अपने आप ठीक हो जाता है
- अगर लॉग साफ रखना है, तो EA में दिन और सेशन की जांच जोड़कर शुरू में ही ऑर्डर न भेजें (कोड नीचे दिया गया है)
- छुट्टियों का कैलेंडर हर ब्रोकर में अलग होता है, इसलिए ब्रोकर की छुट्टियों की सूचना जरूर देखें
② सिंबल-वार ट्रेडिंग सेशन के बाहर (डेली ब्रेक)
लक्षण: सप्ताह के दिनों में भी कुछ खास सिंबल (गोल्ड, सिल्वर, स्टॉक इंडेक्स CFD, एनर्जी आदि) में एरर आती है। लगभग रोज एक ही समय पर आती है।
कारण: FX पेयर सप्ताह के दिनों में लगभग 24 घंटे ट्रेड होते हैं, लेकिन कीमती धातुओं और स्टॉक इंडेक्स CFD में हर दिन कुछ दस मिनट से लेकर कुछ घंटों तक का ट्रेडिंग विराम (डेली ब्रेक) होता है। यह मूल एसेट के एक्सचेंज के मेंटेनेंस या रोलओवर के अनुसार तय होता है, और समय ब्रोकर व सिंबल के अनुसार अलग होता है। इस विराम के दौरान EA ऑर्डर भेजे तो 10018 आता है।
समाधान:
- "Specification → Trading Sessions" में उस सिंबल का सही विराम समय देखें (यहां लिखा समय ही एकमात्र सही जानकारी है। किसी और की ब्लॉग पोस्ट के समय पर भरोसा न करें — यह हर ब्रोकर में अलग होता है)
- EA के टाइम फिल्टर (
TradeStartHour/TradeEndHourआदि) से विराम अवधि को टालें - डेवलपर कोड में
SymbolInfoSessionTrade()का उपयोग करके देखें (नीचे बताया गया है)
ध्यान दें, क्रिप्टोकरेंसी (BTCUSD आदि) कई ब्रोकर में शनिवार-रविवार भी ट्रेड हो सकती है, लेकिन यह भी ब्रोकर पर निर्भर करता है। "क्रिप्टो है तो 24/7 चलेगा" यह मान लेने की बजाय Specification स्क्रीन में जांच लें।
③ सर्वर टाइम और लोकल टाइम में गड़बड़ी
लक्षण: "Specification के सेशन के अनुसार तो ट्रेडिंग समय के अंदर है" फिर भी एरर आती है। विदेशी ब्रोकर के इस्तेमाल में यह आम है।
कारण: Specification में लिखा सेशन टाइम हो या MT5 में दिखने वाला समय, दोनों ब्रोकर के सर्वर टाइम पर आधारित होते हैं। कई विदेशी ब्रोकर GMT+2/+3 (NY क्लोज = रात 12 बजे सेट) उपयोग करते हैं, जो भारतीय समय से 3.5-4.5 घंटे अलग होता है। भारतीय समय में "अभी शुक्रवार रात है" लगते हुए भी, सर्वर टाइम में शनिवार शुरू हो चुका हो सकता है — यह आम गड़बड़ी है।
समाधान:
- मार्केट वॉच विंडो के समय (यानी सर्वर टाइम) को आधार मानने की आदत डालें
- EA के पैरामीटर (ट्रेडिंग टाइम फिल्टर आदि) आमतौर पर सर्वर टाइम में सेट करने होते हैं। कहीं आपने भारतीय समय मानकर सेट तो नहीं किया, यह जांच लें
- कोड में
TimeTradeServer()का उपयोग करें (TimeLocal()से सेशन तय न करें)
④ सिंबल ट्रेडिंग के लिए बंद/केवल क्लोज़िंग के लिए (SYMBOL_TRADE_MODE)
लक्षण: सेशन के समय के अंदर, सप्ताह के दिन में भी, किसी खास सिंबल में सभी नए ऑर्डर रिजेक्ट हो जाते हैं। कभी-कभी सिर्फ क्लोज़िंग ऑर्डर चल जाता है।
कारण: ब्रोकर हर सिंबल के लिए अलग से ट्रेड मोड सेट कर सकते हैं।
| SYMBOL_TRADE_MODE | अर्थ |
|---|---|
SYMBOL_TRADE_MODE_FULL | कोई प्रतिबंध नहीं (सामान्य) |
SYMBOL_TRADE_MODE_CLOSEONLY | केवल क्लोज़िंग की अनुमति (नई पोजीशन नहीं)। लिस्टिंग हटने वाले या कॉन्ट्रैक्ट एक्सपायरी से पहले वाले CFD आदि |
SYMBOL_TRADE_MODE_DISABLED | ट्रेडिंग पूरी तरह बंद |
SYMBOL_TRADE_MODE_LONGONLY / SHORTONLY | केवल खरीद/केवल बिक्री की अनुमति |
डेमो अकाउंट और लाइव अकाउंट में सेटिंग अलग हो सकती है, और अकाउंट टाइप के अनुसार ट्रेड करने योग्य सिंबल भी अलग हो सकते हैं।
समाधान:
- "Specification" स्क्रीन के "Trade" कॉलम को जांचें
- अगर
Close onlyहै तो नई पोजीशन का विचार छोड़कर पोजीशन बंद करने पर ध्यान दें। अगर उसी सिंबल को स्थायी रूप से इस्तेमाल करना है तो उसी नाम के अलग कॉन्ट्रैक्ट या अलग सफिक्स वाले सिंबल (जैसेUS500.fआदि) उपलब्ध हैं या नहीं, यह देखें - अगर
Disabledबना रहता है, तो ब्रोकर से पूछें कि उस अकाउंट टाइप में यह ट्रेड हो सकता है या नहीं
⑤ सोमवार की ओपनिंग के तुरंत बाद, या सेशन दोबारा शुरू होने के तुरंत बाद
लक्षण: सोमवार को मार्केट खुलने के तुरंत बाद के कुछ मिनट, या डेली ब्रेक खत्म होने के तुरंत बाद, एरर या ऑर्डर रिजेक्शन आता है।
कारण: सेशन "खुलने" के पल से लेकर वास्तव में स्थिर रूप से ऑर्डर एक्जीक्यूट होने तक कुछ समय का अंतर होता है। ओपनिंग के तुरंत बाद लिक्विडिटी कम होती है और स्प्रेड बहुत ज्यादा बढ़ जाता है, और कुछ ब्रोकर तब तक ऑर्डर स्वीकार नहीं करते जब तक कोट्स स्थिर रूप से आना शुरू न हों (यानी मार्केट बंद मानकर रिजेक्ट कर देते हैं)। सोमवार सुबह-सुबह सिग्नल देने वाले EA, या ब्रेक खत्म होने के तुरंत बाद का मौका पकड़ने वाले गोल्ड EA आमतौर पर इसी समस्या से टकराते हैं।
समाधान:
- ओपनिंग के बाद कुछ मिनट तक नई एंट्री टालने वाला फिल्टर लगाएं (
AvoidMondayOpenआदि)। इस साइट के EA में डिफॉल्ट रूप से सोमवार 0-3 बजे (सर्वर टाइम) को टालने की सेटिंग इसी वजह से रखी गई है - स्प्रेड फिल्टर (
MaxSpread) का भी जरूर उपयोग करें। ओपनिंग के तुरंत बाद के असामान्य स्प्रेड पर ऑर्डर एक्जीक्यूट होना एरर से ज्यादा नुकसानदायक है - 10018 आने पर तुरंत दोबारा कोशिश न करें, अगली बार तक इंतजार करें — ऐसा डिजाइन बनाएं
⑥ न्यूज़ या इवेंट के कारण ट्रेडिंग रुकना
लक्षण: महत्वपूर्ण आर्थिक आंकड़े आने से पहले-बाद, या किसी सिंबल में असामान्य उतार-चढ़ाव के समय, अस्थायी रूप से एरर आती है।
कारण: कुछ ब्रोकर और सिंबल में, बड़ी घटनाओं के समय ट्रेडिंग को अस्थायी रूप से रोक (हॉल्ट) दिया जाता है, या नई एंट्री सीमित कर दी जाती है। स्टॉक इंडेक्स CFD में मूल एसेट मार्केट के सर्किट ब्रेकर के साथ भी यह रुक सकता है। इस दौरान के ऑर्डर मार्केट क्लोज़ड की तरह रिजेक्ट होते हैं।
समाधान:
- यह अस्थायी होता है, कुछ समय बाद अपने आप ठीक हो जाता है
- इकोनॉमिक इंडिकेटर फिल्टर (इस साइट के EA का
UseEconomicFilter) से आंकड़ों के आगे-पीछे नई एंट्री रोकने पर एरर से बचाव और तेज उतार-चढ़ाव के जोखिम से बचाव, दोनों एक साथ हो जाते हैं
MQL5 में इस एरर को रोकने वाला कोड (EA डेवलपर्स के लिए)
Market closed के लिए "एरर आने के बाद समाधान" करने की बजाय, ऑर्डर भेजने से पहले सेशन और ट्रेड मोड की जांच करके, बंद होने पर ऑर्डर न भेजना सही डिजाइन है। इससे न सिर्फ लॉग साफ रहता है, बल्कि बेकार के सर्वर रिक्वेस्ट और रिट्राई की भरमार भी रुकती है।
ट्रेडिंग सेशन के अंदर है या नहीं, यह जांचें
SymbolInfoSessionTrade() तय किए गए दिन के iवें सेशन का शुरू/खत्म होने का समय (सर्वर टाइम में रात 12 बजे से सेकंड में) रिटर्न करता है। जिन सिंबल में एक से ज्यादा सेशन होते हैं (डेली ब्रेक वाले इंडेक्स आदि) उनके लिए लूप से सभी सेशन जांचे जाते हैं।
// अभी का सर्वर टाइम इस सिंबल के ट्रेडिंग सेशन के अंदर है या नहीं, यह तय करता है
bool IsTradeSessionOpen(const string symbol)
{
MqlDateTime dt;
TimeToStruct(TimeTradeServer(), dt); // हमेशा सर्वर टाइम से तय करें
int now = dt.hour*3600 + dt.min*60 + dt.sec; // रात 12 बजे से बीता हुआ समय (सेकंड में)
datetime from, to;
for(uint i = 0; SymbolInfoSessionTrade(symbol, (ENUM_DAY_OF_WEEK)dt.day_of_week, i, from, to); i++)
{
int f = (int)from; // रात 12 बजे से सेकंड में
int t = (int)to; // 24:00 खत्म होने पर 86400 होता है
if(now >= f && now < t)
return true;
}
return false; // इस दिन के लिए कोई सेशन नहीं (वीकेंड आदि) या सभी सेशन के बाहर
}
ट्रेड मोड (SYMBOL_TRADE_MODE) की जांच करें
// नई एंट्री की अनुमति है या नहीं, यह तय करता है
bool IsNewEntryAllowed(const string symbol, ENUM_ORDER_TYPE type)
{
long mode = SymbolInfoInteger(symbol, SYMBOL_TRADE_MODE);
if(mode == SYMBOL_TRADE_MODE_DISABLED) return false; // ट्रेडिंग बंद
if(mode == SYMBOL_TRADE_MODE_CLOSEONLY) return false; // केवल क्लोज़िंग = नई एंट्री नहीं
if(mode == SYMBOL_TRADE_MODE_LONGONLY && type != ORDER_TYPE_BUY) return false;
if(mode == SYMBOL_TRADE_MODE_SHORTONLY && type != ORDER_TYPE_SELL) return false;
return true; // SYMBOL_TRADE_MODE_FULL आदि
}
ऑर्डर भेजने से पहले के गेट के रूप में जोड़ें
// OnTick में: सिग्नल बनने पर भी, मार्केट बंद हो तो न भेजें
if(!IsTradeSessionOpen(_Symbol) || !IsNewEntryAllowed(_Symbol, ORDER_TYPE_BUY))
{
// 10018 को पहले से रोकें। लॉग की एक लाइन छोड़कर अगले बार का इंतजार करें
return;
}
फिर भी 10018 आने पर हैंडलिंग
सेशन जानकारी अपडेट होने के समय या ओपनिंग के तुरंत बाद रिजेक्शन जैसे मामलों में गेट से बचकर एरर आना पूरी तरह खत्म नहीं किया जा सकता। OrderSend() के retcode को देखकर, 10018 पर तुरंत रिट्राई न करें (अगले बार तक इंतजार करें) — यह सबसे जरूरी नियम है। बंद मार्केट में बार-बार ऑर्डर भेजने से सिर्फ लॉग गंदा होता है, कुछ सुधरता नहीं।
MqlTradeRequest req; MqlTradeResult res;
ZeroMemory(req); ZeroMemory(res);
// ... req तैयार करें ...
if(!OrderSend(req, res) || res.retcode != TRADE_RETCODE_DONE)
{
if(res.retcode == TRADE_RETCODE_MARKET_CLOSED) // 10018
Print("Market closed. Skip and wait for the next session.");
else
PrintFormat("OrderSend failed: retcode=%d, lastError=%d", res.retcode, GetLastError());
}
सच कहा जाए तो, सोमवार की ओपनिंग के तुरंत बाद या डेली ब्रेक के आगे-पीछे (खासकर गोल्ड और स्टॉक इंडेक्स में) ऑर्डर भेजने वाले EA को यह एरर आम तौर पर मिलती रहती है। शेड्यूल को ध्यान में रखने वाले EA — जिनमें सेशन जांच, ओपनिंग के तुरंत बाद एंट्री टालना, और वीकेंड से पहले क्लोज़िंग जैसी सुविधाएं हों — न सिर्फ बेकार की एरर से बचते हैं, बल्कि कम लिक्विडिटी वाले समय के खराब एक्जीक्यूशन से भी बचते हैं। FXEA365 पर उपलब्ध EA में सोमवार ओपनिंग से बचाव (AvoidMondayOpen), टाइम फिल्टर, और वीकेंड क्लोज़िंग (CloseAllBeforeWeekend) पहले से ही मानक रूप से शामिल हैं।
प्राथमिकता चेकलिस्ट
| प्राथमिकता | जांच | समाधान |
|---|---|---|
| 🚨 पहले | अभी वीकेंड या छुट्टी तो नहीं (सर्वर टाइम के अनुसार) | बस इंतजार करें। एरर खुद में हानिरहित है |
| 🚨 पहले | Specification के "Trading Sessions" के दायरे में है या नहीं | सिंबल-वार विराम अवधि को टाइम फिल्टर से टालें |
| ⚠️ इसके बाद | सर्वर टाइम और भारतीय समय में गड़बड़ी तो नहीं कर रहे | मार्केट वॉच के समय को आधार बनाकर दोबारा सेट करें |
| ⚠️ इसके बाद | ट्रेड मोड Full access है या नहीं | Close only / Disabled हो तो ब्रोकर से Specification जांचें |
| ✅ जांच | ओपनिंग के तुरंत बाद या ब्रेक खत्म होने के तुरंत बाद तो नहीं | कुछ मिनट टालें + स्प्रेड फिल्टर लगाएं |
| 🛠 डेवलपमेंट | ऑर्डर भेजने से पहले सेशन/मोड की जांच हो रही है या नहीं | SymbolInfoSessionTrade गेट लागू करें |
सारांश
Market closedMT5 में 10018 (TRADE_RETCODE_MARKET_CLOSED) और MT4 में 132 (ERR_MARKET_CLOSED) होता है। अर्थ एक ही है: "ट्रेडिंग सेशन के बाहर/ट्रेडिंग प्रतिबंध के दौरान भेजा गया ऑर्डर"।- यह सिर्फ वीकेंड में ही नहीं, बल्कि सिंबल-वार डेली ब्रेक (गोल्ड, इंडेक्स), सर्वर टाइम का अंतर, SYMBOL_TRADE_MODE प्रतिबंध, और ओपनिंग के तुरंत बाद का रिजेक्शन से भी आता है। सप्ताह के दिनों में आए तो पहले "Specification → Trading Sessions" देखें।
- सेशन टाइम हर ब्रोकर और सिंबल में अलग होता है। सिर्फ आपके MT5 की Specification स्क्रीन में लिखा समय ही सही है।
- EA डेवलपर्स को
SymbolInfoSessionTrade()+SYMBOL_TRADE_MODE+TimeTradeServer()के जरिए ऑर्डर भेजने से पहले गेट लगाकर स्थायी समाधान करना चाहिए। 10018 आने पर तुरंत रिट्राई न करें, अगले बार तक इंतजार करें।
सभी एरर कोड के लिए MQL5 / MT5 एरर कोड समाधान की संपूर्ण गाइड देखें, और सेशन बचाव व टाइम फिल्टर से लैस मुफ्त EA के लिए EA लिस्ट देखें।
अक्सर पूछे जाने वाले सवाल (FAQ)
Q: सप्ताह के दिन दोपहर के समय भी Market closed आता है। क्यों?
इसका कारण उस सिंबल का खास ट्रेडिंग विराम समय (डेली ब्रेक) या सिंबल का ट्रेड मोड प्रतिबंध हो सकता है। गोल्ड, सिल्वर, स्टॉक इंडेक्स CFD में सप्ताह के दिनों में भी रोज कुछ समय के लिए ट्रेडिंग नहीं होती। मार्केट वॉच में सिंबल पर राइट-क्लिक करके "Specification" → "Trading Sessions" और "Trade" कॉलम जांचें।
Q: 10018 और 132 में क्या अंतर है?
सिर्फ प्लेटफॉर्म अलग है, अर्थ एक ही है। 10018 (TRADE_RETCODE_MARKET_CLOSED) MT5 के OrderSend() का रिटर्न कोड है, और 132 (ERR_MARKET_CLOSED) MT4 (MQL4) के GetLastError() की वैल्यू है। समाधान दोनों के लिए समान है।
Q: वीकेंड में EA लगातार एरर देता रहता है। इसे नजरअंदाज करना ठीक है?
इससे कोई नुकसान नहीं होता। मार्केट खुलते ही यह अपने आप रुक जाता है। लेकिन अगर लॉग गंदा होना या बार-बार पुश नोटिफिकेशन आना परेशान करता है, तो EA में दिन/सेशन की जांच जोड़कर ऑर्डर भेजना ही रोक देना मूल समाधान है (ऊपर दिया गया कोड देखें)।
Q: क्रिप्टोकरेंसी (BTCUSD) में भी Market closed आया। क्या यह 24 घंटे ट्रेड नहीं होता?
क्रिप्टोकरेंसी CFD शनिवार-रविवार भी ट्रेड हो सकता है या नहीं, यह ब्रोकर पर निर्भर करता है। कुछ ब्रोकर वीकेंड में ट्रेडिंग बंद कर देते हैं, या छोटा मेंटेनेंस विराम रखते हैं। FX पेयर की तरह ही, "Specification → Trading Sessions" में जाकर अपने ब्रोकर में वास्तविक ट्रेडिंग समय जांच लें।
संबंधित
📧 कीमत बढ़ने से पहले अलर्ट + मुफ्त 5-दिवसीय ईमेल कोर्स
सभी EA लॉन्च मूल्य पर हैं और बिक्री के साथ चरणों में बढ़ते हैं। हर बढ़ोतरी से पहले सूचना पाएं, साथ ही एल्गो ट्रेडिंग, बैकटेस्ट पढ़ने और ब्रोकर चुनने पर रोज़ एक ईमेल।
* गोपनीयता कड़ाई से संरक्षित। आप किसी भी समय सदस्यता समाप्त कर सकते हैं।