پلتفرم معاملاتی فارکس در ایران

استفاده از اکسپورت در بورس ایران

آموزش مقدماتی استفاده از اکسپرت برای معاملات خودکار و بک تست

در این ویدئو، کلیات روش وارد کردن و استفاده از اکسپرت ادوایز (EA) در متاتریدر آموزش داده می‌شود.

کاربردهای اکسپرت :

به زبان ساده شما میتوانید به وسیله اکسپرت یا همان ربات معامله گر، استراتژی خود را در یک بازه زمانی گذشته مارکت تست نمایید و ببینید آیا این استراتژی سوده بوده است یا خیر و اگر به صورت دستی استراتژی شما نتیجه داده است، میتوانید استراتژی خود را به اکسپرت تبدیل نمایید تا به طور خودکار و دقیق طبق استراتژی طراحی شده شما معاملات خرید و فروش انجام دهد. همچنین نکته ای که باید اینجا گفته شود، تفاوت اکسپرت با اسکریپت است که اسکریپت نیز یک نوع ربات معاملاتی می باشد؛ با این تفاوت که تنها یک‌بار و به منظور اجرای دستورات معاملاتی مشخصی اجرا شده و قابلیت انجام معاملات خودکار را مانند اکسپرت ندارد.

دو مورد از مهمترین دلایل استفاده از اکسپرت‌ها که در ویدئو نیز توضیح داده شده است به شرح زیر است:

معاملات خودکار :

یکی از رایج‌ترین کاربردها، انجام خودکار معاملات است. در این حالت، تا زمانی که بازار باز بوده و برنامه متاتریدر در حال اجرا و متصل به اینترنت باشد، اکسپرت به طور خودکار و بر اساس قواعد و قوانین معاملاتی‌اش، اقدام به ثبت سفارش می‌کند. توجه داشته باشید که پیش نیاز اجرای معاملات خودکار لازم است چنین قابلیتی توسط کارگزار برای حساب شما فعال بوده باشد و با توجه به قوانین سازمان بورس، در حال حاضر امکان استفاده از اکسپرت یا ربات معاملاتی (اتوتریدینگ) در ایران مقدور نیست.

انجام بک تست :

کاربرد دیگر اکسپرت‌ها، بررسی عملکرد استراتژی معاملاتی در گذشته بازار است. در این حالت، EA بر روی تاریخچه قیمت اجرا شده و پس از انجام معاملات در بازه زمانی تعیین شده، گزارشی از عملکرد خود ارائه می‌دهد.

برای این منظور و برای دریافت نتایج قابل اتکا، انجام بک‌تست با دقت مدلینگ بالا اهمیت بسیاری دارد. برای آگاهی بیشتر در این زمینه می‌توانید مقاله اهمیت مدلینگ دقیق در تست استراتژی معاملاتی را مطالعه کنید. همچنین مجموعه مقالاتی در خصوص انجام بک‌تست در متاتریدر ۵ برای مطالعه بیشتر، پیشنهاد می‌شود.

ما در مهد سرمایه با یک تیم برنامه نویسی حرفه ای اماده ارائه خدماتی از جمله طراحی اکسپرت تخصصی و طراحی اندیکاتور تخصصی به شما عزیزان هستیم.

اکسپرت یا ربات معاملاتی چیست و چه تفاوتی با اسکریپت دارد؟

اکسپرت یا ربات معاملاتی

امروزه علوم رایانه کاربردهای اساسی و فراوانی در زندگی بشر پیدا کرده‌اند. در بازارهای مالی نیز با توجه به فرآیند الکترونیکی قیمت‌گذاری (عرضه و تقاضا) دارایی‌ها و گسترش تجارت آنلاین، کامپیوترها نقش بسیار مهمی ایفا می‌کنند. حیطه اثرگذاری تکنولوژی‌های نوین در بورس، از هسته معاملاتی بازار فراتر رفته و طی سال‌های اخیر صحبت از کاربرد کامپیوترها در فرآیند تحلیل و معامله‌گری در قالب اکسپرت یا ربات (اتوتریدینگ) به میان آمده است!

در واقع این ربات‌ها به منظور صرفه‌جویی در زمان و رفع برخی اختلالات انسانی در فرآیند سرمایه‌گذاری پدید آمده‌اند.

فهرست این مقاله

اکسپرت یا ربات معاملاتی چیست؟

اکسپرت یا ربات معامله گر که در پلتفرم‌های معاملاتی”Expert Advisor” خوانده می‌شود؛ نوعی ربات نرم‌افزاری است، که بر اساس جزئیات یک استراتژی معاملاتی شامل قوانین ورود، خروج و مدیریت سرمایه، در بستر یک زبان برنامه‌نویسی عموماً مرتبط با پلتفرم‌های معاملاتی (مثلاً MQL) طراحی شده و به صورت کاملاً خودکار خرید و فروش می‌کند.

در حالت عادی و استفاده از اکسپرت های ساده، صرفاً از مؤلفه‌های نموداری و محاسباتی برای تدوین استراتژی معاملاتی استفاده می‌شود؛ اما در ربات‌های معاملاتی نوین طراحی شده بر اساس هوش مصنوعی، امکان بهره‌گیری از عوامل بنیادی و اخباری نیز در تعیین زمان ورود و خروج از بازار وجود دارد. اسکریپت نیز نوعی ربات معاملاتی است؛ با این تفاوت که تنها یک‌بار و به منظور اجرای دستورات معاملاتی مشخصی اجرا شده و قابلیت انجام معاملات خودکار ندارد.

انواع ربات‌های معاملاتی

همان‌طور که اشاره شد، ربات‌های معاملاتی بر حسب نوع کاربرد به دو دسته کلی اکسپرت و اسکریپت تقسیم می‌شوند. به زبان ساده، اگر هدف پیاده‌سازی یک استراتژی معاملاتی کامل باشد، اکسپرت لازم است؛ اما در مواقع نیاز به اجرای سریع و غیرمداوم یک دستور معاملاتی، از اسکریپت استفاده می‌شود.

ذکر این نکته ضروری است، که خود اکسپرت‌ها بر اساس نحوه عملکرد به دو دسته تمام و نیمه‌خودکار تقسیم می‌شوند. اکسپرت تمام‌خودکار (اتوماتیک) تمام فرآیند ورود و خروج از موقعیت‌های معاملاتی را بدون دخالت انسان انجام می‌دهد. در طرف مقابل، برخی معامله‌گران ترجیح می‌دهند؛ بخشی از شرایط ورود یا خروج استراتژی توسط ربات بررسی شده و تصمیم نهایی در مورد جزئیات حساس روش معاملاتی که نیازمند درک و بینش انسانی است، توسط خود آن‌ها بررسی شود. در چنین شرایطی، یک اکسپرت نیمه‌خودکار مورد نیاز است.

چرا به اکسپرت معاملاتی نیازداریم؟

اکسپرت یا ربات معاملاتی

از زمان پیدایش این ربات‌ها، فعالیت‌های گسترده‌ای در این زمینه انجام شده و بسیاری از فعالان بازارهای بورس به استفاده از این ابزار روی آورده‌‌اند. به طور کلی، دلایل متعددی برای استفاده از اکسپرت‌ها وجود دارد و هر کدام از سرمایه‌گذاران بر حسب نیاز و فلسفه معاملاتی خود، از این ابزار معاملاتی نوین بهره می‌برند. عمده دلایل استفاده از ربات در امور معاملاتی شامل موارد زیر است:

  • مدیریت چندین معامله به صورت هم‌زمان
  • نیاز به بررسی عملکرد استراتژی در گذشته بازار
  • فقدان زمان برای تحلیل بازار و سفارش‌گذاری
  • وجود محاسبات پیچیده در شرایط ورود و خروج

آیا ربات های معاملاتی معجزه می کنند؟

زمانی که موضوع اکسپرت یا ربات معاملاتی مطرح می‌شود، بسیاری از سرمایه‌گذاران گمان می‌کنند؛ استفاده از اکسپرت لزوماً منجر به کسب سود خواهد شد! در واقع طرز تفکر آن‌ها این است، که ربات معامله‌گر معایب استراتژی و مشکلات معامله‌گری آن‌ها را به صورت خودکار برطرف نموده و معاملات در بهترین شرایط و زمان ممکن معاملات انجام خواهند شد.

اما باید بدانیم، که ماهیت اکسپرت‌ها صرفاً اجرای مکانیکی و خودکار یک استراتژی معاملاتی است. به عبارت دیگر، همانند سایر ربات‌هایی که بر اساس دستورات و جزئیات تدوین شده توسط انسان امور مختلفی را انجام می‌دهند؛ اکسپرت‌ها نیز فقط بر اساس مؤلفه‌های یک روش معاملاتی که در قالب کدهای برنامه‌نویسی تعریف شده‌اند، اقدام به معامله خواهند نمود.

بنابراین باید همواره به این نکته توجه داشته باشیم، که اکسپرت صرفاً در امر پیاده‌سازی استراتژی معاملاتی برای سرمایه‌گذاران مفید واقع شده و فرآیند بهینه‌سازی باید بر اساس تجزیه و تحلیل نتایج معاملاتی اکسپرت توسط خود معامله‌گر انجام شود.

مزایای استفاده از اکسپرت در معاملات

۱- صرفه‌جویی در زمان

معضل عدم وجود زمان کافی برای تحلیل و معامله‌گری در بازار مالی، همواره برای بسیاری از سرمایه‌گذاران پاره‌وقت مطرح بوده است. این افراد معمولاً دارای شغل‌ دیگری بوده و علی‌رغم تمایل بالا، فرصت کافی برای انجام امور معاملاتی خود را ندارند. بنابراین استفاده از اکسپرت برای آن‌ها مناسب ارزیابی می‌شود؛ زیرا با تعریف شرایط ورود و خروج، ربات به جای آن‌ها و چه بسا با کیفیت بالاتری معامله می‌کند.

۲- معاملات غیراحساسی

طبق اذعان اکثر مربیان معامله‌گری، تأثیرپذیری از احساسات و تعصبات دلیل اصلی شکست بسیاری از سرمایه‌گذاران در بازار بورس است. در واقع حتی اگر استراتژی قدرتمندی نیز در اختیار داشته باشید، هیجانات معامله‌گری به راحتی زمینه شکست شما را فراهم می‌کنند. از فواید اکسپرت این است، که شروط استراتژی را بدون هیچ ترس یا تعصب خاصی اجرا می‌کند!

۳- اجرای دقیق استراتژی معاملاتی

برخی از معامله‌گران روش‌های معاملاتی پیچیده‌ای دارند. در واقع تعدد مؤلفه‌های تحلیل و نحوه استفاده از آن‌ها موجب می‌شود، عملاً زمان طولانی برای ارزیابی شرایط ورود و خروج از معامله مورد نیاز باشد. همین پیچیدگی بیش از حد می‌تواند، مسبب بروز اشتباه یا تصمیم‌ دیرهنگام و در نتیجه تحمل زیان شود. اکسپرت‌ها با بررسی دقیق جزئیات و شرایط، گزینه مناسبی برای پیاده‌سازی این‌گونه استراتژی‌ها می‌باشند.

معایب استفاده از اکسپرت در معاملات

۱- عدم تمایز میان شرایط مختلف بازار

وقوع اتفاقات ناگهانی و بالطبع بروز تغییرات سریع در شرایط، یک امر طبیعی و پرتکرار در بازار مالی است. در چنین مواقعی لازم است، تدابیر تدافعی ویژه‌ای در مدیریت سرمایه، شرایط ورود و خروج استراتژی معاملاتی خود اتخاذ نمایید؛ تا پس از بازگشت به حالت عادی امور معاملاتی خود را از سر بگیرید. تشخیص این شرایط و تطبیق جزئیات برای اکسپرت‌ها دشوار است، زیرا از قوانین ثابت و محدودی پیروی می‌کنند!

۲- محدودیت استفاده از برخی ابزار تحلیل

طراحی اکسپرت بر مبنای ابزار تحلیل تکنیکال دارای محدودیت‌هایی است. در واقع برخی ابزار یا روش‌های تحلیلی نظیر سطوح حمایت و مقاومت، تا حد زیادی نیازمند درک انسانی به منظور بررسی دقیق تمام سطوح نمودار در تایم‌فریم‌ها و بازه‌های زمانی گوناگون می‌باشد. در نتیجه طراحی اکسپرت با کارایی و دقت بالا، معمولاً بر مبنای ابزار تحلیلی محدودی نظیر الگوهای شمعی یا اندیکاتورها امکان‌پذیر است.

۳- عدم تشخیص و اصلاح اشتباهات استراتژی

بسیاری از معامله‌گران پس از گذشت مدت مشخصی از سرمایه‌گذاری بر اساس یک استراتژی معاملاتی، نقاط ضعف آن را متوجه می‌شوند. در این شرایط اصلاح رویکرد معاملاتی کار ساده‌ای است. اما زمانی که از اکسپرت استفاده می‌کنید، تشخیص و رفع عوامل شکست استراتژی کار چندان آسانی نیست؛ زیرا باید با صرف زمان طولانی، جزئیات معاملات توسط طراح اکسپرت به دقت بررسی شده و مؤلفه‌ها بهینه‌سازی شوند.

چگونه یک ربات معامله گر داشته باشیم؟

اکسپرت یا ربات معاملاتی

شرایط افرادی که خواهان استفاده از اکسپرت یا ربات معاملاتی در فرآیند سرمایه‌گذاری خود باشند، شامل چهار حالت کلی زیر است:

  • شخص «الف» فاقد هرگونه تخصص تحلیل مالی و برنامه نویسی است:

چنین افرادی به ناچار از اکسپرت های آماده موجود در پلتفرم‌هایی نظیر «mql4.com» یا «mql5.com» استفاده می‌کنند. ربات‌های عرضه شده در این پلتفرم‌ها به صورت رایگان و پولی در دسترس می‌باشند؛ که معمولاً به دلیل تعداد کاربران بالا، عدم بهینه‌سازی یا ضعف خود استراتژی معاملاتی، کارایی مناسبی ندارند .

حتما پیش از سرمایه گذاری بر اساس اکسپرت های معاملاتی آماده، مراحل تست (بر مبنای داده‌های قیمتی گذشته و حال) را به صورت کامل و با دقت انجام دهید، تا از کارایی اکسپرت مورد نظر اطمینان حاصل کنید.

  • شخص «ب» دارای تخصص در تحلیل و تدوین استراتژی معاملاتی مشخصی است، اما با علوم برنامه‌نویسی آشنایی ندارد.

در این وضعیت استراتژی معاملاتی اولیه بر اساس روش تحلیلی سرمایه‌گذار آماده است و صرفاً با همکاری یک برنامه‌نویس حرفه‌ای (در زمینه بورس و مالی) امکان تدوین اکسپرت فراهم می‌آید. هنگام سفارش طراحی اکسپرت باید توجه داشته باشید؛ که با یک‌بار کدنویسی جزئیات استراتژی و طراحی ربات معاملاتی، اکسپرت ایده‌آل شما ساخته نمی‌شود. بنابراین باید پس از تحویل نسخه اولیه اکسپرت، با تست‌های متعدد و گوناگون در شرایط مختلف بازار از صحت عملکرد اکسپرت مربوطه مطمئن شوید.

  • شخص «ج» متخصص امور برنامه‌نویسی است، اما با تحلیل بازار مالی آشنایی ندارد.

شرایط شخص «ج» بالعکس شخص «ب» است. در واقع این فرد توانایی تبدیل مؤلفه‌های تحلیلی به کدهای برنامه‌نویسی را دارد؛ اما بنیان اصلی اکسپرت، یعنی استراتژی معاملاتی در دسترس او نیست. این فرد برای تهیه یک استراتژی معاملاتی می‌تواند، از شیوه‌های مختلفی نظیر یادگیری روش‌های تحلیل بازار مالی (نیازمند طرف زمان طولانی)، مراجعه به معامله‌گران حرفه‌ای برای سفارش استراتژی یا روش‌های معاملاتی آماده موجود در منابع آموزشی مالی مختلف، اقدام نماید.

  • شخص «د» یک استراتژیست معاملاتی و برنامه‌نویس حرفه‌ای است!

بهترین شرایط استفاده از اکسپرت معاملاتی می‌باشد؛ زیرا در این صورت شخص بر اساس تجربیات معاملاتی خود اقدام به طراحی مدل اولیه یک استراتژی معاملاتی نموده و سپس با کدنویسی آن، ربات معاملاتی آماده تست و بهینه‌سازی بر اساس داده‌های قیمتی گذشته بازار (بک‌تست) است.

پس از طراحی کامل استراتژی و تست نهایی آن در حساب‌های تمرینی یا واقعی (فوروارد تست)، امکان شروع سرمایه‌گذاری با سرمایه اصلی بر اساس اکسپرت فراهم می‌باشد. هم‌چنین این شخص به دلیل تخصص چندجانبه (معامله‌گری و برنامه‌نویسی) می‌تواند، مؤلفه‌های استراتژی و اکسپرت را طی دوره‌های مشخصی (مثلاً ۶ ماهه) بهبود بخشیده و به‌روزرسانی کند.

بر اساس قوانین سازمان بورس، در حال حاضر امکان استفاده از اکسپرت یا ربات معاملاتی (اتوتریدینگ) در بازار سرمایه ایران فراهم نیست و پلتفرم‌های طراحی استراتژی‌های معاملاتی بورس، صرفاً به منظور تدوین، تست و بهینه‌سازی استراتژی‌های معاملاتی خودکار بر اساس داده‌های قیمتی بازار سهام استفاده می‌شوند.

چطور با تخفیف کارمزد در صرافی های ارز دیجیتال ثبت نام کنیم؟

نام صرافی تخفیف کارمزد IP خارج از ایران لینک ثبت نام
کوکوین دارد نیاز دارد ثبت نام با تخفیف کارمزد
کوینکس
دارد نیاز دارد ثبت نام با تخفیف کارمزد
بیت پین
دارد نیاز ندارد ثبت نام با تخفیف کارمزد
کیوسک دارد نیاز ندارد ثبت نام با تخفیف کارمزد
بیت ۲۴
دارد نیاز ندارد ثبت نام با تخفیف کارمزد
آبان تتر
دارد نیاز ندارد ثبت نام با تخفیف کارمزد

توجه: با وجود اینکه دو صرافی کوینکس و کوکوین هر دو فعلا بدون نیاز به تغییر IP فعالیت می‌کنند اما بهتر است برای امنیت بیشتر از IP ثابت خارج از ایران استفاده از اکسپورت در بورس ایران استفاده کنید.

برای ورود به صرافی کوینکس حتما باید با IP خارج از ایران وارد شوید.

آموزش پیشرفته ساخت اکسپرت بورس با MQL5 ___ فصل پنجم: زمان بندی معامله

معصومه کرمی

معصومه کرمی هستم موسس سودگاه (+) و متخصص ساخت اکسپرت و ابزارهای معاملات الگوریتمی برای بازارهای سرمایه گوناگون! با هدف انحصارشکنی و فرهنگ‌سازی در زمینه معامله الگوریتمی اقدام به انتشار دانسته‌ها به صورت فیلم آموزشی در هم‌رویش می‌کنم.

توضیحات

این آموزش، فصل پنجم از بسته پیشرفته آموزش ساخت اکسپرت با زبان MQL5 است. هدف ما در این فصل، زمان بندی اجرای ربات یا همان اکسپرت است. به آموزش اکسپرت نویسی حرفه ای می پردازیم. این که چه زمان وارد بازار شود و شرایط معامله را بررسی کند و چه زمانی از بازار خارج شود. زمان بندی معامله در اکسپرت مبحث مهمی در اجرای روزانه است که در این بسته به صورت گام به گام و دقیق فرامی‌گیرید.

مثال‌ها و اکسپرت‌های ساخته شده در این بسته براساس بازار بورس ایران طراحی شده‌اند اما شما با یاد‌گیری اصول برنامه نویسی و امکانات زبان MQL5 می توانید برای هر استراتژی معاملاتی و هر بازار مالی اکسپرت بسازید.

مواردی که در بسته مقدماتی و پیشرفته آموزش MQL5 می‌آموزید در آموزش زیر برای ساخت اکسپرت فارکس استفاده خواهند شد:

  • آموزش اکسپرت نویسی فارکس (+)

زمان بندی ورود و خروج ربات به بازار معامله در این فصل به دو شیوه آموزش داده می‌شود. لازم است که اول این دو را کمی شرح دهیم.

زمان اجرا در آغاز تیک یا کندل؟

در طول آموزش اکسپرت نویسی تا این فصل، شرایط ارسال سفارش را در هر «تیک» بررسی می‌کردیم. اگر در آن تیک شرایط برقرار بود سفارش را ارسال می‌کردیم. یکی از ایرادهای بزرگ این روش آن است که اکسپرت ما براساس شرایط هر تیک (قیمت و مقدار اندیکاتور در آن تیک) تصمیم به ارسال سفارش می‌گیرد. بهتر آن است که هر زمان که کندل جدید باز شد اگر شرایط ارسال سفارش در کندل قبل برقرار بود در آن صورت سفارش در این کندل جدید ارسال شود.

زمان اجرا بر اساس فعالیت بازار سرمایه

برای اجرای اکسپرت و انجام معاملات خودکار باید زمان اجرای آن را تعیین کنیم. به عنوان مثال اگر اکسپرت را برای فارکس کدنویسی کردیم بهترین زمان برای معاملات در فارکس زمان باز شدن بازار لندن تا زمان بسته شدن بازار نیویورک است. در این بازه زمانی بیشترین معاملات در جهان صورت می‌گیرد. پس بهتر است که اکسپرت ما هم در این بازه زمانی فعال شود و در صورت فراهم بودن شرایط ارسال سفارش معاملات را انجام دهد.

این آموزش در یک نگاه

ما در ابتدای این آموزش کلاس CnewBar و تابع CheckNewBar را برای شناسایی بازشدن کندل جدید تعریف می‌کنیم. بعد یک اکسپرت را در شرایط ارسال سفارش در هر «تیک» اجرا می‌کنیم. در ادامه همان اکسپرت را با کلاس CnewBar و تابع CheckNewBar بازنویسی می‌کنیم. این بار اکسپرت را با شرایط ارسال سفارش در آغاز هر «کندل» اجرا می‌کنیم و نتیجه را با حالت قبل بررسی کردیم.

در بخش بعد با نوع داده DateTime آشنا می‌شویم و عملیات ریاضی را روی متغیرهای با نوع داده DateTime انجام می‌دهیم. در همین راستا با تابع استفاده از اکسپورت در بورس ایران TimeToString و StringToTime کار می‌کنیم.

در درس بعد استراکچر MqlDateTime را معرفی می‌کنیم. با این استراکچر می‌توانیم اجزای یک متغیر DateTime را تجزیه کنیم. در ادامه تابع CheckTimer را تعریف می‌کنیم. این تابع دو ورودی از ما می‌گیرد که ساعت و دقیقه است. بعد تاریخ را از سرور می‌خواند و در نهایت یک متغیر از نوع DateTime به ما بر‌می‌گرداند.

در ادامه این آموزش ساخت اکسپرت ، تابع CheckTimer را تعریف می‌کنیم. با استفاده از این تابع، اطلاعات تاریخ و زمان هر تیک را از سرور می‌خوانیم. این تاریخ را با StartTime و EndTime که برای اکسپرت تعریف کردیم مقایسه می‌کنیم. اگر زمان حال بین این دو مقدار بود تابع به ما true را بر‌می‌گرداند در غیر این صورت False را return می‌کند.

اما تابع CheckTimer در صورتی که ساعت شروع اجرای اکسپرت و ساعت پایان اجرا یک روز با هم فاصله داشته باشند به درستی کار نمی‌کند. پس ما تابع DailyTimer را تعریف می‌کنیم تا داخل این تابع از تابع CheckTimer و CreateDateTime استفاده کنیم. باگ تابع CheckTimer را برطرف می‌کنیم و با استفاده از تابع DailyTimer هر نوع Timer را برای اجرای اکسپرت تعریف می‌کنیم.

در ادامه تابع PrintTimerMessage را تعریف می‌کنیم. این تابع هر زمان که timer فعال شد متن Timer Started را برای ما نمایش دهد و هر وقت که Timer غیر فعال شد متن Timer Stoped را نمایش دهد. کاربر به این وسیله از فعال یا غیر فعال بودن اکسپرت مطلع می‌شود.

در درس آخر هم با OnTimer Event Handle آشنا می‌شویم. با عملکرد تابع EventSetTimer و EventKillTimer نیز آشنا خواهید شد.

تمام سورس کدها به فیلم آموزشی هر درس پیوست شده است.

این آموزش ساخت اکسپرت بی‌نظیر است زیرا:
  • سناریونویسی شده و دارای زمان بهینه است.
  • براساس منبع معتبر جهانی تهیه شده است.
  • استفاده از شی گرایی در برنامه نویسی وو ساخت اکسپرت ها
  • هدف از آموزش یادگیری زبان MQL5 و ساخت اکسپرت است.
  • علاوه بر توضیح مفاهیم برای هر موضوع مثال‌های کاربردی طراحی می‌شود.
پیشنیاز
  • آموزش اکسپرت نویسی MQL5 – بسته مقدماتی
  • آموزش پیشرفته ساخت اکسپرت بورس با MQL5 – فصل اول حدضرر پویا
  • آموزش پیشرفته ساخت اکسپرت بورس با MQL5 – فصل دوم مدریت پول
  • آموزش پیشرفته ساخت اکسپرت بورس با MQL5 – فصل سوم اطلاعات کندل ها
  • آموزش پیشرفته ساخت اکسپرت بورس با MQL5 – فصل چهارم استفاده از اندیکاتورها در اکسپرت

آموزش mql5 پیشرفته – آموزش متاتریدر 5 – آموزش metatrader – زمان بندی اکسپرت – آموزش اکسپرت نویسی mql5 پیشرفته – آموزش ساخت اکسپرت – آموزش ساخت ربات معامله گر – expert timing – اکسپرت نویسی فارکس – اکسپرت بورس – زمان بندی معامله در اکسپرت – برنامه ریزی اجرای اکسپرت

آموزش ساخت اکسپرت بورس با MQL5 ____ بسته مقدماتی

معصومه کرمی

معصومه کرمی هستم موسس سودگاه (+) و متخصص ساخت اکسپرت و ابزارهای معاملات الگوریتمی برای بازارهای سرمایه گوناگون! با هدف انحصارشکنی و فرهنگ‌سازی در زمینه معامله الگوریتمی اقدام به انتشار دانسته‌ها به صورت فیلم آموزشی در هم‌رویش می‌کنم.

توضیحات

ساخت ربات معامله گر یا اکسپرت نویسی یک شغل تازه برای برنامه نویسان است. نگران نباشید که این آموزش ساخت اکسپرت با زبان MQL5 روی بازار بورس تست شده. اصول اکسپرت یکسان هستند و فقط با شرایط بازار کمی تغییر می کنند. برای اطمینان بیشتر ساخت اکسپرت فارکس نیز مطابق مسیر آموزشی زیر در آینده خواهید آموخت:

  • بسته آموزش پیشرفته ساخت اکسپرت با MQL5 (+)
  • آموزش اکسپرت نویسی فارکس (+)

ضمنا برای کمک به دوستانی که شرایط مالی نامناسبی دارند، فصل‌های همین بسته مقدماتی به صورت جداگانه هم در هم‌رویش منتشر شده‌اند. می‌توانید فصل‌ها را به مرور زمان دریافت و تمرین کنید:

  1. آموزش زبان برنامه نویسی MQL5
  2. ساخت اکسپرت ساده با MQL5
  3. ساخت اکسپرت شی گرا با MQL5
  4. آموزش ساخت اکسپرت شرطی با MQL5
تعریف اکسپرت چیست؟

اکسپرت در واقع ترجمه خلاصه شده اصطلاح Expert Advisor از انگلیسی است. اکسپرت یا ربات معاملاتی ، یک برنامه کامپیوتری است که با زبان MQL5 یا نسخه قدیمی‌تر آن MQL4 نوشته می‌شود.

استفاده از اکسپرت‌ ها می‌تواند به شما زمان هدیه کند. می‌تواند امکان سنجش انواع استراتژی های معاملاتی را در یک زمان اندک برای شما فراهم کند. می‌تواند خطای انسانی را حذف کند. می‌تواند سرعت عمل شما را بالا ببرد.

MQL5 چیست؟

MQL مخفف MetaQuotes Language است. این زبان توسط شرکت MetaQuotes (+) برای کدنویسی در نرم‌افزار متاتریدر ایجاد شده است. نرم افزار متاتریدر محیطی برای تحلیل و معامله است. تعدادی ابزار عمومی برای ارسال درخواست خرید و فروش سهم دارد. همچنین اگر یک فرد آشنا به برنامه نویسی بخواهد می‌تواند در این محیط با زبان MQL به ساخت ربات برای معامله خودکار اقدام کند.

ما در این آموزش برنامه نویسی MQL5 به آموزش جدید ترین نسخه MQL می‌پردازیم. این زبان مناسب آخرین نسخه از نرم افزار متاتریدر یعنی MetaTrader 5 است. راستی اگر شما با MQL4 آشنا هستید لازم است که این آموزش را برای مهاجرت به نسخه جدید ببینید.

خوشبختانه کارگزاری های مختلفی در ایران اقدام به ارائه نسخه بومی متاتریدر کرده اند (برای مثال مفید تریدر 5 را ببینید). پس شما علاوه بر فارکس و بازار جهانی، برای معامله در بورس ایران نیز می‌توانید از زبان MQL5 استفاده کنید.

البته گاهی امکان ارسال دستور معامله رباتی در بازار معامله بسته می‌شود. اما همچنان اکسپرت ها و اندیکاتورهای نوشته شده برای تحلیل و ارائه سیگنال مفید هستند.

این آموزش در یک نگاه

همان طور که در آغاز صحبت گفتیم، این بسته در واقع شامل پنج بخش است.

در بخش اول به آموزش MQL5 می‌پردازیم. شما سینتکس زبان MQL5 را یاد می گیرید. می‌آموزید که چطور برنامه هایی به زبان MQL5 بنویسید و در نرم افزار متاتریدر و نسخه ایرانی آن (مفید تریدر 5) اجرا کنید.

در دومین بخش با بررسی مفاهیم معامله در متاتریدر 5 شروع می‌کنیم. البته ما از نسخه فارسی متاتریدر استفاده می‌کنیم که امکان معامله در بازار ایران را می‌دهد. پس از آشنایی با مفاهیم شروع به آموزش اکسپرت نویسی کردیم. اکسپرتی که در این دوره می‌سازیم بر پایه اندیکاتور مووینگ اوریج (Moving Average) و نیز حد ضرر و سود در یک بازه زمانی معین اقدام به پایش بازار می‌کند. پس از ساخت اکسپرت آن را روی تاریخچه بازار آزمایش و نتایج را تحلیل کردیم. همچنین روش دیباگ کد را آموختیم. این که چگونه می‌توان خطاهای احتمالی را ردیابی کرد.

بخش سوم به ایجاد کلاس CTrade اختصاص دارد. تابعی برای مدیریت پاسخ‌های سرور تعریف می‌کنیم. تابع‌هایی برای محاسبه حد ضرر (Stop Loss) و حد سود (Take Profit) تعریف می‌کنیم. با تابع‌های MQL5 برای دریافت مشخصات سفارش جاری آشنا می‌شویم و از آن‌ها در دل تابع‌های خودمان بهره می‌بریم. تابعی نیز برای اصلاح حد ضرر و حد سود در حین اجرای اکسپرت تعریف می‌کنیم. سرانجام در این بخش به تعریف تابع Close می‌پردازیم.

در بخش چهارم راجع به سفارش های شرطی یا Pending Order صحبت می‌کنیم. همچین به تفاوت سفارش شرطی با سفارش مستقیم یا Exchange Execution خواهیم پرداخت. اکسپرتی برای ارسال سفارش شرطی از نوع Buy Stop در بیشترین قیمت کندل قبل ساختیم. در خلال ساخت این اکسپرت یاد گرفتیم که چطور اطلاعات زمانی و قیمتی کندل ها را ذر یک آرایه ذخیره کنیم.

ما همه تلاش خود را کرده ایم که شما یک آموزش ساخت اکسپرت اصولی را تجربه کنید. در پایان این دوره شما با سورس کد اکسپرت‌]ایی که در طول دوره با هم ساخته‌ایم، می‌توانید شروع به توسعه کنید. با آنچه آموخته‌اید می‌توانید ایده‌های خود را پیاده و امکانات بیشتری را هم به اکسپرت خود اضافه کنید.

آموزه‌های اصلی
  • نصب و راه اندازی متاتریدر و مفیدتریدر
  • مفهوم متغیر و شرط و حلقه در MQL5
  • کار با تابع و کلاس و شی گرایی
  • آموزش ساخت اکسپرت با MQL5
  • اکسپرت نویسی با شی گرایی
  • ساخت اکسپرت شرطی با MQL5
  • کلاس CTrade
  • ارسال سفارش به صورت خودکار
  • مدیریت پاسخ های سرور
  • تعریف حد ضرر و سود برای واکنش ربات
  • آزمایش اکسپرت با تاریخچه معاملات
  • ارسال سفارش شرطی در قیمت معین
این آموزش بی‌نظیر است زیرا
  • سناریونویسی شده و دارای زمان بهینه است.
  • از صفر ، گام به گام و پروژه محور است.
  • با کمترین بهای ممکن برای انحصارشکنی تهیه شده است.
  • این یک زمینه کاری تازه برای برنامه نویسان است.
  • تمام سورس کدها به شما تحویل می‌شود.
پیشنیاز

آشنایی با بازار سرمایه

برای دیدن آموزش‌های رایگان این دوره کلیک کنید:
  1. نحوه سفارش گذاری در متاتریدر – ارسال سفارش مستقیم با زبان MQL5 در مفیدتریدر
کلیدواژگان

زبان MQL5 – آموزش برنامه نویسی MQL5 – آموزش MQL5 – آموزش ساخت اکسپرت – اکسپرت نویسی بورس – ساخت ربات بورس – ربات معامله گر – معامله الگوریتمی – Expert Advisor – متاتریدر – MetaTrader – آموزش مفیدتریدر 5

سرفصل‌ها

سرفصل‌ها

بسته اول – آموزش زبان برنامه نویسی MQL5

فصل اول – نصب ابزار و شروع کار

درس صفر: معرفی دوره در یک نگاه

درس یکم: نصب و راه اندازی محیط برنامه نویسی

درس دوم: ساخت اولین اکسپرت

درس سوم : انواع فایل ها در MQL5

درس چهارم : مدیریت فایل ها

فصل دوم – متغیرها وانواع داده در MQL5

درس پنجم: مفهوم متغیر و تعریف متغیر در MQL5

درس ششم: انواع داده در MQL5(integer)

درس هفتم: انواع داده در MQL5(real,string,Boolean)

درس هشتم: انواع داده در MQL5(color, datetime)

درس نهم: آرایه ها

درس دهم: آرایه ها چند بعدی

درس یازدهم: Enumeration

درس دوازدهم: Structures

درس سیزدهم: متغیرهای ورودی ( input variables )

درس چهاردهم : متغیرهای محلی و سراسری ( local variable and Global variable)

مزایا و معایب استفاده از اکسپرت و نحوه اجرای اکسپرت در متاتریدر

مزایا و معایب استفاده از اکسپرت و نحوه اجرای اکسپرت در متاتریدر

اکسپرت نوعی ربات برای انجام معاملات اتوماتیک یا دادن اطلاعاتی از چارت بصورت خودکار هستند.

اکسپرتها نه تنها میتوانند فرصتهای معاملاتی را به معامله گر بگویند بلکه حتی می توانند به طور اتوماتیک

معاملات را برای ما انجام دهند!

مزایا و معایب اکسپرت چیست؟

معایب:

  1. اکسپرتها در تمامی بازارها یکسان جواب نمی دهند، یعنی اگر اکسپرتی در EURUSD موفقیت داشته باشد دلیلی نداره که در GBPUSD هم خوب عمل کند.
  2. زمانیکه بحث اکسپرت پیش می آید چون در این میان از هوش و درک انسانی خبری نیست، قبول آن برای معامله گران کمی مشکل است.
  3. اکسپرتها نمیفهمند که دارند چکار می کنند، بلکه این ما هستیم که با استراتژی خود به آنها می گوییم چکار کنند.

مزایا:

  1. اکسپرتها نگران سرمایه شما نیستند و هرگز دچار استرس نمی شوند
  2. اکسپرتها هیچگاه برای کسب سود بیشتر طمع نمی کنند
  3. اکسپرتها هیچگاه خسته نمی شوند و ۲۴ ساعته معامله می کنند
  4. اکسپرتها می توانند تجربیات شما را به صورت برنامه های نرم افزاری در هنگام معامله در نظر بگیرن.
  5. اکسپرتها می توانند نسبت به نویزهای گذرای بازار مقاوم باشن (به این صورت که علاوه بر نمودار قیمت از پارامتر زمان نیز در برنامه نویسی استفاده بشه و در صورتی که شیب نمودار قیمت خیلی تند بود بعنوان نویز قلمداد بشه)
  6. مطمئن باشید که ما می تونیم تجربیات و هوش خودمون رو به اکسپرت انتقال بدیم تا ۲۴ ساعته برامون تریدهای موفق بکنه و گرنه قطعا چنین چیزی اختراع نمی شد.

نکاتی که برای استفاده از اکسپرت باید به آنها توجه کنیم

اکسپرت، براساس یک استراتژی ایجاد شده است، بنابراین همانطور که برای استفاده از یک استراتژی نباید

احساسات را درگیر کنیم در استفاده ازاکسپرت هم نباید احساسات را دخیل نماییم. مثلا اینکه پوزیشن را

دستی ببندیم یااکسپرت را زمانی فعال کنیم و زمانی آنرا فعال نکنیم.

اگر واقعا به اکسپرت، خود اعتقاد داریم نباید در کار آن شک کنیم زیرا معمولا انسان ها دوست دارند سریع به

سود برسند بنابراین حتی اگر در مدتی اکسپرت خوب عمل نکرد دلیل بر آن نیست که ضعیف است.

بلکه بازار بهم ریخته. حتی افرادی که دستی ترید می کنند گاهی هم ضرر می دهند. البته این گفته ها در

مورد اکسپرتی است که واقعا به کار آن ایمان داریم. چون اگر بهترین اکسپرت دنیا را هم داشته باشیم ولی

به کارش ایمان نداشته باشیم باز هم سود نمی کنیم.

چون اگر جایی بازار حرکات طبیعی نداشته باشد ممکن است اکسپرت، نتواند کار خود را خوب انجام دهد

و آن هنگام اگراکسپرت را کنار بگذاریم نشان دهنده این است که به آن ایمان نداریم.اکسپرت مثل یک دوست

است اگر ما دوست خوبی برای آن باشیم هم در سختی ها و هم در شادی ها کنار ما خواهد بود چون به آن

اگر یک نفر بتواند استراتژی خودش را هم اکسپرت کنه، خیلی بهش کمک می کنه.

چون اینجوری می تونه اشکالات استراتژی خودش را پیدا کرده و متوجه بشه که کجاها استراتژی اش

درست کار نمی کنه و ضرر می ده و این امر بهش کمک می کنه تا بتواند سیگنال های استراتژی خودش را

فیلتر کنه و به حالت بهینه برسه.

طریقه نصب اکسپرت و استفاده از آن در نرم افزار متاتریدر ۴

اکسپرت هم مانند ایندیکاتور دو نوع فرمت دارد:

  1. mq4: این نوع فرمت، نسخه کامپایل نشده برنامه است.
  2. ex4: این فرمت، نسخه کامپایل شده برنامه می باشد.

در هر دو حالت اکسپرت را باید به روش زیر در نرم افزار متاتریدر۴ نصب نمایید:

اکنون نرم افزار متاتریدر را بسته و مجددا باز نمایید.

حال اکسپرت، نصب گردیده است و می توانید از طریق ذیل آن را بر روی چارت انداخته و تنظیمات آن را انجام دهید

تا اکسپرت، اجرا شود.

اکنون لطفا به شکل ذیل دقت کنید. در تصویر ذیل پنجره ای باز شده همان پنجره ی تنظیمات است

که دارای سه “Tab” می باشد. “Tab” اول که عنوان About دارد. توضیحات مربوط به اکسپرت، قرار داد از قبیل نام

و مشخصات اکسپرت و ورژن آن.

طریقه نصب اکسپرت و استفاده از آن در نرم افزار متاتریدر ۴

در “TAB” دوم که عنوان Common را دارد، اطلاعات مربوط به تنظیمات عمومی اکسپرت، است که برای تمامی

اکسپرتها یکسان است. و شامل سه بخش است.

بخش اول (Common): که شامل یک منوی آبشاری بوده که شامل سه عنوان Only Long و Only Short

و Long & Short می باشد.

Only Long: اگر انتخاب شود ،اکسپرت فقط مجاز است پوزیشنهای خرید را باز نماید
Only Short: اگر انتخاب شود ،اکسپرت فقط مجاز است پوزیشنهای فروش را باز نماید.

Long & Short: انتخاب شود ،اکسپرت مجاز است هم پوزیشنهای فروش و هم پوزیشنهای خرید را باز نماید.

Enable Alert: اگر انتخاب شود اکسپرت با هر بار باز کردن پوزیشن یک هشدار از بلندگو سیستم پخش خواهد کرد.

Disable alert once hit: اگر استفاده از اکسپورت در بورس ایران این گزینه انتخاب شود اکسپرت وقتی پوزیشن باز می کند فقط یکبار هشدار خواهد داد.

که این قسمت زمانی قابل انتخاب است که گزینه قبلی فعال باشد.

بخش دوم (Live Trading): اگر میخواهید که اکسپرت مورد نظر شما به صورت اتوماتیک اقدام به گرفتن پوزیشن نماید

و آنها را مدیریت کند باید تیک این قسمت فعال باشد.

بخش سوم (Safety): که انتخابهای مربوط به امنیت اکسپرت هست که فعلا به آنها نیازی نداریم.

و آنها را به حالت پیشفرض رها کنید.

پس از آنکه تنظیمات را انجام دادیم بر روی دکمه OK کلیک می کنیم. با کلیک این دکمه اکسپرت به چارت اضافه شده

و آماده اجرا می باشد. منتها قبل از آن باید از فعال بودن دکمه Auto Trading در نوار ابزار مطمئن شوید.

اگر این دکمه فعال نباشد. شکلکی که در گوشه سمت راست بالای صفحه چارت وجود دارد به شکل آدمک نگران

می باشد که با فعال کردن دکمه Auto Trading به صورت یک آدمک خندان تبدیل می شود. به شکلهای ذیل دقت کنید:

برای حذف و یا تنظیمات مجدد اکسپرت می توانید با راست کلیک کردن بر روی چارت مانند تصویر ذیل از منوی

انتخاب گزینه Remove Expert را انتخاب نمایید.

برای عضویت در کانال ما آیدی ما را در تلگرام جستجو کنید : @ex4forex

مقالات مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

برو به دکمه بالا