MT4 EA ত্রুটি 130 কীভাবে তদন্ত করবেন? স্টপ-লস দূরত্ব থেকে ডাইনামিক সীমা পর্যন্ত চার-ধাপ পদ্ধতি
মূল হালকা নীল ফ্লোচার্ট ব্যবহার করে ধাপে ধাপে MT4 EA-এর ERR_INVALID_STOPS তদন্ত করুন: লগ, কোটেশন নির্ভুলতা, MODE_STOPLEVEL এবং ডাইনামিক সীমা, স্টপ-লস শিথিল করে ঝুঁকি ঢেকে না রেখে।
লেখক: টমাস|EA ও MT4 ব্যবহারিক|2026年10月20日
EA ইতিমধ্যে চার্টে সংযুক্ত হয়েছে, স্বয়ংক্রিয় ট্রেডিংও চালু হয়েছে, কিন্তু অর্ডার জমা দেওয়ার সময় "130" দেখা দিলে সাধারণত মনে হয় প্রোগ্রামটি সম্পূর্ণ নষ্ট হয়ে গেছে। MQL4 রেফারেন্স ডকুমেন্টে 130 কে ERR_INVALID_STOPS হিসেবে তালিকাভুক্ত করা হয়েছে: অনুরোধে থাকা স্টপ-লস/টেক-প্রফিট, পেন্ডিং অর্ডারের মূল্য বা তার স্বাভাবিকীকরণের পদ্ধতি ট্রেডিং সার্ভার গ্রহণ করেনি। এটি একটি সনাক্তকরণ সূত্র, অন্ধভাবে স্টপ-লস শিথিল করার অনুমতির কারণ নয়। এই নিবন্ধে চার-ধাপ তদন্ত পদ্ধতিতে ব্যাখ্যা করা হয়েছে কোন রেকর্ডগুলো দেখা উচিত।
প্রথম ধাপ: প্রথমে নির্ধারণ করুন কোন অনুরোধটি ব্যর্থ হয়েছে
MT4 টার্মিনাল বা প্রোগ্রামের সংশ্লিষ্ট লগ খুলুন, ত্রুটিপূর্ণ সার্ভার সময়, প্রতীক, অর্ডারের দিক, অপারেশন OrderSend না OrderModify, এবং প্রত্যাবর্তিত ত্রুটি কোড রেকর্ড করুন। যদি লগে শুধু "অর্ডার ব্যর্থ" লেখা থাকে, প্রথমে EA-কে পাসওয়ার্ড ইত্যাদি সংবেদনশীল ডেটা আউটপুট না করে অনুরোধের মূল্য, স্টপ-লস, টেক-প্রফিট এবং প্রত্যাবর্তন মান রেকর্ড করতে দিন। প্রথমে পজিশন খোলা ব্যর্থ, স্টপ-লস পরিবর্তন ব্যর্থ, পেন্ডিং অর্ডার ব্যর্থ আলাদা করুন; তিনটির মূল্য সম্পর্ক ভিন্নভাবে পরীক্ষা করতে হয়।
লাইভ অ্যাকাউন্টে একই ব্যর্থ অনুরোধ বারবার পাঠিয়ে "ভাগ্য পরীক্ষা" করবেন না। পুনরাবৃত্তি অতিরিক্ত লোড তৈরি করতে পারে, এবং বাজার পরিবর্তনের পর হঠাৎ সফল হয়ে অপ্রত্যাশিত পজিশন তৈরি হতে পারে। প্রথমে ডেমো পরিবেশে পুনরুৎপাদন করুন, এবং প্যারামিটার সংস্করণ ও সেই সময়ের প্ল্যাটফর্ম কোটেশন সংরক্ষণ করুন।
দ্বিতীয় ধাপ: Bid, Ask, Point এবং Digits যাচাই করুন
MQL4-এর MarketInfo বর্তমান প্রতীকের Bid, Ask, Point এবং Digits পড়তে পারে। Point এই কোটেশনের ন্যূনতম প্রদর্শন এককগুলোর একটি প্রতিনিধিত্ব করে, Digits দশমিক স্থানের সংখ্যা নির্দেশ করে; "10 পয়েন্ট" কত ডলার তা নির্ভর করে সেই প্রতীকের প্রকৃত Point-এর উপর, বিভিন্ন ব্রোকারের সোনার কোড ও নির্ভুলতা একসাথে মেশানো যাবে না। মূল্য পাস করার আগে সংশ্লিষ্ট সংখ্যার স্থান অনুযায়ী স্বাভাবিকীকরণও করতে হবে।
উদাহরণ শুধুমাত্র গাণিতিক ইঙ্গিত: যদি কোনো ডেমো প্রতীকের Point 0.01 হয়, ন্যূনতম দূরত্ব 50 পয়েন্ট, গণনা করা দূরত্ব 0.50 কোটেশন একক; Point 0.001 হলে 0.05। সংখ্যাগুলো আজকের কোনো প্রকৃত প্ল্যাটফর্মের চুক্তি নিয়ম প্রতিনিধিত্ব করে না। লগ দেখার সময় একসাথে ক্রয়-বিক্রয় মূল্য সংরক্ষণ করুন, যাতে বিক্রয় মূল্য দিয়ে এমন দিক পরীক্ষা না হয় যেখানে ক্রয় মূল্য দেখা উচিত ছিল, বা উল্টোটা।
তৃতীয় ধাপ: MODE_STOPLEVEL এবং অর্ডার ধরন পরীক্ষা করুন
অফিসিয়াল OrderSend ডকুমেন্টে বলা হয়েছে, স্টপ-লস ও টেক-প্রফিট বাজার মূল্যের খুব কাছাকাছি হতে পারবে না; পেন্ডিং অর্ডারের নির্ধারিত ওপেনিং মূল্যও বর্তমান বাজারের খুব কাছাকাছি হতে পারবে না। MarketInfo(Symbol(),MODE_STOPLEVEL) দিয়ে প্রকাশ্য ন্যূনতম দূরত্ব কোয়েরি করা যায়, একক পয়েন্ট। তারপর অর্ডারটি ক্রয়, বিক্রয় বা কোন ধরনের পেন্ডিং অর্ডার অনুযায়ী, মূল্যের দিক, দূরত্ব ও স্বাভাবিকীকরণ আলাদাভাবে যাচাই করুন, সব অর্ডারে একটি নির্দিষ্ট অফসেট প্রয়োগ করবেন না।

উপরের চিত্রটি মূল প্রবাহের ইঙ্গিত, কোনো প্রকৃত কোটেশন বা অ্যাকাউন্ট তথ্য নেই। ন্যূনতম দূরত্ব শুধুমাত্র সার্ভারের অর্ডার গ্রহণের প্রযুক্তিগত সীমা, কৌশলগতভাবে যুক্তিসঙ্গত স্টপ-লস দূরত্ব নয়। যদি 130 এড়াতে স্টপ-লস দূরে সরিয়ে নেন, মূল পরিকল্পিত একক লেনদেনের ঝুঁকি বেড়ে যাবে; প্রথমে পজিশন পুনরায় গণনা করুন, প্রয়োজনে সেই লেনদেন বাদ দিন।
চতুর্থ ধাপ: 0 প্রত্যাবর্তন করলেও সীমা নেই বলে দাবি করা যাবে না
MQL4-এর অফিসিয়াল MODE_STOPLEVEL বিবরণে বিশেষভাবে সতর্ক করা হয়েছে: 0 প্রত্যাবর্তন মানে নির্দিষ্ট ন্যূনতম দূরত্ব নেই, অথবা সার্ভার টার্মিনাল সরাসরি প্রকাশ করতে না পারা ডাইনামিক সীমা ব্যবহার করছে। পরের ক্ষেত্রে এখনও 130 প্রত্যাবর্তন হতে পারে। তাই "0 পেলে স্টপ-লস মূল্যের সাথে লেগে রাখুন" সঠিক নয়। বাজারে তীব্র পরিবর্তনের সময়, কোটেশন আপডেট, স্প্রেড পরিবর্তন এবং সার্ভার-সাইড নিয়মও পূর্বে গণনা করা দূরত্ব অকার্যকর করতে পারে।
যদি কোডের গণনা সেই সময়ের লগের সাথে মিলে যায়, তবুও 130 আসে, ব্যর্থতার সময়, প্রতীক, অর্ডার প্যারামিটার এবং প্ল্যাটফর্ম সংস্করণ সংরক্ষণ করুন, ব্রোকারের প্রতীক স্পেসিফিকেশন ও অর্ডার সীমা দেখুন, এবং প্ল্যাটফর্মের প্রযুক্তিগত সহায়তা থেকে যাচাই করুন। অন্য প্ল্যাটফর্মের Point ও StopLevel দিয়ে এই অ্যাকাউন্টের নিয়ম অনুমান করবেন না, আরও না স্টপ-লস মুছে দিয়ে প্রকৃত ব্যর্থতার কারণ ঢাকবেন না।
মেরামতের পর যাচাইয়ের ক্রম
প্রথমে ডেমো অ্যাকাউন্টে ন্যূনতম পুনরুৎপাদনযোগ্য কেস চালান: একই প্রতীকে চারটি কোটেশন প্যারামিটার ও StopLevel রেকর্ড করুন, একবার পরীক্ষামূলক অনুরোধ পাঠান, সার্ভারের প্রত্যাবর্তন ও অর্ডার অবস্থা পরীক্ষা করুন। তারপর দ্রুত মূল্য পরিবর্তন বা বিভিন্ন ট্রেডিং সময়ের আচরণ পরীক্ষা করুন। নিশ্চিত করুন প্রোগ্রামে ব্যর্থতার পর থামা বা কুলিং ব্যবস্থা আছে, এবং পুনরায় চেষ্টায় পজিশন পুনরায় খুলবে না। শেষে ঝুঁকি বাজেট, স্প্রেড এবং গ্রহণযোগ্য ক্ষতি মূল পরিকল্পনার সাথে এখনও মেলে কিনা যাচাই করুন।
ত্রুটি 130 তদন্তের মূল বিষয় "অনুরোধ কেন প্রত্যাখ্যাত হয়েছে", "কীভাবে জোর করে সম্পন্ন করানো যায়" নয়। EA-এর চলার ফলাফল কৌশল লজিক, নেটওয়ার্ক এবং প্ল্যাটফর্ম নির্বাহন দ্বারা প্রভাবিত হয়; কোনো মেরামত লাভের নিশ্চয়তা বা ক্ষতি এড়ানোর নিশ্চয়তা দেয় না। লিভারেজ ট্রেডিং বড় ক্ষতি ঘটাতে পারে।