Все статьи Обучение

Углублённое введение в MQL5

Перевод с английского. Читать оригинал

Углублённое введение в MQL5

MQL5 — это высокоуровневый язык программирования, который используется для разработки пользовательских индикаторов, советников (EA) и других автоматизированных торговых стратегий для торговой платформы MetaTrader 5. Вот некоторые ключевые особенности языка MQL5:

  1. Объектно-ориентированное программирование: MQL5 — объектно-ориентированный язык, то есть он основан на концепции объектов, которые содержат и данные, и методы. Это упрощает и ускоряет программирование, а также позволяет лучше организовывать код и повторно использовать его.
  2. Встроенная среда разработки: MQL5 поставляется со встроенной средой разработки (IDE), которая включает редактор кода, компилятор и отладчик. Это позволяет без труда писать и тестировать код прямо в платформе MetaTrader 5.
  3. Обширная библиотека: в MQL5 есть обширная библиотека встроенных функций и индикаторов, которые можно использовать для разработки торговых стратегий. Кроме того, доступно множество сторонних библиотек, которые можно интегрировать в программы на MQL5.
  4. Событийно-ориентированное программирование: MQL5 использует событийно-ориентированную модель, то есть программы выполняются в ответ на определённые события, например изменения цены, исполнение ордеров или события таймера.
  5. Многопоточность: MQL5 допускает многопоточное программирование, то есть можно создавать несколько потоков, чтобы одновременно выполнять разные части программы. Это может быть полезно для оптимизации производительности и управления сложными торговыми стратегиями.
  6. Поддержка нескольких типов данных: MQL5 поддерживает широкий набор типов данных, включая целые числа, числа с плавающей запятой, строки и массивы. Кроме того, в нём есть встроенная поддержка работы с финансовыми данными, такими как данные о ценах и объёмах.

Вот простой пример программы на MQL5, которая вычисляет скользящую среднюю по валютной паре и выводит результат в окно терминала:

// --- input parameters
input int Period = 20; // Period of the moving average
input ENUM_APPLIED_PRICE PriceType = PRICE_CLOSE; // Applied price type

// --- global variables
double MovingAverage; // Moving average value

// --- initialization function
int OnInit()
{
// Initialize the MovingAverage variable
MovingAverage = 0.0;

return(INIT_SUCCEEDED);
}

// --- main function
void OnTick()
{
// Calculate the moving average
MovingAverage = iMA(_Symbol, 0, Period, 0, PriceType, MODE_SMA, 0);

// Print the result to the terminal window
Print("Moving Average: ", MovingAverage);
}
Все статьи

Торгуйте по-своему.
Торгуйте уверенно.

На Mega1 и MetaTrader 5

Поддержка в чате

Пишите нашей службе поддержки в чат — в том числе в выходные.

Сайт поддержки

Руководства и ответы на вопросы о вашем счёте, пополнении и платформах.

Перейти на сайт

Блог

Новости компании, обзоры рынков и торговая аналитика.

Читать блог

Предупреждение о рисках: Торговля CFD-продуктами связана с высоким уровнем риска и подходит не всем инвесторам.