
ساخت اکسپرت با هوش مصنوعی یعنی تبدیل قوانین مشخص یک استراتژی به کدی که در متاتریدر اجرا میشود. شما ورود، خروج و محدودیتهای معامله را توضیح میدهید و ابزار تولید کد، نسخه اولیه اکسپرت را آماده میکند. این کار نوشتن نسخه اولیه را سادهتر میکند؛ کیفیت نهایی به وضوح قواعد، بررسی کد و آزمایش وابسته است. در این راهنما مسیر ساخت یک ربات معاملاتی برای متاتریدر ۴ و ۵ را قدمبهقدم مرور میکنیم.
اکسپرت چیست و هوش مصنوعی چه نقشی دارد؟
اکسپرت ادوایزر یا Expert Advisor برنامهای است که میتواند طبق قواعد نوشتهشده، شرایط بازار را بررسی و سفارش معاملاتی ارسال یا مدیریت کند. اندیکاتور معمولاً داده یا سیگنال را روی نمودار نمایش میدهد؛ برای اجرای خودکار سفارش باید منطق معامله نیز پیادهسازی شود. پیش از ساخت، مشخص کنید خروجی شما یک اندیکاتور، ابزار مدیریت معامله یا اکسپرت خودکار است.
در ساخت اکسپرت با هوش مصنوعی، مدل به نوشتن و اصلاح کد کمک میکند. این مفهوم با رباتی که هنگام معامله از یک مدل یادگیری ماشین پیشبینی میگیرد تفاوت دارد. اگر استراتژی شما تقاطع دو میانگین است، خروجی میتواند یک اکسپرت با قواعد ثابت باشد؛ حتی اگر کد آن با کمک هوش مصنوعی نوشته شده باشد.
مرحله ۱: قوانین استراتژی را دقیق بنویسید
عبارتهایی مثل «در روند خوب خرید کن» برای برنامهنویسی کافی نیستند. نماد، تایمفریم، شرط ورود و زمان ارزیابی سیگنال را مشخص کنید. آیا تقاطع روی کندل بستهشده معتبر است یا درون کندل؟ ورود فقط با اولین سیگنال انجام میشود یا در هر تیک امکان تکرار دارد؟ همین جزئیات از باز شدن سفارشهای ناخواسته جلوگیری میکنند.
- بازار و نماد: نام دقیق نماد در بروکر و تایمفریم بررسی سیگنال.
- ورود: شرط خرید و فروش، کندل مورد بررسی و تعداد مجاز معاملات همزمان.
- خروج: حد ضرر، حد سود، خروج با سیگنال مخالف و رفتار تریلینگ در صورت نیاز.
- حجم: روش تعیین حجم، حداقل و حداکثر حجم مجاز و رفتار هنگام کمبود مارجین.
- محدودیت اجرا: ساعات فعالیت، سقف اسپرد و رفتار هنگام قطع اتصال یا خطای سفارش.
مرحله ۲: متاتریدر ۴ یا ۵ را انتخاب کنید
برای متاتریدر ۴ از MQL4 و برای متاتریدر ۵ از MQL5 استفاده میشود. این دو زبان شباهت دارند، اما رابط معامله و نحوه کار با اندیکاتورها یکسان نیست. تغییر پسوند فایل، کد یک پلتفرم را به دیگری تبدیل نمیکند. از ابتدا نسخه متاتریدر و نوع حساب مورد استفاده را در شرح پروژه بیاورید.
در متاتریدر ۵ رفتار اکسپرت باید با حساب netting یا hedging هماهنگ باشد. در حساب netting، معاملات یک نماد در یک موقعیت خالص جمع میشوند؛ در hedging امکان نگهداری چند موقعیت مستقل وجود دارد. اگر مدیریت چند معامله بخشی از منطق شماست، بررسی این تفاوت را به مرحله آخر موکول نکنید.
مرحله ۳: یک دستور فارسی قابل بررسی آماده کنید
این نمونه صرفاً برای توضیح ساختار درخواست است و توصیه معاملاتی یا ادعای سودآوری نیست. مقادیر و قواعد آن باید متناسب با هدف آزمایش شما تعیین و ارزیابی شوند.
«برای MetaTrader 5 یک اکسپرت MQL5 بساز. روی تایمفریم H1 فقط ابتدای کندل جدید، دو کندل بستهشده قبلی را بررسی کن. وقتی EMA 20 از پایین EMA 50 عبور کرد و هیچ موقعیت متعلق به این اکسپرت روی نماد باز نبود، یک خرید با حجم ورودی کاربر باز کن. حد ضرر و حد سود به پوینت و سقف اسپرد از ورودیها قابل تنظیم باشند. برای سفارشها Magic Number اختصاصی بگذار. خطای ارسال سفارش را ثبت کن، از ارسال تکراری جلوگیری کن و فرضیات مبهم را پیش از تولید کد بپرس.»
در ایران MQL میتوانید شرح فارسی را به سازنده بدهید و خروجی مناسب پلتفرم را انتخاب کنید. پیش از تأیید کد، خلاصه قواعد را با متن اولیه مقایسه کنید. اگر منطق شما پیچیده است، مسیر سفارش برنامهنویسی اختصاصی را برای بررسی جزئیات پروژه در نظر بگیرید.
مرحله ۴: کد تولیدشده را کامپایل و بازبینی کنید
کامپایل موفق نشان میدهد کد از نظر قواعد زبان قابل ساخت است؛ ثابت نمیکند سفارشها دقیقاً مطابق استراتژی اجرا میشوند. گزارش کامپایل، ورودیها، مدیریت خطا و بخش ارسال سفارش را بررسی کنید. اکسپرت باید معاملات خودش را از سفارشهای دستی یا سایر رباتها تشخیص دهد.
- فاصله قیمتها با دقت نماد و تفاوت پوینت و پیپ هماهنگ باشد.
- حجم با حداقل حجم، حداکثر حجم و گام حجم نماد سازگار باشد.
- نتیجه ارسال، اصلاح و بستن سفارش بررسی و خطاها ثبت شوند.
- در هر بار اجرای رویداد، معامله ناخواسته یا تکراری ایجاد نشود.
- راهاندازی مجدد اکسپرت باعث از دست رفتن کنترل موقعیتهای قبلی نشود.
مرحله ۵: بکتست اکسپرت را با تنظیمات روشن انجام دهید
برای آزمایش کد متاتریدر، Strategy Tester همان پلتفرم را به کار ببرید. نماد، بازه زمانی، تایمفریم، ورودیهای اکسپرت، نوع مدلسازی قیمت و شرایط هزینه را ثبت کنید. حالتهای تست از نظر جزئیات داده متفاوتاند؛ حالتی را انتخاب کنید که برای منطق ربات مناسب باشد. استراتژی حساس به تغییرات درون کندل با آزمایش صرفاً روی قیمت بازشدن کندل ارزیابی کاملی نمیشود.
سود خالص را همراه با افت سرمایه، تعداد معاملات، هزینهها و توزیع نتایج ببینید. نتیجه یک بازه کوتاه یا چند معامله، تصویر کافی از رفتار سیستم نمیدهد. آزمایشگاهی که با موتور یا داده متفاوت کار میکند ممکن است خروجی متفاوتی از Strategy Tester داشته باشد؛ نام موتور و فرضیات را در هر گزارش ثبت کنید.
مرحله ۶: از بیشبرازش و خطای نگاه به آینده دوری کنید
اگر پارامترها را بارها روی یک بازه تغییر دهید تا نمودار زیبا شود، ممکن است فقط با گذشته سازگار شده باشند. بخشی از داده را برای ارزیابی خارج از نمونه کنار بگذارید و پس از انتخاب تنظیمات، آن بخش را جداگانه بررسی کنید. تغییر کوچک پارامترها و دورههای متفاوت بازار نیز میتوانند حساسیت استراتژی را نشان دهند.
مطمئن شوید تصمیم ورود به اطلاعاتی وابسته نیست که در زمان معامله هنوز در دسترس نبوده است. برای مثال، استفاده اشتباه از قیمت بستهشدن کندلی که هنوز تمام نشده میتواند نتایج را گمراهکننده کند. اندیکاتورهایی که سیگنال گذشته را تغییر میدهند نیز به بررسی جداگانه نیاز دارند.
مرحله ۷: اجرای دمو و پایش رفتار واقعی
پس از تست تاریخی، اکسپرت را در حساب دمو با تنظیمات ثبتشده اجرا کنید. زمان سیگنال، سفارشهای ثبتشده، اسپرد و پیامهای خطا را با انتظار خود مقایسه کنید. قطع اتصال، راهاندازی مجدد و تغییر شرایط نماد را نیز بررسی کنید. بکتست، هوش مصنوعی و تست دمو هیچکدام سود آینده را تضمین نمیکنند.
چه زمانی سفارش اکسپرت اختصاصی مناسبتر است؟
وقتی منطق چندنمادی، اتصال به سرویس بیرونی، مدیریت چند حساب یا قواعد پیچیده خروج دارید، ابتدا شرح فنی پروژه را روشن کنید. کیفیت تحویل را با معیارهای قابل بررسی بسنجید: فایل سورس مورد توافق، ورودیهای مستند، گزارش خطا، سناریوهای آزمایش و سازگاری با نسخه متاتریدر. هزینه و زمان اجرا به دامنه همین جزئیات وابسته است.
پرسشهای رایج ساخت اکسپرت با هوش مصنوعی
آیا بدون دانش برنامهنویسی میتوان اکسپرت ساخت؟
برای توضیح ایده و تولید نسخه اولیه میتوانید از زبان فارسی استفاده کنید. برای ارزیابی خروجی باید منطق معامله، تنظیمات تست و گزارشها را بفهمید؛ در پروژههای پیچیده، بازبینی توسعهدهنده کمککننده است.
آیا اکسپرت MQL4 مستقیماً در متاتریدر ۵ اجرا میشود؟
خیر. خروجی باید برای پلتفرم مقصد ساخته و کامپایل شود. انتقال از MQL4 به MQL5 به بررسی رابط سفارشها، اندیکاتورها و نوع حساب نیاز دارد.
آیا بکتست مثبت برای اجرای واقعی کافی است؟
خیر. کیفیت داده، هزینه اجرا، رفتار خارج از نمونه و اجرای دمو را هم بررسی کنید. سود گذشته تضمین عملکرد آینده نیست.
از کجا شروع کنم؟
ابتدا یک استراتژی ساده را با قواعد روشن بنویسید، پلتفرم را انتخاب کنید و یک پروژه در ایران MQL بسازید. برای منطق اختصاصی نیز از صفحه سفارش اکسپرت شرح پروژه را ارسال کنید.