اکسپرت ( ربات معامله گر ) چیست ؟
اکسپرت ( Expert یا ربات معامله گر ) از نظر لغوی به معنی متخصص و کارشناس در یک رشته است. سازنده پلتفرم متاتریدر و شرکت متاکوتز در نرمافزار متاتریدر امکاناتی ایجاد کرده که از طریق آن معاملهگران بتوانند با نوشتن کدهای قابل اجرا در این نرمافزار استراتژی خود را به برنامهای اجرایی تبدیل کرده تا از آن طریق نرمافزار بر مبنای کدهای نوشته شده، استراتژی ایجاد شده را به صورت دقیق اجرا کند.
ربات فارکس چیست ؟
نرمافزاری که از این پروژه برنامهنویسی حاصل میشود را اکسپرت یا ربات معاملهگر مینامند. باتوجه به روش کاری یا بازاری که در آن فعالیت میکند و همچنین سلیقه طراح آن، نامی برای آن انتخاب میشود. معاملهگران بازار فارکس معمولاً به این نوع نرمافزارها اکسپرت فارکس یا ربات فارکس میگویند.
کار اصلی ربات معامله گر یا اکسپرت
- اکسپرت در واقع تریدها را اتوماتیک کرده و بدین صورت دیگر نیاز به رصد کردن مرتب قیمتها نیست.
- علاوه بر اطلاع دادن فرصتهای معاملاتی به معاملهگر، اکسپرتها میتوانند بهصورت اتوماتیک معاملهها را برای او انجام دهند.
- اکسپرت آپشن نیز یک نمونه از اکسپرت است که در به کاربردن تکنولوژی مردن در تجارت تلاش زیادی میکند. براین اساس، یک پلتفرم پیشرفته به کاربران خود ارائه میدهد.
انواع اکسپرت فارکس
اکسپرتها شامل ۲ دسته میشوند:
-
-
-
- اکسپرتهای تمام اتوماتیک
- اکسپرتهای نیمه اتوماتیک
-
-
اکسپرت تمام اتوماتیک
اکسپرتهای هوشمند یا تمام اتوماتیک همانند اسمشان، تمامی امور تحلیل و بررسی بازار را بهصورت اتوماتیک انجام میدهند. این نوع از اکسپرت اگر فرصت مناسبی بیابد، معامله را انجام میدهد.
نقطه ضعف اکسپرت های اتوماتیک
نکته مهم در مورد این نوع از اکسپرت این است که از اکسپرتهای تمام اتوماتیک باید با احتیاط استفاده شود. زیرا به حساب معاملاتی معاملهگر دسترسی کامل داشته و اگر در عملکرد آن خطایی رخ دهد، امکان ایجاد ضرر زیادی بهحساب او وجود دارد.
اکسپرت نیمه اتوماتیک
اکسپرتهای کاربردی یا نیمه اتوماتیک، معمولاً به عنوان یک ابزار کمکی مورداستفاده قرار میگیرند. مثلاً روش مدیریت سرمایه معاملهگر به این صورت می باشد که نیاز است بعد از ورود به یک معامله تا چند ساعت بازار را رصد کند. در این مرحله اکسپرت وارد عمل شده و معاملهگر ترید اصلی را انجام داده و مدیریت باقی امور را به اکسپرت میسپارد.
فرآیند اکسپرت نویسی در متاادیتور چگونه است؟
بهمنظور نوشتن اکسپرت باید از MetaEditor که یک محیط ویرایش است در پلتفرم متاتریدر استفاده کرد. در بخش نوار ابزار این برنامه میتوانید به متا تریدر دسترسی داشته باشید. همچنین محیط ویرایش آن به محیط ویرایش در زبانهای برنامهنویسی تحت ویندوز شباهت زیادی دارد.
فایلها با فرمتهای Ex4 و EX5 در متاتریدر ۴ یا متاتریدر ۵ قابل اجرا هستند. همچنین این فایلها را باید در مسیر Expert متاتریدر ذخیره و نصب کرد و هنگام نیاز به فراخوانی اکسپرت، از آن استفاده کرد. این نرمافزار دارای زبان برنامهنویسی ویژه خود است به نام MQL4 که برای نرمافزار متاتریدر ۴ که گرامری شبیه به کدهای زبان C و ++C دارد. همچنین نسخه MQL5 برای نرمافزار متاتریدر ۵ مدتی است که در دسترس است.
آیا با متاادیتور می توان نرم افزار های تحت ویندوز یا سایر سیستم های عامل دیگر نوشت ؟
نکته قابل توجه در این مورد این است که این زبانها در تولید نرمافزارهای مانند دیگر زبانها برنامهنویسی برای اجرای تحت ویندوز یا سیستمعاملهای دیگر استفاده نمیشوند و فقط پلتفرمی جهت استفاده در نرمافزار متاتریدر به شمار میآیند. همچنین از طریق استفاده از این زبان میتوانید اندیکاتورهای شخصی و سفارشی با استفاده و اسکریپتهای کاربردی را نیز ایجاد کنید.
مزایای استفاده از اکسپرت در معاملات بورس
ازجمله مزایای استفاده از اکسپرت در بازار فارکس میتوان به موارد زیر اشاره کرد:
- عدم تأثیر از هیجانات روانی در بازار و نوسانات قیمت
- انجام سریع محاسبههای ریاضی زیاد و پیچیده
- آزمودن استراتژی و روش کاری معامله در بازههای زمانی بلندمدت درگذشته بازار
- سرعت بسیار بالای اجرا زمان ارسال دستورات معاملاتی در کمتر از یک ثانیه به تعداد زیاد
- امکان استفاده ۲۴ ساعته و همیشگی برای تعداد حساب زیاد
- انجام روش معاملاتی برنامهنویسی شده بهصورت اتوماتیک بدون نیاز به حضور معاملهگر
- درنظرگرفتن تجربه معاملهگر در هنگام معامله بهصورت نرمافزاری
- مقاومت در برابر نویزهای گذرای بازار
- صرفهجویی در انرژی و زمان
- انعطافپذیری در استفاده از دامنه بسیار بازی از اطلاعات مختلف
معایب استفاده از اکسپرت در بازار فارکس
برخی از معاملهگران این تصور را دارند که اکسپرت به دلیل داشتن کدهای برنامهنویسی، کارهای خارقالعادهای انجام میدهد و با انجام محاسبات اسرارآمیز نقاط کلیدی بازار را به دست میآورد. این دیدگاه تا حدی در برخی از موارد درست است. اما برای بیشتر اکسپرتها این موضوع قابلیت تعمیم ندارد. اکسپرت فقط یک استراتژی است که به کد تبدیل شده و میتواند مثل تمام استراتژیها نقاط ضعف و قوت نیز داشته باشد. ازجمله معایب استفاده از اکسپرت در معاملات بورس، میتوان به موارد زیر اشاره کرد:
1. ارائه نتایج نسبی در سیستم تست استراتژی :
اکسپرتها در همه بازهها جواب یکسانی نمیدهند. بدین معنی که مثلاً درصورتیکه اکسپرتی در EURUSD موفق شود، تضمینی نیست که در GBPUSD هم موفقیت داشته باشد. همچنین درصورتیکه معاملهگر نتواند هنگام آزمایش، دادهها و تنظیمات را بهدرستی وارد کند، نتیجه استراتژی هنگام استفاده متفاوت میشود.
2. عدم کارایی در استراتژیهای مبتنی بر تحلیل فردی:
تحلیلها و نظرات شخصی در برخی از مواقع، قابل تبدیل به اکسپرت نیستند. یک برنامهنویس هرچه تجربه بیشتری داشته باشد، میتواند اکسپرت بهتری بنویسد. اما بازهم محدودیتها برنامهنویسی مانع تبدیل استراتژی دستی به طور کامل به اکسپرت میشود.
3. نیاز به دسترسی 24 ساعته:
اکسپرت باید بهصورت ۲۴ ساعته در حال اجرا بوده و به اینترنت و متاتریدر دسترسی داشته باشد. برای برخی از کاربران این موضوع مشکل است.
4. رفتار ثابت در شرایط متغیر:
رفتار حرکتی هر شاخص یا جفت ارزی با رفتار باقی نمودارها فرق دارد. هر اکسپرت برای بازدهی بهتر باید با توجه به مکانی که معاملهگر قصد استفاده از آن را دارد بهینهسازی شود و مقدارهای ورودی آن نیز به بهترین حالت ممکن انتخاب شود.
نکات مهم هنگام استفاده از اکسپرت فارکس
ازجمله نکاتی که در زمان استفاده از اکسپرت فارکس و اکسپرت نویسی باید به آنها توجه کنید، میتوان به موارد زیر اشاره کرد:
به اکسپرت خود اعتماد کنید !
اکسپرت طبق استراتژی معاملاتی نوشته میشود. به همین دلیل در زمان استفاده از آن نباید بهصورت احساسی عمل کرد. معاملهگر باید بتواند به اکسپرت اعتماد کند و در زمان فعالیت ربات نباید بهصورت دستی از معامله خارج شود یا حجم معاملات را تغییر دهد.
عملکرد ربات یا اکسپرت در دراز مدت قابل سنجش است
مجموع سودهای کوچک و بزرگ و همچنین ضررهای کوچک و بزرگ، سود مستمر را در اکسپرت تشکیل میدهند. در بعضی از مواقع، وضعیت بازار نوسانهای شدید و پیشبینی نشدهای را تجربه میکند که باعث ایجاد ضرر میشود. ولی ربات طبق یک استراتژی قوی در بلندمدت درصدد جبران ضرر برمیآید؛ بنابراین معاملهگر نباید بعد از یک ضرر اکسپرت را غیرفعال کرده و موقعیت جبران ضرر را از آن سلب کند.
هیچ رباتی بهتر از یک انسان معامله گر نمی تواند معامله کند !
یک اکسپرت هرچقدر هم کدهای پیچیده داشته و دارای روابط پیچیده ریاضی و اندیکاتورهای مختلف باشد، باز هم نمیتواند بهتر از یک انسان تحلیل کند؛ بنابراین معاملهگر باید بهصورت دائم نوع معاملات را بررسی کند تا بتواند استراتژی که تبدیل کرده را عیب یابی کرده و همواره اکسپرت را بهینهسازی کند.
اهمیت مدیریت سرمایه
یک استراتژی یا ربات همواره پاسخگوی نیاز معاملهگر نیست و زمانی با شکست مواجه میشود؛ بنابراین هنگام استفاده از اکسپرت باید سرمایه را مدیریت کرده و بهاندازه قدرت ریسک سرمایهگذاری کرد.
استراتژی معاملاتی خود را با استفاده از اکسپرت بهبود دهید !
اگر معاملهگر بتواند استراتژی خود را نیز اکسپرت کند، باعث یافتن اشکالات استراتژی شده و میتواند متوجه شود که در کجا استراتژی او بهدرستی کار نمیکند. این موضوع به او کمک میکند تا بتواند سیگنالهای استراتژی خودش را فیلتر کرده و به حالتی بهینه برسد.
نحوه ساخت و سفارش اکسپرت
منظور از اکسپرت فارکس سفارشی، آن دسته از اکسپرت است که باتوجه به درخواست مشتری و معاملهگر و طبق نیاز یا استراتژی آنها نوشته میشود. اکسپرت سفارشی مثل انواع دیگر اکسپرت و اندیکاتورها در محیط برنامهنویسی متاادیتور ۴ و ۵ نوشته و آماده میشود.
به طور معمول هنگامیکه معاملهگر به انجام معاملات اتوماتیک نیاز داشته باشد، تصمیم میگیرد پلان اتوتردینگ را طراحی کرده و سفارش برنامهنویسی را برای اکسپرت خود آماده میکند. هر نوع محاسبه یا انجام عملی در متاتریدر به کمک اکسپرت و برنامهنویسی امکانپذیر است.
بهعنوانمثال اگر معاملهگر استراتژی معاملاتی خود را در طول روز یا هفته بهصورت دستی اجرا کند، میتواند از اتو تریدینگ بهره گرفته و آن را بهصورت اتوماتیک به اجرا در آورد. یا اینکه به انجام محاسباتی نیاز دارد که سرعت و دقت انجام آن مهم است و میتوان با برنامهنویسی و طراحی اندیکاتور آن را در متاتریدر اجرا کرد.
مراحل ساخت و طراحی اکسپرت یا ربات معامله گر فارکس
جهت ساخت و طراحی اکسپرت فارکس سفارشی یا هر بازار دیگری مثل بورس سهام یا فلزات، باید مراحل زیر را طی کنید:
- مرحله اول: شرایط ورود به معاملات خرید یا فروش را یادداشت کنید.
- مرحله دوم: شرایط و قوانین خروج از معاملات با سود یا ضرر را یادداشت کنید.
- مرحله سوم: محدودیتها و موارد خاص در استراتژی معاملاتی را تعیین کرده و جزئیات برخورد با آنها در بازار را یادداشت کنید.
- مرحله چهارم: از بهترین و مناسبترین قوانین برای مدیریت معاملات باز و در حال اجرا در استراتژی موردنظر آگاهی پیدا کنید.
در ادامه :
-
-
- پس از نوشتن و تنظیم تمامی نکات برای پلان معاملاتی، میتوانید طرح کلی را با برنامهنویس ام کیو ال مطرح کنید. به طور معمولاً برنامهنویس در این مرحله سؤالاتی را از معاملهگر میپرسد که امکان دارد معاملهگر اصلاً در پلان معاملاتی اکسپرت فارکس سفارشی خود آن را لحاظ نکرده باشد.
- بعد از آن نکات باقیمانده روشن شده و کار برنامهنویسی اکسپرت فارکس سفارشی آغاز میشود. در مراحل تست اکسپرت امکان دارد با اخطارهایی روبهرو شوید که این مشکل یا از پلان معاملاتی است یا از ایرادات برنامهنویسی که باید پیگیری کرده و با انجام ممارست بر روی کدنویسی اکسپرت آنها را برطرف کنید.
-
این مقاله ترجمه شده توسط تیم آکادمی ایران ام کیو ال می باشد.
پاسخها
سلام استاد. میخواستم بدونم میتوان گفت؟ در اموزش زبان برنامه نویسی mql، با توجه پررنگ شدن نقش هوش مصنوعی(Artificial intelligence) در بازار های مالی وتریدینگ، بخصوص فارکس و ارز دیجیتال، جهت طراحی، برنامه نویسی، ساخت اکسپرت واندیکاتور، ما همچنان به یاد گیری زبان برنامه نویسی mql نیاز داریم و باید در اولویت یاد گیری ما قرار داشته باشد. چرا که هوش مصنوعی(AI) امسال(یعنی در سال 2023) هنوز قدرت کافی برای استفاده در کد نویسی های مارا ندارد! ؟؟
سلام ، ام کیو ال زبان متاتریدر هست که بزرگترین پلتفورم بازار مالیه
به نظر من به عنوان اولین قدم باید ام کیو ال رو یاد گرفت
هوش مصنوعی در همه زبان ها داره جای خودش رو باز میکنه ،در زبان ام کیو ال هم هوش مصنوعی توابع مخصوص به خودش رو داره ،و روز به روز داره اپدیت میشه
استاد موقعی که یه اکسپرتی رو دانلود میکنیم و روی input هاش میخوایم تغییرات ایجاد کنیم چطور این ست رو انجام بدیم که بیشترین بازدهی رو داشته باشه؟
آیا قوانین خاصی وجود داره بین نسبت ها و گزینه ها؟ یا باید آزمون و خطا کنیم با استراتژی تستر؟
سلام،بله بیشتر با ازمون و خطا هست همچنین میتونید اپتیمایز هم بکنید در بخش دانلود های همین سایت ویدیو مربوطش هست
https://www.iranmql.com/data/
خیلی به دردم خورد، ممنونم 🙂
استاد هنگام optimize تاریخ رو روی یک ماه قرار میدم نتایج رو نشون میده ولی دوماه و به بالا دیگه نتایج رو نشون نمیده . تو قسمت optimization result اصلا هیچی نیست.