هدف ما از آموزش برنامه نویسی MQL5 و ساخت اکسپرت چیست؟ هدف ما از آموزش متاتریدر 5 فرهنگ سازی معامله الگوریتمی است. فرهنگی که میتواند در عمر و هزینه معاملهگران صرفهجویی کند و زمان بیشتری برای تفکر وتحلیل داشته باشند. همچنین این یک بازار کار جدید برای برنامه نویسان است.
چند سال پیش زمانی که آموزش MQL5 تنها حضوری و با هزینه بسیار هنگفت انجام میشد، این بسته آموزشی نخستین بار با سرفصلی جامع تولید و منتشر شد. اکنون با گذشت چند سال به همت مدرس و ناشر بار محتوای این آموزش روزآمد و تقدیم شما میشود.
این بسته آموزش mql5 در واقع بخشی از بسته مقدماتی در مسیر آموزشی زیر است.
بخش اول – نصب ابزار و شروع کار
درس صفر: معرفی دوره در یک نگاه
– معامله الگوریتمی چیست ؟
– زبان برنامه نویسی mql5 چیست؟
– پیشنیاز این آموزش
– نگاهی به محیط این آموزش
– اهداف آموزش
درس یکم: نصب و راه اندازی محیط برنامه نویسی
– دریافت و نصب متاتریدر
– ساخت حساب دمو در متاتریدر
– اولین برخورد با MetaEditor
– بررسی مسیر نصب نرم افزار
– توصیه برای روزآمدی فرآیند نصب
درس دوم: ساخت اولین اکسپرت
– ساخت یک Expert Advisor در MetaEditor
– مفهوم تابع onInit و onDeInit و onTike چاپ یک پیغام روی نمودار
– درج یادداشت یا comment در کدهای mql
درس سوم : انواع فایل ها در MQL5
– آشنایی با انواع فایل mq5 و ex5 و mqh و set در زبان MQL5
– مفهوم فایل include و بررسی یک نمونه
– کامپایل برنامه و تولید فایل ex5 به عنوان خروجی اکسپرت
درس چهارم : مدیریت فایل ها
– آشنایی با پوشه بندی MetaEditor و پوشه های Experts و Includes
– مفهوم کتابخانه یا library در زبان mql5 در یک نگاه
بخش دوم – متغیرها وانواع داده در MQL5
درس پنجم: مفهوم متغیر و تعریف متغیر در MQL5
– چرا نیاز به متغیرها داریم؟
– مفهوم متغیر و identifier
– تعریف یک متغیر در MQL5
– قواعد نامگذاری متغیرها در MQL5
درس ششم: انواع داده در MQL5(integer)
– چرا به انواع دادهها نیاز داریم؟
– انواع داده عدد صحیح یا integer
– تفاوت char و short و int و long
– تفاوت uchar وushort و uint و ulong
درس هفتم: انواع داده در MQL5(real,string,Boolean)
– انواع داده عدد حقیقی یا real
– تفاوت float و double در MQL5
– نوع داده استرینگ یا string
– نوع داده منطقی یا بولین Boolean
– بررسی نوع داده ها در مستندات MQL5
درس هشتم: انواع داده در MQL5(color, datetime)
-نوع داده رنگ یا color
-نوع داده تاریخ وزمان یا datetime
-بررسی ثابت های تاریخ و زمان
درس نهم: آرایه ها
-تعریف آرایه یک بعدی استاتیک
_تعریف index در آرایه ها
-مقداردهی به آرایه های تک بعدی
– تفاوت آرایه های استاتیک و داینامیک
_ تعریف آرایه تک بعدی داینامیک
_ استفاده از تابع ArrayResaize برای تعیین اندازه آرایه ها
درس دهم: آرایه ها چند بعدی
-تعریف آرایه دو بعدی استاتیک
-مقداردهی به آرایه های تک بعدی
_ تعریف آرایه دو بعدی داینامیک
درس یازدهم: Enumeration
-تعریف Enumeration
_ استفاده از Enumeration
– تغییر اعداد متناظر به هر عضور از لیست Enumeration
درس دوازدهم: Structures
_ تعریف یک متغیر از نوع داده Structures
_ ساخت یک نمونه از متغییر Structures و مقدار دهی به متغیرهای آن
_ کاربا Structures داخلی MqlTick در زبان MQL5
_ استفاده از تابع SymbolInfoTick برای خواندن اطلاعات از سرورها و پر کردن متغیرهای MqlTick
_ اجرای اکسپرت نوشته شده روی نمودار سهم های مختلف
درس سیزدهم: متغیرهای ورودی ( input variables )
_ تعریف ویژگی های input variable
– آشنای با sintax متغیرهای ورودی
_ کاربرد expert نویسی برای بهینه کردن سود در اندیکاتور moving Average
_ مثال کاربردی از متغیرهای ورودی
درس چهاردهم : متغیرهای محلی و سراسری ( local variable and Global variable)
_ تعریف ویژگی های local variable
– آشنای با sintax متغیرهای محلی و سراسری
_ تعریف ویژگی های Global variable
درس پانزدهم : متغیرهای استاتیک ( static variable )
_ تعریف ویژگی های static variable
– آشنای با sintax متغیرهای استاتیک
_ بررسی تفاوت متغیرهای استاتیک و متغیرهای محلی
بخش سوم – عملگرها در زبان MQL5
درس شانزدهم : عملگرهای ریاضی ( Operations)
_ آشنایی با روش انجام عملیات ریاضی و ذخیره سازی نتایج عملیات در MQL5
_ تعریف عملگر جمع یا Addition و حل مثال از آن
_ تعریف عملگر ضرب یا Multiplication و حل مثال از آن
_ تعریف عملگر تفریق یا Subtraction و حل مثال از آن
_ تعریف عملگر تقسیم یا Division و حل مثال از آن
_ تعریف عملگر باقیمانده تقسیم یا Modulus و حل مثال از آن
درس هفدهم : عملیات تخصیص ( Assignment Operations)
_ تعریف عملگرهای تخصیص برای عملیات جمع
_ تعریف عملگرهای تخصیص برای عملیات تفریق
_ تعریف عملگرهای تخصیص برای عملیات ضرب
_ تعریف عملگرهای تخصیص برای عملیات تقسیم
_ تعریف عملگرهای تخصیص برای عملیات باقیمانده
درس هجدهم : عملیات مقایسه ای ( Relation Operations)
_ تعریف عملگرهای مقایسه ای
_ حل مثال از عملگر بزرگتر و کوچکتر
_ حل مثال از عملگر بزرگتر مساوی و کوچکتر مساوی
_ حل مثال از عملگر برابر و نابرابری
درس نوزدهم : عملیات منطقی ( Boolean Operations)
_ تعریف عملگرهای منطقی
_ تعریف و حل مثال از عملگر منطقی (AND)
_ تعریف و حل مثال از عملگر منطقی (OR)
_ تعریف و حل مثال از عملگر منطقی (NOT)
بخش چهارم – ساختارهای شرط و حلقه
درس بیستم : ساختار شرطی if
_ تعریف ساختارشرطی if
_ حل مثال از ساختارشرطی if
درس بیست و یکم : ساختار شرطی else
_ تعریف ساختارشرطی else
_ حل مثال از ساختارشرطی else
_ تعریف ساختارشرطی else if
_ حل مثال از ساختارشرطی else if
درس بیست و دوم : حلقه While
_ تعریف حلقه ها در MQL
_تعریف حلقه while
_ حل مثال از حلقه while
درس بیست و سوم : حلقه do_While
_ تعریف حلقه do-while
_ حل مثال از حلقه do_while
_ بررسی و حل مثال از تفاوت حلقه ی while و do_while
درس بیست و چهارم : حلقه for
_ تعریف حلقه for
_ حل مثال از حلقه for
_ تعریف و حل مثال از break operator
_ تعریف و حل مثال از continue operator
بخش پنجم – تابع
درس بیست و پنجم: معرفی تابع (Function)
_ معرفی نظری تابع ها
_ بیان 2 مزیت اصلی توابع
درس بیست و ششم : تعریف اولین تابع در MQL5
_ تعریف تابع GetStopLoss
_ تعریف ورودی و خروجی در تابع GetStopLoss
_ استفاده از تابع GetStopLoss در تابع OnTick
درس بیست و هفتم : تابع ها با مقدار ورودی پیش فرض (DefaultValue)
_ تعریف مزیت های تابع ها و دلیل استفاده از تابع ها
_ تعریف مقدار پیش فرض برای ورودی تابع ها
_ استفاده از تابع با با مقدار پیش فرض
درس بیست و هشتم : تابع های بدون خروجی ( void Type)
_ آشنای با عملگر return
_ تعریف مثال از تابع void
_ بررسی تفاوت تابع void و تابع که خروجی دارد
درس بیست و نهم : استفاده از داده های ویژه به عنوان ورودی تابع
_ معرفی تابع SymbolInfoTick
_ معرفی استراکچر MqlTick
_ساخت نمونه از استراکچر MqlTick
_ پاس دادن استراکچرها به عنوان ورودی تابع SymbolInfoTick
بخش ششم – شی گرایی و کلاس
درس سی ام : برنامه نویسی شی گرا ( object-oriented programming)
_ معرفی برنامه نویسی شی گرا
_ معرفی المان های کلاس و شی در طبیعت
_ معرفی المان های شی گرای کلاس و شی در صنعت
_ حل مثال از کاربرد شی گرایی در MQL5
درس سی و یکم : تعریف یک کلاس ( Classes)
_ تعریف کلاس CIndicator
_ معرفی المان های تعریف کلاس در MQL5
درس سی و دوم: سطح دسترسی در کلاس ( Access Modifiers)
_ معرفی انواع سطح دسترسی کلاس ها در MQL5
_ آشنایی با ویژگی های سطح دسترسی Public
_ آشنایی با ویژگی های سطح دسترسی private
_ آشنایی با ویژگی های سطح دسترسی protected
_ معرفی مفهوم encapsulation در oop
درس سی و سوم : کاربرد سطح دسترسی در کلاس ( Access Modifiers)
_ آشنایی با انواع روش تعریف تابع ها در کلاس
_ تعریف عملکرد تابع main در کلاس Cindicator
_ تعریف عملکرد تابع Release در کلاس Cindicator
_ استفاده از متغیرهای که به صورت protected در سطح کلاس تعریف شدن در تابع ها
درس سی و چهارم : constructor
_ تعریف ویژگی و کاربرد constructor پیش فرض
_ تعریف ویژگی و کاربرد constructor دستی در تابع
_حل مثال از constructor در کلاس Cindicator
درس سی و پنجم : ارث بری در برنامه نویسی شی گرا (ِDerived Classes)
_ تعریف مفهوم ارث بری inheritance
_ تعریف مفهوم کلاس والد یا کلاس parent class
– تعریف مفهوم کلاس فرزند یا derived class
_ تعریف کلاس اندیکاتور میانگین متحرک با نام CiMA به عنوان کلاس فرزند که از کلاس والد Cindicator
_ تعریف تابع Init() در کلاس CiMA و استفاده از متغیرهای ارث بری شده
درس سی و ششم : تابع های مجازی ( virtual functions)
_ تعریف کاربرد تابع های مجازی در کلاس ها
_ حل مثال کاربردی از تابع های مجازی در کلاس
درس سی و هفتم : نمونه یا object
_ آشنای با روش تعریف object از کلاس ها
_ تعریف object از کلاس CiMA یا کلاس اندیاتور میانگین متحرک
بخش هفتم – جمع بندی و طرح یک مثال
درس سی و هشتم : بررسی ساختار یه برنامه در MQL5
_ آشنایی با اجزای مختلف یک برنامه
_ نقش Preprocessor Directives در MQL5
_ تفاوت #include و #import
_ جایگاه متغیرهای input و global
_ جایگاه تابع ها و کلاس ها
_ مفهوم و جایگاه Event Handler ها
درس سی و نهم : جمع بندی و نگاهی به آینده
_ مروری بر آچه در دوره گفته شده
_ آنچه در ادامه پیش رو داریم
همونطور که از اسمش پیداست ما در این نوع تحلیل، بنیاد سهم رو بررسی می کنیم؛
به عنوان مثال: وضع سوددهی،زیان دهی، نوع صنعت، جشم انداز شرکت و…
شاید شما از لحاظ تکنیکال سهمی رو بررسی کنید و خوب به نظر بیاد اما اگه از لحاظ بنیادی بررسیش نکنید
ممکنه نه تنها سود نکنید بلکه متحمل ضرر بشید و یا در بدترین حالت کل دارایی تون رو از دست بدید.
به همین خاطر هست که ما یادگیری مقدمات تحلیل بنیادی رو بسیار ضروری می دونیم.
در این آموزش، ابتدا به معرفی ماهیت تحلیل بنیادی و روشهای مورد استفاده در آن پرداخته میشود. سپس در سایر درسها، گروهها به صورت تخصصی مورد بررسی قرار میگیرند که انتظار میرود این فرادرس، بخش عمدهای از نیاز فعالان بازار سرمایه، دانشجویان و مدیران در حوزه مالی را برآورده سازد.
تحلیل بنیادی، روش انجام تحلیل بنیادی در بورس بر اساس عوامل مالی اصلی شرکت نظیر فروش، درآمد، هزینه ها و یا عوامل غیرمالی نظیر ارزیابی مدیریت، محصول، عوامل کیفیتی و غیره است که سعی در ارزیابی و ارزشگذاری سهام شرکت دارد.
در تحلیل بنیادی تمامی فاکتورهای تاثیر گذار در ارزیابی سهام شرکتها اعم از مسائل اقتصادی، صنعتی و غیره مورد بررسی قرار می گیرد. هدف اصلی تحلیلگر بنیادی این است که با ارزیابی اطلاعات شرکت و تجزیه و تحلیل صورتهای مالی، ارزش ذاتی سهام را محاسبه کرده و نسبت به مقایسه آن با ارزش جاری سهام، تصمیم صحیح در مورد خرید و فروش سهام شرکت را اتخاذ نماید.