راز پنهان اندیکاتورهای داخلی در متاتریدر ۵-جهت برنامه نویسی به زبان متاتریدر(MetaTrader 5) و متا ادیتور MQL5 برای ترید فارکس و بازارهای مالی
✨ راز پنهان اندیکاتورهای داخلی در متاتریدر ۵
در دنیای تحلیل تکنیکال، اندیکاتورهایی چون مووینگ اوریج (Moving Average) همچون فانوسهایی هستند که مسیر معاملهگر را در تاریکی بازار روشن میکنند. اما هنگامی که کنجکاوی برنامهنویس درون ما بیدار میشود و میخواهیم پرده از رازهای پشت پرده این ابزارها برداریم، با در بستهای مواجه میشویم.
در محیط MetaTrader 5، اندیکاتورهایی مانند مووینگ اوریج بهصورت داخلی و پیشفرض در دل پلتفرم جای گرفتهاند. این اندیکاتورها توسط شرکت MetaQuotes طراحی و توسعه یافتهاند و بهصورت کامپایلشده و باینری در اختیار کاربران قرار گرفتهاند. از همین رو، در محیط MetaEditor اثری از فایلهای .mq5 مربوط به آنها نیست و امکان مشاهده یا ویرایش کد منبع آنها وجود ندارد.
این محدودیت شاید در نگاه اول ناامیدکننده باشد، اما در دل خود فرصتی نهفته دارد: فرصتی برای خلق.
برنامهنویسان میتوانند با استفاده از توابعی مانند iMA() یا حتی با نوشتن الگوریتمهای شخصی، نسخهای سفارشی از مووینگ اوریج را طراحی کنند؛ نسخهای که نهتنها قابل فهم و توسعه است، بلکه میتواند با نیازها و خلاقیتهای فردی هماهنگ شود.
📌 تابع جایگزین برای استفاده از مووینگ اوریج در MQL5:
double ma_value = iMA(NULL, PERIOD_CURRENT, 14, 0, MODE_SMA, PRICE_CLOSE, 0);
در این مثال:
-
NULLنماد فعلی را مشخص میکند. -
PERIOD_CURRENTتایمفریم جاری را تعیین میکند. -
14دوره میانگین متحرک است. -
0شیفت (جابجایی) اندیکاتور است. -
MODE_SMAنوع میانگین متحرک را مشخص میکند (SMA). -
PRICE_CLOSEقیمت بسته شدن کندلها را مبنا قرار میدهد. -
0مربوط به کندل جاری است.
در نهایت، شاید نتوانیم به کد اصلی مووینگ اوریج دست یابیم، اما میتوانیم با دانش و هنر خود، نوری تازه بر مسیر تحلیل بیفکنیم و ابزارهایی بسازیم که از دل تجربه و فهم ما زاده شدهاند.