محسن
محسن همایونی

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

ورود | ثبت نام
صفحه اصلی | مقاله ها | مقالات | ام کیو ال چیست؟
.

مقالات

ام کیو ال چیست؟

ام کیو ال چیست؟

توسط محسن همایونی

 

ام کیو ال چیست؟

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

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

منظور از زبان برنامه نویسی MQL چیست؟

یک زبان برنامه نویسی است که به طور انحصاری توسط نرم افزار MetaTrader برای ایجاد ربات های معاملاتی خودکار(اکسپرت) و اندیکاتور های بازار مالی مورد استفاده قرار می گیرد.

برنامه نویسان که اسکریپت های MQL می نویسند باید از برنامه نویسی شی گرا ، سینتکس MQL و بازارهای مالی که قصد دارند اسکریپت های MQL را در آنها مستقر کنند ، آگاهی کافی داشتdه باشند.

هدف از نوشتن اسکریپت های MQL این است روند تجزیه و تحلیل بازارهای مالی ، در درجه اول بازارهای ارز (Forex) و تجارت ابزارهای مالی به صورت خودکار انجام شود.

تاریخچه زبان برنامه نویسی ام کیو ال

اولین نسخه از MQL در سال 2001 به عنوان یک زبان برنامه نویسی یکپارچه در بستر تجاری MetaQuotes منتشر شد.

در سال 2002 ، نسخه به روز شده و مارک جدید پلتفرم MetaQuotes به نام MetaTrader منتشر شد و با MQL II که نسخه به روز شده زبان برنامه نویسی MetaQuotes بود ، پک شد.

MQL ، به این شکل که امروزه شناخته شده و مورد استفاده قرار می گیرد ، در تاریخ 1 ژوئیه 2005 همراه با MetaTrader 4 (MT4) منتشر شد.

زبان جدید MQL4 نام داشت.

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

در سال 2010 ، MetaTrader 5 (MT5) همراه با MQL5 منتشر شد و اولین تلاش نرم افزار MetaQuotes برای فراتر رفتن از بازار فارکس بود.

این نرم افزار با موفقیت متوسطی روبرو شد ، اما قادر به جایگزینی جایگاه MT4 به عنوان رهبر بازار نبود.

امروزه هنوز از برنامه نویسی MT4 و MQL4 به طور گسترده برای اتوماسیون تجزیه و تحلیل و معامله ابزارهای مالی فارکس استفاده می شود.

MT5 در بازارهای فارکس نیز مورد استفاده قرار می گیرد ، اما می تواند برای برنامه ریزی و تسهیل تجارت ابزارهای دیگر مانند سهام ، اوراق قرضه و کالاها نیز مورد استفاده قرار گیرد.

از سال 2011 ، بیش از 450 شرکت کارگزاری و بانک سیستم عامل های MetaTrader را برای تجارت در فارکس و سایر ابزارهای مالی مستقر کرده اند.

 

MetaQuotes چیست؟ چرا این شرکت زبان MQL را توسعه داده است؟

MetaQuotes سازنده معروف‌ترین برنامه‌های معامله گری است. معروف‌ترین محصول MetaQuotes، متاتریدر است که آن را کارگزاری‌ها ارائه می‌کنند.

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

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

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

نقش برنامه نویسان کجاست؟

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

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

 

انواع داده های ام کیو ال از زبان ++C به ارث رسیده است. اکثر کد های MQL نوع کامپایل شدن آن شباهت زیادی به سی پلاس پلاس دارد. بنابراین ، ساختارهای زبانی و کد های آماده ای که در زبان C  معتبر هستند به احتمال زیاد در متاادیتور هم کامپایل میشوند و در زبان MQL کار خواهند کرد. یک برنامه نویس آشنا و باتجربه در C ،++C یا C# می تواند به راحتی نحوه نوشتن کد  و سینتکس و ساختار MQL را درک کند.

تبدیل MQL4 به MQL5

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

تدیل کردن کد های mlq4  به mql5  آنقدر ها هم کار آسانی نیست و خارج از بحث کنونی ما است. اما بهتر است بدانید، برخی از نشانگرهای mql4 را به سادگی می توان به ام کیو ال 5 تبدیل کرد. البته برای این کار شما باید به هردو زبان مسلط باشید تا بتوانید از پس آن بر بیایید!!! یا مثلا هر اندیکاتوری که از توابع iCustom استفاده می کند، نیازمند قلقی بسیار خاص برای تبدیل است.

کاربرد های کلی زبان برنامه نویسی متاتریدر  MQL

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

 

 

.

0 دیدگاه ارسال شده است

.