توضیحات
مقدمه
برنامه نویسی متاتریدر MQL چیست و چه کاربردی دارد؟
واژه MQL کوتاهشده عبارت Meta Quotes Language است. MQL یک زبان برنامه نویسی است که برای بوجود آوردن و طراحی رباتهای معاملاتی خودکار و اندیکاتورهای تحلیل بازارهای مالی استفاده میشود. معاملهگران و برنامهنویسانی که از زبان برنامهنوسی MQL برای طراحی ربات و اندیکاتورهای خود استفاده میکنند باید آگاهی کافی نسبت به تحلیل بازارهای مالی داشته باشند.
MQL در سال ۲۰۰۵ به صورت نسخه MetaTrader 4 (MT4) انتشار یافت که این نسخه در ایران به نرم افزار پارس رسا معروف است. در سال ۲۰۱۰ نیز نسخه MetaTrader 5 (MT5) همراه با MQL5 منتشر شد که این نسخه نیز در ایران موجود بوده و به مفید تریدر معروف است.
در حال حاضر از برنامه نویسی MT4 و MQL4 برای اتوماتیکسازی تجزیه و تحلیل و معاملهگری در بازارهای مالی استفاده میشود. از سال ۲۰۱۱ تاکنون، بیش از ۴۵۰ شرکت معتبر در دنیا از سیستم عاملهای MetaTrader برای انجام معاملات خودکار در بازارهای مالی استفاده مینمایند.
مزایای یادگیری زبان برنامه نویسی MQL
یکی از اهدف ساخت کامپیوتر، واگذاری کارهای تکراری از انسان به ماشین میباشد. از آنجا که تحلیل با فرض داشتن یک استراتژی یک فرآیند تکراری است پس میتوان استراتژی را تبدیل به ماشین نمود برای نمونه در تحلیل نمادهای بورس و فرابورس، به علت تعدد نمادها، زمانبر بوده و بخش زیادی از نمادها را نمیتوان به دلیل طولانی بودن زمان تحلیل، بررسی کنیم و این یعنی از دست دادن فرصت.
برای تسریع در تحلیل و بررسی همه نمادها، استفاده از ماشین یا کامپیوتر ضرورت پیدا میکند. پس میتوان با یادگیری زبان برنامه نویسی MQL به اهداف زیر رسید:
- همه نمادها را بر اساس یک یا چند استراتژی طی چند دقیقه بررسی و سیگنال ورود یا خروج صادر شود؛
- میتوانیم یک اندیکاتور سفارشی ساخت؛
- استراتژی مورد نظر ما را در محیط آزمایشی مورد آزمایش قرار داد و سپس در محیط واقعی از آن استفاده نمود؛
- بررسی استراتژیها با دادههای واقعی و در محیط آزمایشی، ظرف چند دقیقه؛
- استفاده از قابلیت موبایل و ایمیل برای ارسال سیگنال که یکی از کاربردهای آن زمانی است که پشت سیستم خود نیستیم و ارسال سیگنال برای دوستان و مشتریان خود؛
- استفاده از آلارم به جای نشستن پشت کامپیوتر؛
- و …
مخاطبان
کلیه معاملهگران بازارهای مالی؛
کلیه معاملهگران و علاقهمندان به سرمایهگذاری در بازارهای مالی داخلی و بینالمللی؛
علاقهمندان به انجام معاملهگری به صورت خودکار و کدنویسی شده؛
کلیه فعالان در حوزه معاملهگری و سرمایهگذاری در بازار سرمایه؛
مدیران و کارشناسان بانکها و موسسات مالی و اعتباری و تمامی شرکتهای فعال در حوزه مالی و سرمایهگذاری؛
تحلیلگران شرکتهای سبدگردانی و مشاور سرمایهگذاری؛
کلیه علاقهمندان به تحلیلگری بازارهای مالی و همچنین کارشناسان و مدیران ادارت سرمایهگذاری سازمانها و موسسات دولتی.
سرفصلها
سرفصلهای دوره مقدماتی
مقدمه
- الگوریتم چیست؟
- برنامهنویسی چیست؟
- هدف از برنامهنویسی چیست؟
- انواع زبان برنامهنویسی
- Mql چیست؟
- تاریخچه Mql
- سرور مجازی چیست؟
- تحقیق
مفاهیم پایهای Mql
- متا ادیتور
- مفهوم تیک
- مفهوم کنترل
- انواع برنامه در متا ادیتور
- اکسپرت چیست؟
- اندیکاتور چیست؟
- اسکریپت چیست؟
- ویژگیهای انواع برنامه
- مفهوم توضیح
- نحوه اجرای برنامه
- تمرین
مبانی برنامهنویسی
- متغیره چیست و چه کاربردی دارند؟
- تعریف متغیرها
- مقدار دهی به متغیرها
- تعریف ثابت
- تعریف ثابت
- مقدار دهی به ثابت
- دادهها
- مفهوم داده
- انواع دادهها
- Int
- Double
- Bool
- String
- Color
- Datetime
- عملگرها و عملوندها
- مفهوم عملگر و عملوند
- انواع عملگر
- عملگرهای محاسباتی یا ریاضی
- عبارات محاسباتی
- عملگرهای رابطهای
- عملگرهای منطقی
- عملگرهای ترکیبی
- عملگرهای & و *
- عملگر ()
- تقدم عملگرها در حالت کلی
- تبدیل انواع دادهها Type Casting
- روش ایجاد برنامه
- مهندسی نرمافزار
- تعیین نیازمندیهای مسئله
- تحلیل مسئله
- طراحی الگوریتم
- تست برنامه
- نگهداری برنامه
- فرآیند آمادهسازی و اجرای برنامه
- تمرینات
حلقههای تکرار و ساختارهای تصمیم
- ساختارهای تکرار
- ساختار تکرار for
- حلقههای تکرار تودرتو
- عملگر کاما و حلقهی for
- ساختار تکرار while
- ساختار تکرار while…do
- از کدام حلقهی تکرار استفاده کنیم؟
- ساختارهای تصمیم
- ساختار تصمیم if
- ساختار تصمیم if…else
- انتقال کنترل غیرشرطی
- دستور break
- ساختار تصمیم switch
- تمرینات
توابع
-
- مفهوم تابع
- توابع و برنامهسازی ساختیافته
- تعریف یک تابع
- فراخوانی تابع
- انواع تابع
- توابع خاص
- توابع استاندارد
- توابع تعریف شده توسط کاربر
- توابعی که هیچ مقداری را برنمیگردانند
- ویژگیهای تابع
- اجرای تابع
- پارامترهای ارسالی و مقدار بازگشتی
- متغیرهای محلی و عمومی
- تمرینات
آرایهها
- تعریف آرایه
- مقداردهی آرایه
- آرایههای یک بعدی
- ارسال آرایه به تابع
- مرتبسازی آرایهها
- جستجو در آرایه
- آرایههای چندبعدی
- آرایههای دوبعدی به عنوان آرگومان تابع
- مقدار اولیهی آرایهها
- توابع آرایه ای
- تمرینات
رشتهها
- مقدار اولیه دادن به رشتهها
- ورودی-خروجی رشتهها
- رشته به عنوان آرگومان تابع
- انتساب رشتهها (کپی کردن رشته در رشتهی دیگر)
- مقایسهی رشتهها
- الحاق دو رشته
- آرایهای از رشتهها
- توابع رشتهای
- تمرینات
فایلها
- انواع فایل از نظر نوع اطلاعات
- سازمان فایل
- بازکردن فایل
- بستن فایل
- ورودی-خروجی کاراکترها
- ورودی-خروجی رشتهها
- فایل به عنوان وسیله ورودی-خروجی
- حذف فایل
- توابع فایل
- تمرینات
توابع کتابخانهای
- توابع ریاضی
- توابع کاراکتری
- توابع رشتهای
- توابعی در مورد فایلها و فهرستها
- توابع گرافیکی
- توابعی در مورد تاریخ، زمان و دیگر توابع سیستم
- توابع تخصیص حافظهی پویا
- توابع کنترلی
- توابع ورودی-خروجی
- توابع متفرقه
- چند نکتهی برنامهنویسی
- تمرینات
سرفصلهای دوره پیشرفته
اندیکاتورها
- ویژگیهای اندیکاتورهای فنی یا تکنیکال
- ساخت اندیکاتور
- تعریف بافر
- تعریف خطوط
- تعریف رنگ
عملیات خرید و فروش
- روش متداول انجام معاملات
- نمودار انجام معامله
- انجام درخواست
- تداخلات در انجام معاملات
- مشخصههای سفارش و قوانین مربوط با آن
- مشخصههای نماد
- نیازمندیهای و محدودیتهای معاملهگری
- باز کردن و بستن سفارشات باز
- قرار دادن و حذف درخواستهای مشروط
- تبدیل در خواست مشروط به درخواست معامله
- اصلاح درخواست مشروط
- تابع Order Send
- پردازش خطا
- فری مارجین
- تابع Market info
- تابع Order Close
- تابع Order Select
- تابع Order Delete
- تابع Order Close By
- تابع Order Modify
- تمرینات
پیادهسازی
- اجرا کردن اکسپرت
- خطایابی
- بهبود مستمر
- سیستم انسان ماشین
- سیستم ماشینی محض
- الگوریتمهای هوش مصنوعی (الگوریتم ژنتیک)
- تمرینات
توسعه الگوریتم
- مراجعه به کتابها
- مراجعه به مقالات
- مراجعه به کدهای آزاد
- کدخوانی
- بررسی ضعف و قوت استراتژیها
- پیادهسازی استراتژی شخصی
مدرس: فرهاد سلطانی
مهندسی کامپیوتر، گرایش نرمافزار
مؤلف و مترجم کتاب ایجاد سیستمهای معاملاتی خودکار در زبان MQL 5
مدرس زبان برنامهنویسی MQL (زبان برنامهنویسی متاتریدر)
مدرس دوره برنامه نویسی به زبان پایتون
اولین مربی MQL مورد تأیید سازمان بورس
ویژگیهای دورههای آنلاین گروه مالی شریف
استفاده از پلتفرم کاربردی Adobe Connect
امکان دسترسی و مشاهده آنلاین فیلمِ دوره تا دو هفته پس از پایان دوره
پشتیبانی کامل برگزاری و محتوای آموزشی دوره از طریق تشکیل گروه در شبکههای اجتماعی
امکان مشارکت و طرح سوال توسط شرکتکنندگان در کلاسهای آنلاین بصورت صوت و متن
امکان پرسش و پاسخ و رفع اشکال پس از کلاس در گروه تشکیل شده در شبکههای اجتماعی
اعطای گواهینامه معتبر
عضویت در باشگاه مشتریان گروه مالی شریف و استفاده از مزایای آن
Ali –
عرض سلام و ادب
وقت بخیر
جهت یادگیری زبان mql بایستی به زبان های برنامه نویسی تسلط داشت؟