MT4 گولڈ EA ویک اینڈ پر لاگ نہیں دیتا، کیا یہ رک گیا ہے؟ پہلے کوٹ اور ٹائمر ایونٹ میں فرق کریں
OnTick چارٹ کی علامت کی نئی کوٹ پر منحصر ہے، OnTimer کے لیے پروگرام کو سبسکرائب کرنا ضروری ہے۔ ایونٹ انٹری، لاگ کی جگہ اور دوبارہ ابتدا کے ریکارڈ کے مطابق جانچ کریں، مارکیٹ بند ہونے پر آؤٹ پٹ نہ ہونے کو براہ راست خرابی قرار دینے سے بچیں۔
مصنف: تھامس|MT4 عملی امور|14 نومبر 2026
خلاصہ: ویک اینڈ پر ٹرمینل کھولنے پر EA کا انٹرفیس موجود ہو مگر طویل عرصے تک نیا لاگ نہ آئے، صرف اس علامت سے یہ نہیں کہا جا سکتا کہ پروگرام رک گیا ہے۔ جانچ کے لیے پہلے یہ واضح کریں کہ پروگرام کس ایونٹ سے متحرک ہوتا ہے، آیا واقعی اسی انٹری پر لاگ پرنٹ ہوگا، پھر ٹرمینل کی حالت چیک کریں۔ یہ مضمون لائیو آرڈر کے ذریعے پروگرام آزماتا نہیں، اور فلو چارٹ کو کسی EA کے ٹیسٹ پاس ہونے کا ثبوت نہیں بناتا۔
نئی کوٹ نہ ہو تو کوٹ ایونٹ واقع نہیں ہو سکتا
MetaQuotes کی سرکاری MQL4 دستاویز کے مطابق، EA کے منسلک چارٹ کی علامت کو نئی کوٹ ملنے پر ہی متعلقہ NewTick ایونٹ پیدا ہوتا ہے اور درست طور پر اعلان کردہ OnTick ہینڈلر فنکشن کال ہوتا ہے۔ اگر پروگرام جانچ اور لاگ دونوں اسی انٹری میں لکھتا ہے، تو نئی کوٹ نہ ہونے کے دورانیے میں نئے اجرا کا ریکارڈ نہیں ہو سکتا۔
اس کا مطلب یہ نہیں کہ ہر EA کو کوٹ کا انتظار کرنا ضروری ہے۔ پروگرام ٹائمر یا چارٹ ایونٹ جیسی انٹریاں بھی استعمال کر سکتا ہے۔ لہٰذا "ویک اینڈ" دیکھ کر ہر خاموشی کی ایک ہی طرح تشریح نہیں کی جا سکتی، اور کسی دوسری علامت کے اب بھی اپ ڈیٹ ہونے کو موجودہ گولڈ چارٹ کے کوٹ ملنے کا ثبوت نہیں سمجھا جا سکتا۔
پہلے پہچانیں کہ پروگرام کس ایونٹ کا انتظار کرتا ہے

تصویر اصل فلو تدریسی خاکہ ہے، حقیقی مارکیٹ نہیں، اور کوئی حقیقی ٹریڈنگ اکاؤنٹ بھی نہیں دکھایا گیا۔ پہلا راستہ چارٹ کی علامت کی نئی کوٹ پر منحصر ہے؛ دوسرا راستہ پروگرام کے کامیاب ٹائمر سبسکرپشن پر منحصر ہے۔ ٹائمر ایونٹ جانچ منطق کو متحرک کر سکتا ہے، مگر اس کا مطلب یہ نہیں کہ موجودہ مارکیٹ میں ٹریڈ ہو سکتی ہے، پروگرام کو پھر بھی ٹریڈنگ شرائط اور ڈیٹا کی درستگی کی تصدیق کرنی ہوگی۔
سرکاری سفارش ہے کہ ابتدا کے وقت ٹائمر سبسکرائب کیا جائے اور ان انسٹال کے وقت منسوخ کیا جائے۔ صرف OnTimer فنکشن لکھنا، مگر سبسکرائب نہ کرنا، یہ ثابت نہیں کرتا کہ یہ دوری طور پر چلے گا۔ فنکشن کا نام، پیرامیٹرز اور ریٹرن ٹائپ بھی ایونٹ ہینڈلنگ کی شرائط کے مطابق ہونے چاہئیں، کوئی بھی ہجے کی غلطی متوقع انٹری کو کال نہ ہونے کا سبب بن سکتی ہے۔
عام صارف مرحلہ وار کیسے جانچ کرے
پہلے اکاؤنٹ، سرور، چارٹ کی علامت کا نام اور موجودہ کنکشن کی حالت چیک کریں، تصدیق کریں کہ درست ٹرمینل دیکھا جا رہا ہے۔ آخری کوٹ کا وقت اور پلیٹ فارم کا ٹریڈنگ وقت ریکارڈ کریں، کمپیوٹر کی گھڑی کو سرور مارکیٹ وقت کا متبادل نہ بنائیں۔ ویک اینڈ پر معمول کی بندش کا مطلب یہ بھی نہیں کہ دیگر مصنوعات کے ٹریڈنگ شیڈول بالکل یکساں ہیں، مخصوص پلیٹ فارم کے اعلان کو معیار بنائیں۔
پھر Experts اور Journal وغیرہ کے متعلقہ لاگ دیکھیں، آخری چند ابتدا، ان انسٹال یا غلطی کے ریکارڈ محفوظ کریں۔ لاگ فلٹر، تاریخ اور یہ کہ آیا دوسرا ٹرمینل دیکھا گیا، پر توجہ دیں۔ اگر EA خود صرف ٹریڈنگ شرائط پوری ہونے پر پرنٹ کرتا ہے، تو نیا ریکارڈ نہ ہونا صرف پرنٹ کی شرط پوری نہ ہونے کا نتیجہ ہو سکتا ہے، اس سے یہ ثابت نہیں ہوتا کہ پروگرام کبھی چلا ہی نہیں۔
اس کے بعد چیک کریں کہ EA کی تفصیل میں دوری جانچ، ہارٹ بیٹ آؤٹ پٹ یا ویک اینڈ مینٹیننس میکانزم شامل ہے یا نہیں۔ سورس کوڈ نہ ہو تو ورژن، پیرامیٹرز، چارٹ کی علامت، آخری کوٹ کا وقت اور لاگ فراہم کنندہ کو جانچ کے لیے دیں، یہ قیاس نہ کریں کہ تمام مصنوعات ایک ہی ایونٹ ڈھانچہ استعمال کرتی ہیں۔
سورس کوڈ ہو تو پہلے کیا تصدیق کریں
ڈیمو ماحول میں OnInit، OnTick، OnTimer وغیرہ انٹریوں کے اعلانات اور ضروری سبسکرپشن کی تصدیق کریں، اور مناسب تعدد کے تشخیصی لاگ سے حقیقی راستہ یقینی بنائیں۔ لاگ میں ایونٹ کی قسم، علامت اور ڈیٹا کا وقت ریکارڈ کیا جا سکتا ہے، صرف "نارمل" لکھ کر قابلِ جانچ سیاق و سباق کے بغیر نہ چھوڑیں۔ اکاؤنٹ پاس ورڈ یا دیگر اسناد تشخیصی آؤٹ پٹ میں نہ لکھیں۔
ٹرمینل کا چلنا، چارٹ کا لوڈ ہونا، ایونٹ کا متحرک ہونا اور ٹریڈ کا اجرا مختلف سطحیں ہیں۔ ٹائمر کا آؤٹ پٹ جاری رہنا نہ مارکیٹ کی تازگی ثابت کرتا ہے، نہ یہ کہ آرڈر لازماً بھیجا جا سکتا ہے۔ کوٹ ایونٹ متحرک نہ ہو تو ٹریڈنگ اجازت میں نرمی یا آرڈر بار بار جمع کر کے یہ جانچنا کہ پروگرام زندہ ہے یا نہیں، بالکل نہیں کرنا چاہیے۔
بار بار ٹائم فریم تبدیل کرنا جانچ میں خلل کیوں ڈال سکتا ہے
سرکاری دستاویز کے مطابق، چارٹ کی علامت یا ٹائم فریم کی تبدیلی، ان پٹ پیرامیٹرز کی تبدیلی، ان انسٹال اور دوبارہ ابتدا کا سبب بنتی ہے۔ بار بار تبدیلی اصل مسئلے کو نئی ابتدا کے عمل سے چھپا سکتی ہے، اور پروگرام کی دوبارہ لوڈنگ کی حالت کو متحرک کر سکتی ہے۔ پہلے لاگ اور پیرامیٹرز محفوظ کریں، پھر ہدایات کے مطابق محفوظ ماحول میں تصدیق کریں، نہ کہ EA کو بار بار دوبارہ منسلک کر کے دیکھیں کہ کیا یہ کبھی کبھار بحال ہوتا ہے۔
مختلف EA میں پوزیشن کی بحالی، متغیرات کی پائیداری اور بار بار آرڈر سے تحفظ کی تنفیذ مختلف ہے۔ یہ مضمون دوبارہ لوڈنگ کی حفاظت کی ضمانت نہیں دیتا، اور حقیقی ایکسپوژر موجود ہونے پر بغیر سوچے سمجھے ان انسٹال یا ری اسٹارٹ کی سفارش نہیں کرتا۔ کسی بھی مینٹیننس عمل سے پہلے واضح کریں کہ پوزیشن کون سنبھال رہا ہے۔
کیسے جانیں کہ جانچ مکمل ہو گئی
اگر تصدیق ہو جائے کہ موجودہ علامت کی نئی کوٹ نہیں، منطق صرف کوٹ انٹری میں ہے، اور کوئی دیگر غلطی کا ثبوت نہیں، تو اسے مارکیٹ کے انتظار کے طور پر ریکارڈ کیا جا سکتا ہے، نہ کہ یہ اعلان کہ پروگرام ٹھیک ہو گیا۔ اگر ٹائمر انٹری کو چلنا چاہیے تھا مگر مسلسل آؤٹ پٹ نہیں، تو سبسکرپشن، ابتدا کے نتائج اور پروگرام کی غلطیوں کی جانچ جاری رکھیں، مارکیٹ بند ہونے سے ہر چیز کی تشریح نہ کریں۔
کوٹ بحال ہونے کے بعد بھی پہلے ٹائم اسٹیمپ اور حالت کی تصدیق کریں، پھر یقینی بنائیں کہ پروگرام نئے ایونٹ کو متوقع طور پر سنبھالتا ہے۔ ایونٹ کی بحالی یہ ثابت نہیں کرتی کہ ٹریڈنگ حکمت عملی میں منافع کا فائدہ ہے، آرڈر پھر بھی اسپریڈ، سلپیج اور اجرا کے خطرے کا سامنا کرتا ہے۔ جانچ کا مقصد یہ معلوم کرنا ہے کہ پروگرام دراصل کس سطح پر رکا ہے، نہ کہ لائیو ٹریڈ کے خطرے سے جواب حاصل کرنا۔