ساخت ربات معاملهگر با هوش مصنوعی: چه چیزی واقعی است و از کجا شروع کنیم؟
فهرست مطالب
فهرست مطالب
«ربات هوش مصنوعی» در بیشتر تبلیغها همان اکسپرت معمولی با قانونهای ثابت است که اسم تازه گرفته. ساخت ربات معاملهگری که واقعاً از یک مدل یادگیری ماشین استفاده کند ممکن است و متاتریدر ۵ اجرای چنین مدلی را در خود زبان MQL5 پشتیبانی میکند. ولی این ربات هم سود تضمینشده ندارد و ساختنش از یک اکسپرت قانونمحور سختتر است.
این راهنما سه معنای «هوش مصنوعی» در ربات معاملهگر را از هم جدا میکند، مراحل ساخت ربات مبتنی بر مدل را میگوید و خطرهایی را نام میبرد که در تبلیغها گفته نمیشود.
سه چیزی که «ربات هوش مصنوعی» نامیده میشود
| نوع | چطور تصمیم میگیرد؟ | نکته |
|---|---|---|
| اکسپرت قانونمحور | با شرطهای ثابتی که برنامهنویس نوشته، مثلاً تقاطع دو میانگین متحرک | بیشتر رباتهای فروشی همیناند. هوش مصنوعی ندارند و این عیب هم نیست: منطقشان روشن و آزمودنی است. |
| ربات با مدل یادگیری ماشین | مدلی که روی دادههای گذشته آموزش دیده، مثلاً احتمال بالا رفتن قیمت در چند کندل بعد را حدس میزند | ساختنی است. مهمترین خطرش این است که مدل گذشته را حفظ کند و در آینده کار نکند. |
| کدی که ChatGPT نوشته | خود ربات معمولاً قانونمحور است؛ فقط کدش را یک مدل زبانی نوشته | کد باید خطبهخط خوانده و آزموده شود، چون اشتباههایش بیصدا هستند. |
حالت چهارمی هم تبلیغ میشود: مدل زبانی که برای هر معامله «فکر میکند» و تصمیم میگیرد. چنین رباتی کند است، برای یک ورودی یکسان همیشه یک جواب نمیدهد و آزمودنش روی دادههای گذشته تقریباً ناممکن است. پس پیش از پرداخت برای آن، همین را از فروشنده بپرسید: چطور آزموده شده است؟
ربات یادگیری ماشین در متاتریدر ۵ چطور ساخته میشود؟
- هدف را دقیق تعریف کنید. «بازار را پیشبینی کن» هدف نیست. «آیا قیمت در چهار کندل بعد دستکم ۱۰ پیپ بالاتر از قیمت فعلی است؟» هدف است.
- ورودیها را بسازید. مثلاً بازده چند کندل قبل، فاصلهٔ قیمت از میانگین متحرک، ATR و ساعت روز. فقط چیزی که در لحظهٔ تصمیم واقعاً در دسترس است.
- مدل را بیرون از متاتریدر آموزش دهید، معمولاً با پایتون. داده را به ترتیب زمان به سه بخش جدا کنید: آموزش، تنظیم و آزمون. هیچوقت دادهها را بههم نزنید، وگرنه مدل از آینده خبر دارد.
- مدل را با قالب ONNX ذخیره کنید. این قالب باز را میشود مستقیم در MQL5 بار کرد.
- مدل را در اکسپرت بار کنید. در MQL5 تابعهای
OnnxCreateوOnnxRunبرای همیناند و شکل ورودی و خروجی باOnnxSetInputShapeوOnnxSetOutputShapeتعیین میشود. ورودیها باید دقیقاً به همان شکلی ساخته شوند که هنگام آموزش ساخته شدند. - قانونهای معامله را دور خروجی مدل بنویسید. مدل فقط سیگنال میدهد. حد ضرر، حجم معامله و شرطهایی مثل فیلتر اسپرد و ساعت خبر هنوز کار اکسپرت است. حجم را میشود با روش محاسبهٔ حجم بر اساس ریسک تعیین کرد.
- بیازمایید. اول در Strategy Tester روی بخشی از داده که مدل هرگز ندیده (مستندات MQL5 آزمون مدلهای ONNX در تستر را پشتیبانی میکند)، بعد چند هفته روی حساب دمو. روش آزمون در راهنمای بک تست در متاتریدر ۵ آمده است.
متاتریدر ۴ چنین تابعهایی ندارد و برای اجرای مدل باید سراغ DLL بیرونی رفت، که هم پیچیدهتر است و هم برای فروش و نصب دردسر دارد. برای ربات مبتنی بر مدل، متاتریدر ۵ انتخاب طبیعی است.
خطرهایی که در تبلیغ ربات هوش مصنوعی گفته نمیشود
- حفظ کردن گذشته (بیشبرازش): مدل الگوهای تصادفی دادههای قدیمی را یاد میگیرد. بکتست عالی است و معاملهٔ واقعی ضعیف.
- نشت اطلاعات از آینده: مثلاً استفاده از قیمت بسته شدن کندلی که هنوز بسته نشده است. این اشتباه نتیجهٔ آزمون را بهطور ساختگی خوب نشان میدهد.
- عوض شدن رفتار بازار: مدلی که روی ماههای آرام آموزش دیده، در دورهٔ خبر و نوسان شدید رفتار دیگری دارد.
- هزینهٔ معامله: اسپرد و لغزش، سود پیشبینیهای کوچک را میخورند. پیشبینیای که ۵۲ درصد درست است، بعد از هزینه ممکن است ضررده باشد.
- جعبهٔ سیاه: معلوم نیست مدل چرا خرید کرد. وقتی ربات ضرر میدهد، پیدا کردن علت سختتر از یک اکسپرت قانونمحور است.
کمیسیون معاملات آتی کالای آمریکا هم در راهنمای کلاهبرداری فارکس همین هشدار را دربارهٔ برنامههای معاملهٔ خودکار و رباتهایی که «فوقهوشمند» معرفی میشوند داده است: حتی اگر با رفتار گذشتهٔ بازار جور شده باشند، راهی نیست که بدانیم همان شرایط ادامه پیدا میکند، و نتیجهٔ گذشته تضمین آینده نیست.
کد نوشتهشده با ChatGPT: کجا کمک میکند و کجا نه
مدلهای زبانی پیشنویس اولیهٔ یک اکسپرت را سریع مینویسند و برای فهمیدن یک تابع یا یک خطای کامپایل کمک خوبیاند. ولی کدشان این اشتباههای رایج را دارد:
- قاطی کردن MQL4 و MQL5، مثلاً به کار بردن شکل قدیمی
OrderSendمتاتریدر ۴ در کد متاتریدر ۵؛ - نسنجیدن نتیجهٔ ارسال سفارش و نادیده گرفتن خطاها؛
- نادیده گرفتن ویژگیهای نماد، مثل گام حجم، کمترین فاصلهٔ حد ضرر و ساعت معامله؛
- در نظر نگرفتن فرق حساب نتینگ و هجینگ در متاتریدر ۵.
قاعدهٔ ساده: کدی که خودتان نمیتوانید بخوانید، روی حساب واقعی اجرا نکنید. اول کامپایل، بعد خواندن خطبهخط، بعد آزمون در تستر و دمو.
کدام راه برای شما مناسب است؟
- استراتژی روشن و قانونمند دارید؟ اکسپرت قانونمحور سادهتر، شفافتر و ارزانتر است و هر تصمیمش قابل توضیح است.
- داده و ایدهٔ مدل دارید؟ ربات مبتنی بر مدل در متاتریدر ۵ ساختنی است، ولی کار و آزمون بیشتری میخواهد.
- فقط دنبال رباتی هستید که «خودش سود کند»؟ چنین رباتی، با هوش مصنوعی یا بی آن، وجود ندارد. پیش از نصب هر ربات آماده، خطرها و آزمونهای ربات فارکس رایگان را بخوانید.
برای ساخت ربات اختصاصی، چه قانونمحور و چه مبتنی بر مدل، شرح استراتژی یا مدلتان را از صفحهٔ سفارش اکسپرت متاتریدر ۵ بفرستید تا بررسی شود چه چیزی ساختنی است. اگر کار با متاتریدر ۴ است، از صفحهٔ سفارش متاتریدر ۴. توضیح پایهای رباتها هم در ربات فارکس چیست آمده است.
معامله در فارکس و طلا ریسک از دست دادن سرمایه دارد و این مطلب پیشنهاد سرمایهگذاری نیست.
دیدگاه خود را بنویسید