দুটি গোল্ড EA কেন একই অর্ডার পরিচালনা করবে? MT4 ম্যাজিক নম্বর পরীক্ষা করুন
ডেমো অ্যাকাউন্টের উদাহরণ দিয়ে ব্যাখ্যা করা হচ্ছে কীভাবে EA সিম্বল ও ম্যাজিক নম্বর অনুযায়ী অর্ডার ফিল্টার করে, এবং নম্বর পরিবর্তনের পর কীভাবে পুরনো পজিশন ব্যবস্থাপনাহীন হয়ে পড়া এড়ানো যায়।
লেখক: টমাস|MT4 ব্যবহারিক|২০২৬ সালের ১০ নভেম্বর
সারসংক্ষেপ: একই MT4 অ্যাকাউন্টে দুটি গোল্ড EA চালু থাকলে, যদি তারা একই অর্ডার শনাক্তকরণ শর্ত ব্যবহার করে, তাহলে তারা একই অর্ডারের স্টপ লস একসাথে পরিবর্তন করতে পারে। তদন্তের সময় প্রথমে অর্ডারের সিম্বল ও ম্যাজিক নম্বর দেখুন, তারপর কোডটি আসলে কোন শর্ত অনুযায়ী ফিল্টার করে তা দেখুন। নিচের নম্বর ও অর্ডারগুলো সবই শিক্ষামূলক অনুমান।
ম্যাজিক নম্বর কোথায় রেকর্ড হয়
MQL4-এর OrderSend একটি magic প্যারামিটার পাঠাতে সমর্থন করে। অর্ডার সফলভাবে নির্বাচিত হওয়ার পর, OrderMagicNumber দিয়ে সেই অর্ডারের শনাক্তকরণ নম্বর পড়া যায়। এটি প্রোগ্রামকে শ্রেণীবিভাগের ভিত্তি দিতে পারে। কোন কোন অর্ডার পরিবর্তন বা বন্ধ হবে, তা এখনও EA-এর নিজস্ব ফিল্টার ও নির্বাহন লজিক দ্বারা নির্ধারিত হয়। যদি প্রোগ্রাম অ্যাকাউন্টের অর্ডারগুলো পর্যালোচনা করার সময় শুধু সিম্বল পরীক্ষা করে, তাহলে দুটি গোল্ড EA ভিন্ন ম্যাজিক নম্বর দিলেও একই অর্ডারসমূহ প্রক্রিয়া করতে পারে।

চিত্রে ধরা হয়েছে স্ট্র্যাটেজি A ও B যথাক্রমে ১০১ ও ২০২ ব্যবহার করছে। A ট্রেড পুলের অর্ডারগুলো একে একে নির্বাচন করে, প্রথমে প্রকৃত সিম্বল যাচাই করে, তারপর শনাক্তকরণ নম্বর যাচাই করে। দুটোই মিললে তবেই পরবর্তী লজিকের কাছে অর্ডারের ধরন ও অনুমোদিত কার্যক্রম পরীক্ষার জন্য পাঠানো হয়। অর্ডার নির্বাচন ব্যর্থ হলে তা এড়িয়ে যাওয়া ও ত্রুটি লগ করা উচিত। পরিবর্তন জড়িত থাকলে, লক্ষ্য অর্ডার আবার নির্বাচন করা ভালো, যাতে আগে প্রোগ্রামে কপি করা পুরনো ডেটা ব্যবহার না হয়।
ডেমো অ্যাকাউন্টে তিন ধাপে যাচাই করুন
প্রথম ধাপ, দুটি EA-এর সংস্করণ, ইনপুট প্যারামিটার, চার্ট পিরিয়ড এবং ব্রোকারের সিম্বল পূর্ণ নাম রেকর্ড করুন। ভিন্ন অ্যাকাউন্টে গোল্ডের নামে সাফিক্স থাকতে পারে। একই সিম্বলে একাধিক ইনস্ট্যান্স স্থাপন করলে, সেগুলো আসলে স্বতন্ত্রভাবে পরিচালিত হবে নাকি ডিজাইন অনুযায়ী অর্ডার শেয়ার করবে তাও স্পষ্ট করতে হবে।
দ্বিতীয় ধাপ, ডেমো অ্যাকাউন্টে প্রতিটি EA দিয়ে আলাদাভাবে একটি শনাক্তযোগ্য টেস্ট অর্ডার তৈরি করুন, একই সাথে একটি বাদ দেওয়ার মতো টেস্ট অর্ডারও প্রস্তুত রাখুন। লগে অন্তত অর্ডার নম্বর, সিম্বল, ম্যাজিক নম্বর এবং প্রোগ্রাম যে কার্যক্রম সম্পাদন করতে যাচ্ছে তা লিখুন। তারপর একটি নিয়ন্ত্রিত ব্যবস্থাপনা কার্যক্রম ট্রিগার করুন, যেমন স্ট্র্যাটেজি A-এর নিজের টেস্ট অর্ডার পরিবর্তনের চেষ্টা করুন, দেখুন স্ট্র্যাটেজি B-এর অর্ডার আগের মানেই আছে কিনা। পেন্ডিং অর্ডার ও সম্পন্ন পজিশন আলাদাভাবে যাচাই করা ভালো, কারণ ট্রেড পুলে একসাথে এই দুই ধরনের অর্ডার থাকতে পারে, এবং প্রকৃত প্রক্রিয়াকরণ নিয়ম সাধারণত ভিন্ন হয়।
তৃতীয় ধাপ, টার্মিনাল রিস্টার্ট বা EA পুনরায় লোড করার পর আবার পরীক্ষা করুন। যদি প্রোগ্রাম শুধু এই রান চলাকালীন তৈরি অর্ডার তালিকা মনে রাখে, রিস্টার্টের পর আচরণ পরিবর্তিত হতে পারে। এটি নির্ধারিত শর্ত অনুযায়ী অর্ডার পুনরায় শনাক্ত করে কিনা, এবং মিলে যাওয়া অর্ডার না থাকলে অপ্রত্যাশিত কার্যক্রম ঘটে কিনা তা যাচাই করুন। নম্বর শুধু সহায়ক বিচ্ছিন্নতা; অ্যাকাউন্ট-ব্যাপী মোট ঝুঁকি পরীক্ষা যদি ইচ্ছাকৃতভাবে সব পজিশন পড়ে, তাহলে তা প্রকৃত অর্ডার পরিবর্তনের অনুমতি থেকে আলাদাভাবে রেকর্ড করা উচিত।
নম্বর পরিবর্তনের আগে পুরনো অর্ডার আগে সামলান
ধরা যাক স্ট্র্যাটেজি A আগে ১০১ দিয়ে পজিশন খুলেছিল, এখন ৩০৩-এ পরিবর্তন করা হচ্ছে। ইনপুট প্যারামিটার পরিবর্তন সাধারণত শুধু পরবর্তী কোডে ব্যবহৃত মানকে প্রভাবিত করে, পুরনো অর্ডারের শনাক্তকরণ নম্বর চার্ট সেটিংসের সাথে স্বয়ংক্রিয়ভাবে স্থানান্তরিত হয় না। যদি ব্যবস্থাপনা শর্ত শুধু ৩০৩-এর সাথে মেলে, পুরনো ১০১ অর্ডার এড়িয়ে যাওয়া হতে পারে। পরিবর্তনের আগে পুরনো অর্ডার ও পরিকল্পিত প্রক্রিয়াকরণের তালিকা করুন, তারপর ডেমো পরিবেশে রিস্টার্ট ও হস্তান্তর যাচাই করুন। এমন EA-এর ক্ষেত্রে যার সংস্করণ যাচাই করা যায় না বা লগ ফিল্টার লজিক ব্যাখ্যা করতে পারে না, প্রথমে স্বয়ংক্রিয় ব্যবস্থাপনা পরিবর্তন স্থগিত করুন এবং বিদ্যমান পজিশনের প্রস্থান ব্যবস্থা যাচাই করুন। ডেমো পাস শুধু পরীক্ষিত পরিস্থিতি বোঝায়; প্রকৃত কোটেশন পরিবর্তন, সার্ভারের অর্ডার প্রত্যাখ্যান এবং স্লিপেজ আলাদাভাবে মূল্যায়ন করতে হবে।