पार्शियल क्लोज़ व ट्रेलिंग स्टॉप: जोखिम और जाँच
विषय सूची (5)
- निष्कर्ष: गड़बड़ी लॉजिक में नहीं, "स्टेट के हस्तांतरण" में होती है
- साथ चलाने पर चीज़ें क्यों टूटती हैं
- बचे हुए वॉल्यूम के लिए EA की "याददाश्त" पर भरोसा नहीं किया जा सकता
- लॉट को "राउंड" नहीं, "नीचे की ओर काटना" चाहिए
- SL लिखने का काम एक ही जगह, सबसे अंत में करें
- इम्प्लीमेंटेशन और जाँच की चेकलिस्ट
- सीमाएँ और सावधानियाँ
- सारांश
विषय सूची
- निष्कर्ष: गड़बड़ी लॉजिक में नहीं, "स्टेट के हस्तांतरण" में होती है
- साथ चलाने पर चीज़ें क्यों टूटती हैं
- बचे हुए वॉल्यूम के लिए EA की "याददाश्त" पर भरोसा नहीं किया जा सकता
- लॉट को "राउंड" नहीं, "नीचे की ओर काटना" चाहिए
- SL लिखने का काम एक ही जगह, सबसे अंत में करें
- इम्प्लीमेंटेशन और जाँच की चेकलिस्ट
- सीमाएँ और सावधानियाँ
- सारांश
निष्कर्ष: गड़बड़ी लॉजिक में नहीं, "स्टेट के हस्तांतरण" में होती है
पार्शियल क्लोज़ और ट्रेलिंग स्टॉप, दोनों अकेले लागू करना कठिन नहीं है। समस्या तब आती है जब दोनों एक ही पोज़िशन पर लगाए जाते हैं। हमारे अपने डेवलपमेंट अनुभव में भी लगभग सारी दिक्कतें इन तीन जगहों पर सिमटी रहीं:
- बचे हुए वॉल्यूम का प्रबंधन: EA को यह याद नहीं रहता कि पार्शियल क्लोज़ हो चुका है या नहीं
- लॉट स्टेप: क्लोज़ की जाने वाली मात्रा ब्रोकर के न्यूनतम लॉट या स्टेप से मेल नहीं खाती
- SL दोबारा सेट करने का क्रम: पार्शियल क्लोज़, ब्रेकईवन पर SL और ट्रेलिंग एक-दूसरे को ओवरराइट कर देते हैं
ये तीनों बग बैकटेस्ट में शायद ही दिखते हैं और अक्सर लाइव ट्रेडिंग में ही पहली बार पकड़ में आते हैं।
अनुशंसित ब्रोकर तुलना →
🎁 मुफ्त EA डाउनलोड📧 मुफ़्त ईमेल कोर्स (8 ईमेल) + केवल सब्सक्राइबर्स के लिए 13 MT5 इंडिकेटर का पैक
* गोपनीयता कड़ाई से संरक्षित। आप किसी भी समय सदस्यता समाप्त कर सकते हैं।
साथ चलाने पर चीज़ें क्यों टूटती हैं
बचे हुए वॉल्यूम के लिए EA की "याददाश्त" पर भरोसा नहीं किया जा सकता
MT5 में पार्शियल क्लोज़ के बाद भी पोज़िशन का टिकट वही रहता है और सिर्फ़ POSITION_VOLUME घटता है। अगर "पार्शियल क्लोज़ हो चुका" सिर्फ़ एक bool वेरिएबल में रखा गया है, तो EA रीस्टार्ट, VPS रीकनेक्ट या टाइमफ्रेम बदलने पर यह वैल्यू मिट जाती है। उसके बाद पहले टिक पर बची हुई पोज़िशन का फिर से आधा क्लोज़ हो जाना, इसका सबसे आम उदाहरण है।
इसके लिए हम HistorySelectByPosition() से उस पोज़िशन की डील हिस्ट्री खंगालते हैं और शुरुआती वॉल्यूम की तुलना मौजूदा बचे वॉल्यूम से करके तय करते हैं कि पार्शियल क्लोज़ किस चरण में है। मेमोरी वाले फ्लैग को सिर्फ़ सहायक के रूप में रखा जाता है।
लॉट को "राउंड" नहीं, "नीचे की ओर काटना" चाहिए
0.03 लॉट का आधा 0.015 होता है। जिस अकाउंट में स्टेप 0.01 है, वहाँ राउंड करने पर 0.02 क्लोज़ हो जाता है, यानी अपेक्षा से ज़्यादा हिस्सा निकल जाता है। क्लोज़ की जाने वाली मात्रा को SYMBOL_VOLUME_STEP के हिसाब से नीचे काटें, और यह भी जाँचें कि क्लोज़ के बाद बचा वॉल्यूम SYMBOL_VOLUME_MIN या उससे अधिक रहता है या नहीं। 0.01 लॉट को वैसे भी बाँटा नहीं जा सकता। इसलिए पहले से तय करना होगा कि ऐसे में "पार्शियल क्लोज़ नहीं करना" है या "पूरा क्लोज़ करना" है, वरना EA बार-बार एरर लौटाता रहेगा।
SL लिखने का काम एक ही जगह, सबसे अंत में करें
PositionModify() SL और TP दोनों एक साथ लेता है। अगर ट्रेलिंग वाला कोड TP में 0 पास कर दे, तो TP मिट जाता है। इसके अलावा, अगर पार्शियल क्लोज़ के बाद SL को एंट्री पर ले जाने वाला कोड और ट्रेलिंग से SL ऊपर खिसकाने वाला कोड एक ही टिक में अलग-अलग चलें, तो जो बाद में लिखेगा वही जीतेगा। नतीजा यह कि एंट्री तक पहुँच चुका SL दोबारा नीचे आ सकता है।
हम यह क्रम अपनाते हैं:
- पार्शियल क्लोज़ भेजें → पोज़िशन दोबारा चुनकर बचा वॉल्यूम जाँचें
- ब्रेकईवन SL और ट्रेलिंग SL, दोनों के उम्मीदवार निकालें
- SL को सिर्फ़ "मौजूदा SL से ज़्यादा अनुकूल दिशा" में ही खिसकाएँ (खरीद में ऊँचा, बिक्री में नीचा)
- स्टॉप लेवल और फ्रीज़ लेवल जाँचने के बाद, TP की मौजूदा वैल्यू दोबारा पास करते हुए सिर्फ़ एक बार बदलाव भेजें
इम्प्लीमेंटेशन और जाँच की चेकलिस्ट
| जाँच का बिंदु | टूटने पर लक्षण | जाँचने का तरीका |
|---|---|---|
| क्या पार्शियल क्लोज़ का चरण डील हिस्ट्री से तय होता है | रीस्टार्ट के बाद दो बार पार्शियल क्लोज़ हो जाना | चलते EA को दोबारा अटैच करके बचे वॉल्यूम का बदलाव देखें |
| क्या क्लोज़ मात्रा स्टेप के हिसाब से नीचे काटी जा रही है | अपेक्षा से ज़्यादा क्लोज़ होना या एरर आना | न्यूनतम लॉट से पोज़िशन खोलकर लॉग देखें |
| न्यूनतम लॉट पर बँटवारे का तरीका तय है या नहीं | हर टिक पर क्लोज़ विफल होना | 0.01 लॉट से आज़माएँ |
| क्या SL प्रतिकूल दिशा में वापस नहीं लौटता | ब्रेकईवन SL के बाद भी नुकसान में क्लोज़ होना | लॉग में SL का समयानुसार बदलाव देखें |
| क्या SL बदलते समय TP मिट तो नहीं रहा | टेक प्रॉफिट काम नहीं करता | बदलाव के बाद पोज़िशन का TP कॉलम देखें |
| पार्शियल क्लोज़ विफल होने पर क्या SL नहीं हिलता | बचे वॉल्यूम और SL की धारणाएँ बेमेल हो जाना | मार्केट बंद होने से ठीक पहले ऑर्डर भेजकर विफलता करवाएँ |
| क्या नेटिंग अकाउंट पर तो नहीं चला रहे | दूसरे EA की पोज़िशन के साथ जुड़ जाना | अकाउंट का प्रकार जाँचें |
यूज़र के नज़रिए से सबसे तेज़ जाँच यह है कि डेमो अकाउंट पर न्यूनतम लॉट से चलाएँ और बीच में EA को दोबारा अटैच करके देखें कि व्यवहार बदलता तो नहीं। सेटिंग की बुनियादी बातें EA सेटअप गाइड में दी गई हैं।
सीमाएँ और सावधानियाँ
स्ट्रैटेजी टेस्टर में एक्ज़ीक्यूशन तुरंत होता है और ऑर्डर का सिर्फ़ एक हिस्सा भरे जाने जैसी स्थिति लगभग कभी नहीं बनती। इसलिए पार्शियल क्लोज़ से जुड़े बग बैकटेस्ट के आँकड़ों में लगभग दिखते ही नहीं। लाइव अकाउंट में फिलिंग मोड के अंतर और रीक्वोट के समय का व्यवहार हर ब्रोकर पर अलग से जाँचना ही पड़ता है, यही ईमानदार स्थिति है।
यह भी नहीं कि पार्शियल क्लोज़ जोड़ने से नतीजे बेहतर ही होते हैं। कम जीत-दर वाली और कुछ बड़े मुनाफ़ों के सहारे चलने वाली ट्रेंड-फॉलोइंग रणनीतियों में (जैसे DONCHIAN ENGINE की बैकटेस्ट जीत-दर 34.5% है), मुनाफ़ा बढ़ने वाले दौर में ही मात्रा घट जाती है, जिससे एक्सपेक्टेंसी गिर सकती है। लाभ-हानि का उतार-चढ़ाव छोटा होता है, पर बदले में क्या खोया जाता है, यह हर EA पर अलग से जाँचे बिना पता नहीं चलता। हमने भी सभी संयोजनों को जाँचा नहीं है।
DONCHIAN ENGINE जैसी रणनीति में अगर आप खुद बाद में पार्शियल क्लोज़ जोड़ते हैं, तो ध्यान रखें कि मूल सत्यापन के नतीजे अब ज्यों के त्यों लागू नहीं रहेंगे।
सारांश
- पार्शियल क्लोज़ और ट्रेलिंग साथ चलाने पर लॉजिक से ज़्यादा "स्टेट के हस्तांतरण" में गड़बड़ी होती है
- पार्शियल क्लोज़ का चरण मेमोरी फ्लैग से नहीं, डील हिस्ट्री और बचे वॉल्यूम से तय करें
- लॉट को स्टेप के हिसाब से नीचे काटें और देखें कि बचा वॉल्यूम न्यूनतम लॉट से कम न हो
- SL में बदलाव एक ही जगह करें, सिर्फ़ अनुकूल दिशा में खिसकाएँ और TP को न मिटाएँ
- बैकटेस्ट में ये बग कम दिखते हैं, इसलिए डेमो अकाउंट पर री-अटैच टेस्ट करें
- पार्शियल क्लोज़ लाभ-हानि का उतार-चढ़ाव घटाता है, पर एक्सपेक्टेंसी भी घटा सकता है
EA के इम्प्लीमेंटेशन से जुड़ी अन्य सावधानियाँ EA और MT5 ज्ञान-भंडार में भी संकलित हैं।
संबंधित
2026-10-29
MQL5 में OnTick और OnTimer: EA डिज़ाइन में उपयोग
2026-11-07
स्टॉप लेवल और फ्रीज़ लेवल: SL न लगने का असली कारण
2026-11-01
क्लोज़्ड बार पर चलने वाले EA रीपेंट क्यों नहीं करते
2026-10-21
मोंटे कार्लो टेस्ट से DD में किस्मत की रेंज मापें
📧 मुफ़्त ईमेल कोर्स (8 ईमेल) + केवल सब्सक्राइबर्स के लिए 13 MT5 इंडिकेटर का पैक
* गोपनीयता कड़ाई से संरक्षित। आप किसी भी समय सदस्यता समाप्त कर सकते हैं।
EA या फ़ॉरेक्स के बारे में कोई सवाल है?
आप इसे Nattzy के ट्रेडिंग फ़ोरम पर पूछ सकते हैं (मुफ़्त पंजीकरण)। इस लेख से हटकर सवाल भी पूछ सकते हैं — जैसे EA की सेटिंग या ब्रोकर का चुनाव।
Nattzy पर पूछें ↗