Metaquotes Languages MQL4 در مقابل MQL5: آموزش تفاوت و برنامه نویسی

ساخت وبلاگ

MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

Metaquotes Language 4 و 5 ابزاری برای توسعه برنامه های کاربردی برای ترمینال مشتری Metatrader بر اساس سیستم عامل های خانواده Metatrader به ترتیب در نسل های چهارم و پنجم است. این زبانها ابزاری را برای توسعه استراتژی های معاملاتی خودکار در سمت مشتری فراهم می کنند

مقاله موضوعات زیر را پوشش می دهد:

  • MQL4 و MQL5 چیست؟
  • ویژگی های زبانهای برنامه نویسی MQL4 و MQL5
  • انواع داده ها و نحو زبانهای MQL4 و MQL5
  • تفاوت بین کدهای MQL4 و MQL5
  • برنامه نویسی شاخص MQL4: نحوه نوشتن یک مشاور متخصص در MQL4 یا MQL5
  • جوانب مثبت و منفی زبانهای MQL4 و MQL5
  • تبدیل MQL4 به MQL5
  • سؤالات متداول MQL4 و MQL5

من یک آموزش دقیق در مورد برنامه نویسی Metatrader MQL4 vs MQL5 را برای شما آماده کرده ام. پس از خواندن این مقاله ، شما خواهید فهمید که MQL چیست ، تفاوت بین دو نسخه جدید زبان و نحوه کار با آنها. در اینجا دستورالعمل های مفصلی با تصاویر در مورد نحوه نوشتن یک مشاور متخصص پیدا خواهید کرد. بیا شروع کنیم!

MQL4 و MQL5 چیست؟

از بسیاری جهات ، زبانهای MQL4 و MQL5 بسیار مشابه هستند. بنابراین ، ما به طور جداگانه در مورد اختلافات صحبت خواهیم کرد ، اما در حال حاضر ما موافقت خواهیم کرد که آنها را هر دو MQL در مفرد و بدون مشخص کردن نسخه بنامیم.

MQL یک زبان برنامه نویسی است که در سکوی Metatrader ساخته شده است. محیط توسعه ویرایشگر زبان Metaquotes برای نوشتن روبات های تجاری خود ، شاخص ها یا سایر برنامه های کاربردی در MQL و همچنین برای تهیه و اشکال زدایی آنها استفاده می شود. این محیط با ترمینال مشتری Metatrader به همراه کلیه اطلاعات مرجع تأمین می شود.

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

اگر حداقل یک بار در دارایی های خاص سرمایه گذاری کرده اید ، شاید فقط دلار برای نگه داشتن در بانک خریداری کرده اید ، می دانید که این سرمایه گذاری نیاز به کنترل بی امان دارد. شرط می بندم که بیش از یک بار از خودتان سؤالاتی پرسیده اید:

  • آیا زمان آن رسیده است که از تجارت خارج شوید در حالی که قیمت در اوج خود است؟
  • چگونه می توان تعیین کرد که آیا قیمت یک دارایی همچنان رو به افزایش خواهد بود یا بازار تبدیل می شود؟
  • شاید این بار یک سیگنال دروغین دریافت شود و نیازی به ریسک کردن و عجله برای باز کردن موقعیت نیست؟

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

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

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

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

بیایید خلاصه کنیم! MQL مشکل نوشتن برنامه های کاربردی را برای نظارت بر وضعیت حساب تجارت ، محاسبه شاخص ها و سطح ، دریافت سیگنال های معاملاتی و تعیین امتیاز ورود و خروج از بازار حل می کند. ابزارهای زبانی به یک ربات یا شاخص بازرگانی اجازه می دهند تا با استفاده از پروتکل TCP ، از جمله رمزگذاری TLS یا پروتکل HTTP ، تبادل اطلاعات را با یک سرور از راه دور سازماندهی کند. ارسال داده ها از طریق FTP و همچنین اعلان های فشار به مشتریان تلفن همراه Metatrader یا به ایمیل کاربر امکان پذیر است. هنگامی که یک برنامه خوب نوشته شده و اشکال زدایی کار خواهد کرد تا زمانی که تصمیم به ایجاد تغییر یا جایگزینی آن با برنامه دیگری استفاده کنید. تمام آنچه شما باید به آنها اهمیت دهید کنترل عمومی است.

داستان پشت زبانهای MQL4 و MQL5

MQL در نتیجه توسعه تکاملی این سکو ظاهر شد. این ابزاری برای مدیریت خودکار حساب های معاملاتی در Metatrader است. من به تفصیل در این مورد خواهم ماند ، اما به صورت سطحی از آن عبور می کنم.

Metaquotes زبان Metaquotes را به همراه پلت فرم Metatrader منتشر کرد ، که قبلاً برنامه FXCHARTS بود. MQL به همراه به روزرسانی Metatrader 3 به نسخه دوم رشد کرد. در اینجا متاکووت ها API را که به عنوان یک لایه اضافی بین مشتری Metatrader و سرور Metatrader به مشتریان ارائه شده بود ، به مشتریان ارائه دادند.

انتشار نسل چهارم این سکو در تاریخ 1 ژوئیه 20R05 انجام شد. همراه با آن ، MQL4 آزاد شد. سازگاری به عقب با نسخه قبلی زبان از بین رفته است. Metaquotes همچنین از پشتیبانی از API ترمینال مشتری متوقف شد ، اما قابلیت های خود زبان را گسترش داد و راه هایی برای ادغام کتابخانه های DLL سفارشی در برنامه های MQL فراهم کرد. API فقط در سطح کارگزاران سرور ، مدیریت و مدیریت در دسترس بود.

در ژوئن سال 2010 ، پس از انتشار بیشماری ، Metatrader 5 راه اندازی شد. متا کوفت ها منطق تجارت را دوباره طراحی کردند و بیشتر محدودیت های تحمیل شده توسط ساختار داخلی این سکو را از بین بردند. اما تاکنون MT5 با محبوبیت نسل چهارم رقابت نمی کند.

در فوریه 2014 ، MQL4 به همراه 600 ساخت ترمینال MT4 Client به روز شد. متاکووت زبان را بهبود بخشید ، بیشتر ویژگی های MQL5 را معرفی کرد و در عین حال آن را به سطح یک جانشین تسریع کرد.

ویژگی های زبانهای برنامه نویسی MQL4 و MQL5

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

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

جامعه بزرگی از معامله گران و برنامه نویسان در حدود MQL تشکیل شده است. ابزاری برای تسهیل ارتباط بین برنامه نویسان و بازرگانان وجود دارد. لایه ای از برنامه های آماده قبلاً برای ساده سازی روند معاملات شکل گرفته است. بازاری برای تبادل برنامه ها به صورت پرداخت شده یا رایگان در mql5. com وجود دارد. ترمینال معاملاتی فروشگاه برنامه ، پایگاه کد ، مقالات و سیگنال های دیگر معامله گران را ادغام می کند. فروشگاه App صدها راه حل پرداخت شده و رایگان مانند شاخص ها ، مشاوران ، اسکریپت ها و انواع خدمات را ارائه می دهد. این در صورتی است که خرید یک برنامه آماده از "اختراع چرخ" آسان تر است.

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

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

MQL Wizard 8 گزینه برای MQL4 و 10 گزینه برای MQL5 ارائه می دهد. در اینجا تصاویر جادوگر پرونده برای هر دو نسخه از زبان آورده شده است.

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

بیایید محبوب ترین آنها را در نظر بگیریم:

  • مشاور متخصص/ربات تجارت ؛
  • شاخص ؛
  • فیلمنامه ؛
  • شامل کتابخانه پرونده (. mqh).

After compilation, these applications in the form of executable code are placed in the appropriate directory of the MetaTrader Client Terminal (File >پوشه داده باز): متخصصان ، شاخص ها ، اسکریپت ها و غیره. سپس ، پس از اولیه سازی در نمودار ، آنها در پاسخ به رویدادهای ایجاد شده توسط ترمینال مشتری Metatrader در حین کار راه اندازی می شوند. رویدادها محرک راه اندازی برنامه های سفارشی است و به شما امکان می دهد تا اولیه سازی و deinitialization ، دریافت یک نقل قول جدید ، رویداد سفارشی را در نمودار و موارد دیگر پیگیری کنید.

علاوه بر این ، اکنون امکان ایجاد برنامه های کاربردی در پایتون وجود دارد. بر این اساس ، ابزارهای پایتون در ترمینال معاملاتی در دسترس هستند.

گیرنده های رویداد زیر در مرجع MQL4 شرح داده شده است.

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

در MQL5 ، تعداد دستگیرندگان در مقایسه با نسل قبلی افزایش یافته است. اکنون لیست به شرح زیر است:

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

بعداً لیست وقایع گسترش یافته است. و اکنون به شرح زیر است:

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

ربات تجارت یا مشاور متخصص

در جامعه معامله گر نیز به عنوان یک متخصص گفته می شود. مشاور خبره در ترمینال مشتری Metatrader به نمودار وصل شده است و تا زمانی که ترمینال معاملاتی در حال اجرا باشد و اتصال به سرور معاملاتی در دسترس باشد ، به طور مداوم کار می کند. از مشاوران خبره برای اجرای مطلقاً هرگونه استراتژی معاملاتی ، کنترل وضعیت حساب ، انجام عملیات معاملاتی تحت شرایط خاص و مدیریت اشیاء گرافیکی استفاده می شود. هربار که ربات بازرگانی یک ابزار جدید برای یک ساز دریافت می کند ، شروع به کار باز کردن معاملات می کند. مشاور خبره همچنین می تواند در پاسخ به تعدادی از رویدادهای دیگر راه اندازی شود: Ontimer ، Onchartevent ، Ontestertimer و غیره.

از مشاوران خبره برای ایجاد رابط های کاربر استفاده می شود. روبات ها و همچنین شاخص ها به اشیاء گرافیکی دسترسی دارند.

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

  • توانایی معاملات کلی بررسی نمی شود. می تواند توسط کاربر در ترمینال یا به طور خاص برای این مشاور غیرفعال شود. سرور معاملاتی همچنین ممکن است محدودیت در معاملات خودکار داشته باشد.
  • این حجم ممکن است کمتر از کوچکتر یا بزرگتر از بزرگتر باشد و اگر سرور محدودیتی در مرحله حجم داشته باشد ، ممکن است مناسب نباشد. به عنوان مثال ، یک کاربر وارد 0. 23 قطعه می شود و سرور حداقل 0. 05 قطعه دارد. در نتیجه ، معامله باز نمی شود و عملکرد سفارش دهنده خطایی را برمی گرداند.
  • سطح توقف برای تجارت نیز برای صحت بررسی نمی شود. آنها ممکن است در حداقل/حداکثر مقادیر مجاز قرار نگیرند یا ممکن است در محدوده تعیین شده توسط سطح یخبندان قرار نگیرد.

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

این کد در 31 مارس 2020 در ویرایشگر زبان Metaquotes 5 Build 2375 ساخته و اجرا می شود.

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

نشانگر

از شاخص برای نمایش اطلاعات در مورد داده های قیمت تبدیل شده به نوعی استفاده می شود. انواع نوسان ساز ، خطوط روند ، فراکتال ها همه شاخص ها هستند. شاخص ها به ابزارهای گرافیکی دسترسی دارند. 6 مورد از آنها در MQL4 وجود دارد ، در حالی که در MQL5 تعداد آنها 18 است. به عنوان مثال ، میانگین جابجایی مقداری ارزش متوسط و/یا یکنواخت قیمت را برای یک دوره قیمت در گذشته نشان می دهد و به طور غیرمستقیم نشانگر جهت آینده قیمت یک ابزار است. تمام وقت روی نمودار کار می کند. این نشانگر هر بار که یک کنه برای ساز در نمودار که شاخص کار می کند ، یا هنگامی که رویدادها از کاربر دریافت می شود ، به روز می شود و محاسبه می شود.

یک یا چند بافر با هر شاخصی در داخل ترمینال مشتری Metatrader همراه است که داده های عددی در آن قرار می گیرد. MQL4 32 بافر را برای یک نشانگر فراهم می کند ، در حالی که در MQL5 به شما امکان می دهد 512 بافر را کار کنید.

در زیر نمونه ای از کد منبع نشانگر Bears ، که توسط توسعه دهندگان پلتفرم به همراه Metatrader4 ارائه شده است.

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

فیلمنامه

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

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

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

نتیجه اجرای این اسکریپت خروجی زیر به گزارش Metatrader خواهد بود:

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

تلاش بیشتری برای آموزش این اسکریپت برای پردازش سفارشات در انتظار جداگانه در MQL4 خواهد بود. ابتدا بیایید یک ویژگی ایجاد کنیم تا اسکریپت بتواند پنجره ای با داده های ورودی را نشان دهد. در مرحله بعد ، یک enum حاوی 3 گزینه برای بسته شدن معاملات با یک اسکریپت اضافه کنید: فقط سفارشات بازار ، فقط سفارشات در انتظار یا کلیه معاملات موجود در حساب در حال حاضر. سپس آرایه ای را برای ذخیره بلیط در انتظار سفارش اضافه می کنیم و مطابق آن در اولین حلقه آن را پر می کنیم. اکنون همچنان می تواند گزینه بسته شدن معاملات انتخاب شده توسط کاربر را پردازش کند.

در نتیجه ، ما یک اسکریپت مانند این دریافت کردیم که نه تنها همه معاملات را می بندد بلکه انتخاب کاربر را نیز در نظر می گیرد.

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

شامل کتابخانه پرونده (. mqh)

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

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

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

مثال زیر ساده ترین تفسیر از یک آرایه پویا با نام مستعار std :: وکتور از کتابخانه استاندارد C ++ را نشان می دهد. این کد با نسخه متائیتور کامپایل و کار می کند: 5. 00 ساخت 2375 31 مارس 2020.

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

انواع داده ها و نحو زبانهای MQL4 و MQL5

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

انواع داده ها

انواع داده های اساسی زیر در MQL وجود دارد:

  • مقادیر بولی ؛
  • شماره های شناور تک و دو با دقت ؛
  • اعداد صحیح ، همچنین با دقت یک و دوتایی ، امضا و بدون امضا.
  • کاراکتر برای ذخیره داده های شخصیت ؛
  • شمارش فهرست ، اما کلاس Enum پشتیبانی نمی شود.
  • ساختارها ، کلاس ها و الگوهای کلاس.

در عین حال ، پشتیبانی اضافی برای رنگ ، رشته و dateTime به عنوان انواع داخلی وجود دارد که البته تا حدودی زندگی توسعه دهنده را ساده می کند. کار با این نوع با استفاده از توابع جهانی به سبک C سازماندهی می شود. رفتار یک رشته MQL اساساً با STD :: خانواده رشته ای از الگوهای C ++ 03 متفاوت است. آنها را گیج نکنید.

LiteFinance: MQL4 vs MQL5. MQL4 programming tutorial and difference with MQL5 | Litefinance

نحو زبانهای متاکووت

MQL دارای نحوی شبیه به C ++ است. معانی اجداد استاندارد C ++ 03 با تغییرات جزئی به MQL منتقل شده است. در حال حاضر ، MQL از نظر قابلیت ها با استاندارد C ++ 03 مطابقت دارد.

The main difference between MQL and C++ is the different semantics of pointers. If in C++ it is a virtual address at which data is located, then in MQL it is a descriptor, an analogue of a POSIX standard descriptor, a numeric identifier, a kind of wrapper over a raw pointer, by which objects created in dynamic memory and associated with this identifier exist. The arrow operator “>"برای نشانگرهای MQL پشتیبانی نمی شود ، Dereferencing با استفاده از اپراتور DOT". "انجام می شود. توصیف کننده ، دقیقاً مانند نشانگر ، باید پس از اتمام برنامه حذف شود. با این حال ، اگر فراموش نکنید که شیء را که این دسته از آن به آن اشاره دارد ، نابود کنید ، زمان اجرا وقتی این برنامه از بین می رود ، این کار را برای شما انجام می دهد.

زبان MQL فاقد مفهوم متغیر موقت و حرکت داده است. عبور متغیرها با مرجع و با ارزش از C ++ متفاوت است و در MQL به روش خاص خود اجرا می شود. هر یک از شیء پیچیده یا کلاس سفارشی با مراجعه به عملگر ampersand یا خیر ، به عملکرد منتقل می شود.

تعدادی از محدودیت ها برای اجداد وجود دارد. شما نمی توانید توابع و قالب ها را با تعداد متغیر آرگومان بنویسید. اما ، قابل توجه است ، تعدادی از کارکردهای داخلی مانند ICUSTOM (که بعداً در این مقاله تجزیه و تحلیل خواهیم کرد) ، PrintF ، StringFormat ، PrintFormat تعداد متغیر آرگومان ها را می گیرد. پارادوکس

کار با داده ها و منابع شیء در برخی از جنبه ها در مقایسه با C ++ متفاوت است ، اما همه آنها با استفاده از پیام های کامپایلر به راحتی از بین می روند. در امضاهای سازنده کپی و اپراتور تکلیف کپی به دلیل معناشناسی مختلف متغیرهای عبور از طریق مرجع تفاوت هایی وجود دارد. همچنین ، هیچ معنایی حرکتی برای حرکت متغیرها و موارد شیء در MQL وجود ندارد.

تفاوت بین کدهای MQL4 و MQL5

تفاوت بین نسل چهارم و پنجم زبانهای MQL به دلیل تفاوت بین خود سیستم عامل های Metatrader4 و Metatrader5 است. لازم به ذکر است که از زمان انتشار 600 MT4 Build ، فقط نسخه پنجم ویرایشگر زبان Metaquotes برای نوشتن و تدوین برنامه ها در MQL4 و MQL5 استفاده می شود. به طور خاص ، زبانها به روش های مختلف با عملیات معاملاتی فعالیت می کنند ، زیرا پلت فرم پنجم دارای حالت های تجاری بیشتری است و مفاهیم نظم ، معامله و موقعیت از هم جدا می شوند.

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

9 (M1 ، M5 ، M15 ، M30 ، H1 ، H4 ، D ، W ، MN)

21 (M1 ، M2 ، M3 ، M4 ، M5 ، M6 ، M10 ، M12 ، M15 ، M20 ، M30 ، H1 ، H2 ، H3 ، H4 ، H6 ، H8 ، H12 ، D1 ، W1 ، Mn1)

فارکس تحلیل تکنیکال...
ما را در سایت فارکس تحلیل تکنیکال دنبال می کنید

برچسب : نویسنده : مرتضی احمدی بازدید : <-PostHit-> تاريخ : يکشنبه 22 مرداد 1402 ساعت: 20:18