mql5 что это такое
Добро пожаловать на MQL5.community!
Сайт MQL5.community – это площадка, на которой предоставлен ряд уникальных сервисов для пользователей торговых платформ MetaTrader 5 и MetaTrader 4: вебтерминал для полноценного технического анализа и торговли, платформа для социального трейдинга (копирование торговых сигналов), магазин торговых приложений, сервис виртуального хостинга и многое другое.
Всем желающим предоставляется возможность свободно общаться и обсуждать вопросы, связанные с программированием на языках MetaQuotes Language 5 (MQL5) и MetaQuotes Language 4 (MQL4), трейдингом, написанием автоматических торговых систем, тестированием стратегий и использованием технических индикаторов на платформах MetaTrader 5 и MetaTrader 4.
Здесь вы найдете полное описание языка, статьи по самой различной тематике, форум, программы автотрейдинга, написанные на MQL4/MQL5, и многое другое. На нашем сайте вы сможете пообщаться с авторами статей и программ или задать коллегам вопрос в форуме, на который вам обязательно ответят.
Правовая информация
Торговая платформа MetaTrader® 5
Не теряйте время и скачайте бесплатную платформу MetaTrader 5 прямо сейчас! Хотите управлять своим счетом везде? Версия для мобильных устройств поможет проводить анализ и совершать сделки вдали от компьютеров.
Сервисы
На главной странице сайта представлены самые популярные торговые сигналы, продукты из магазина торговых приложений, заказы на разработку торговых роботов, свежие статьи и обсуждения на форуме.
Вебтерминал
Браузерные версии клиентского терминала для торговых платформ MetaTrader 5 и MetaTrader 4. Торгуйте на финансовых рынках прямо в окне своего браузера, используя обширный инструментарий для технического анализа. Пользовательский интерфейс вебтерминала переведен на все популярные языки.
Документация
Здесь находится самое актуальное описание всех функций языка, их синтаксис и примеры использования. При желании вы можете скачать документацию одним файлом в формате PDF или CHM.
CodeBase
Самая большая библиотека разнообразных программ для торговых платформ MetaTrader 5 и MetaTrader 4 в исходных кодах. Здесь вы можете скачать советники, индикаторы, скрипты и библиотеки, а после регистрации и сами сможете выкладывать свои разработки, обсуждать различные особенности и способы использования присланных программ.
Статьи
Обширная подборка авторских уникальных статей по программированию на языках MQL5 и MQL4. Вы сможете узнать много нового про различные технологии, механизмы, алгоритмы написания и использования программ.
Фриланс
Здесь вы можете заказать у профессионалов разработку торговых приложений, удовлетворяющих вашим индивидуальным запросам. Хорошо разбираетесь в MQL4/MQL5 и знаете нюансы торговли на финансовых рынках? Тогда вы сами сможете заработать на самой большой бирже по исполнению заказов для трейдеров.
Маркет
Сигналы
Выбери подходящую торговую систему и оформи на нее подписку в пару кликов. Замониторенные счета сопровождаются подробной статистикой и торговой историей. Продавай торговые сигналы своей системы тысячам подписчиков по всему миру и оставайся ее единственным разработчиком.
Виртуальный хостинг
Форум
MQL5 Cloud Network
Сеть распределенных вычислений MQL5 Cloud Network позволяет проводить оптимизацию торговых роботов в кратчайшие сроки. Расчеты, которые могли бы занять месяцы, осуществляются за несколько минут на тысячах компьютеров. Вы также можете предоставлять собственные ресурсы для облачной сети и зарабатывать на этом деньги.
Торговые марки
Все права на приведенные ниже торговые марки на территории Российской Федерации и других стран принадлежат MetaQuotes Ltd. Отсутствие названия или логотипа в этом списке не означает отказа MetaQuotes Ltd. от каких-либо прав на интеллектуальную собственность в отношении ее продуктов, услуг и логотипов.
Предупреждение
Пользователи сервисов могут использовать финансовую информацию для формирования собственных инвестиционных решений, одним из которых может быть решение копировать чужие сделки. Любые публикации на сайте MQL5.com носят исключительно информационный характер. Публикуемая информация не предназначена для использования в качестве финансовой рекомендации и не является таковой, носит общий характер и не подготовлена конкретно для вас.
Перед использованием информации компании для принятия инвестиционных решений, вам следует обратиться за консультацией к квалифицированным зарегистрированным специалистам по ценным бумагам и проявить должную ответственность. Никакая информация, публикуемая на нашем сайте, не является рекомендацией по инвестированию, офертой или предложением оферты на покупку или продажу, не означает рекомендацию, одобрение или поддержку какой-либо ценной бумаги, компании или фонда. Компания не несет ответственность за принимаемые вами инвестиционные решения. Вы несете ответственность за свои собственные исследования в области инвестиций и инвестиционные решения.
Регистрация
Зарегистрируйтесь и получите доступ ко всем ресурсам MQL5.community. Это позволит отправлять сообщения на форумы, писать комментарии, публиковать свои собственные разработки и многое другое.
Магазин Приложений
Каждый день на витрине MQL5 Маркета появляются десятки новых приложений для автоматизации торговли. Выберите подходящее среди 10 000 продуктов и избавьтесь от ненужных рутинных операций.
Продавайте свои программы для алготрейдинга в нашем Маркете — в самом большом магазине торговых приложений для трейдеров!
Торговые Сигналы
Выберите подходящую торговую стратегию и оформите подписку на нее в пару кликов. Все Сигналы сопровождаются подробной статистикой и графиками.
Станьте Поставщиком торговых сигналов и продавайте подписку тысячам трейдеров по всему миру. Наш сервис позволит вам хорошо зарабатывать на прибыльной стратегии даже при небольшом стартовом капитале!
Форекс VPS для MetaTrader 4/5
Работа Фрилансерам
Закажите под свою торговую стратегию технический индикатор, робота или любую другую программу для платформы MetaTrader у проверенных разработчиков.
Профессионалам алготрейдинга Фриланс предлагает сотни заказов, гарантию оплаты за выполненную работу и мгновенный вывод заработанных денег через удобные платежные системы.
Форум Трейдеров
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5.
Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами.
Статьи по торговле на финансовых рынках
Учитесь создавать свои собственные технические индикаторы и торговых роботов по примерам в статьях, написанных для вас другими трейдерами.
Быстрое погружение в MQL5
Зачем вам нужен MQL5
Есть множество причин, по которым вы решили изучать современный язык программирования торговых стратегий MQL5, и мы только приветствуем это! Старожилы легко ориентируются как в самой документации по языку, так и в статьях и множестве сервисов, которые здесь представлены. Но если вы только открыли для себя клиентский терминал MetaTrader 5, то в первый момент многое может показаться непривычным и непонятным.
Итак, что вы можете получить от знания MQL5? Возможно, вы решили научиться программировать на современном языке с поддержкой ООП (объектно-ориентированного программирования). После MQL5 вы при желании легко сможете освоить другие высокоуровневые языки, такие как C++, С#, Java и т.д. Конечно, это не означает, что они очень похожи, но общие основы в них очень близки.
Или вы уже владеете одним из этих языков и решили создать собственного торгового робота или информационно-аналитическую систему для работы на финансовых рынках? Вам не составит в таком случае труда освоить специализированный язык MQL5, который создан именно для этих целей.
А может, вы уже хорошо знаете язык MQL4, на котором создано огромное количество торговых роботов и индикаторов для популярного торгового терминала MetaTrader 4? Тогда вам достаточно будет приложить немного усилий, и вы увидите всю мощь нового языка MQL5 и все те выгоды, которые дает новая среда разработки MetaEditor 5.
Причин для изучения MQL5 может быть множество, мы хотим в этой статье дать вам несколько советов, с чего начать и на что обратить внимание. Итак, начнем.
Возможности и особенности языка
Язык MetaQuotes Language 5 (MQL5) разработан компанией MetaQuotes Software Corp. на основе многолетнего опыта по созданию информационно-торговых платформ нескольких поколений. Основные достоинства:
Новичкам в программировании
Если вы не имеете опыта программирования на языках высокого уровня, то можете взять любой учебник по языку C++ и на его примере изучить основы языка MQL5: синтаксис, типы данных, переменные, операторы, функции, ООП и т.д. Разработчики языка MQL5 стремились к тому, чтобы максимально обеспечить его совместимость по возможностям с широко распространенным языком C++.
Поначалу вам может показаться неудобным новый подход к написанию индикаторов, от множества новых функций обработки событий будут разбегаться глаза, а Си-подобный синтаксис и новые типы данных на первых порах будут непривычны.
Но пройдет совсем немного времени, и вы оцените все те преимущества, которые дает MQL5 по сравнению с привычным для вас языком предыдущего поколения MQL4. А богатые возможности по работе с чартами, графическими объектами и возможностью самому нарисовать какой угодно рисунок, как на холсте! Вы сами сможете всё оценить после знакомства с MQL5.
Если вы пишете на одном из современных языков, то вам не составит труда в кратчайшие сроки освоить и MQL5. ООП и событийная модель уже знакомы вам, останется только изучить специфические функции, специально заточенные под алготрейдинг:
Есть и небольшие отличия в синтаксисе языка, которые сделаны из соображений безопасного написания кода и оптимального времени выполнения программы:
Если вы ранее не торговали, то некоторые вопросы при написании торгового робота могут вызвать торговые термины и работа с тестером стратегий. Но на этот случай в разделе Статьи есть полезные публикации:
Таким образом, для профессионального программиста сам по себе язык MQL5 не является проблемой, тут главным является знакомство с торговлей и связанными с ней понятиями.
Установка терминала MetaTrader 5
И если вы не сильны в администрировании или не любите ходить по многочисленным скрытым каталогам и копаться в них, то укажите папку для установки терминала где-нибудь вдали от Program Files, чтобы данные терминала хранились в том же каталоге, где и сам терминал MetaTrader 5. Например, установите терминал на диск D:\, если сама операционная система установлена на диске C:\.
Подробнее о различиях в режимах работы терминала MetaTrader 5 в зависимости от пути установки можно почитать во встроенной справке в разделе Начало работы → Запуск платформы.
Индикаторы, скрипты и советники
В языке MQL5 существуют три основных вида программ, каждый из которых наилучшим образом приспособлен для решения своего круга задач:
Изучение основ языка MQL5 лучше всего начинать с написания скриптов, в которые можно вставлять примеры из Документации MQL5 или брать примеры скриптов из Code Вase. Далее можно приступать к работе с графическими объектами и начинать опыты с торговыми операциями на демосчете.
В качестве следующего этапа в изучении можно порекомендовать написание собственных пользовательских индикаторов и разбор примеров из Code Base и статей с примерами индикаторов. К тому времени, как вы освоите индикаторы, вы уже будете готовы к пониманию функций обработки событий.
Конечной целью является создание простых экспертов и проверка их на истории в тестере стратегий терминала MetaTrader 5. На эту тему также опубликовано множество статей в разделах Эксперты, Тестер и Торговые Системы.
Событийная модель
Программа в MQL5 работает только по возникновению событий. Событием может быть загрузка и инициализация программы MQL5, появление тика (изменение цены финансового инструмента), изменение свойства графика, смена символа или таймфрейма на графике, срабатывание отложенного ордера и т.д.
Таким образом, событийная модель позволяет писать интерактивные программы наиболее простым путем. Тут открываются широкие возможности по созданию собственных графических панелей и удобного пользовательского интерфейса, необходимого конкретному трейдеру. Встроенные функции по работе с графикой позволяют создавать полноценные приложения как по качеству работы программы, так и по качеству её дизайна.
Возможность генерации пользовательского события функцией EventChartCustom() для любого открытого графика в терминале MetaTrader 5 позволяет создавать сложные интерактивные системы. Перехват и обработка событий производится функцией OnChartEvent(). Иллюстрацией таких возможностей могут служить статья Плеер торговли на основе истории сделок и пример для функции EventChartCustom ().
Отладка и справка
Терминал MetaTrader 5 и редактор MetaEditor 5 содержат хорошо документированную встроенную справку, которую можно вызвать по F1. Вся документация обновляется автоматически по LiveUpdate. Кроме того, эта справка доступна в онлайне на официальном сайте торговой платформы MetaTrader 5 на нескольких языках:
Наиболее важной при изучении является документация MQL5, которая представлена не только в онлайн версии на странице https://www.mql5.com/ru/docs, но доступна там же для скачивания в CHM- и PDF-форматах на множестве языков.
Клиентский терминал и редактор MetaEditor 5 тесно интегрированы между собой. Вы всегда можете перейти из одного приложения в другое по кнопке F4. Это очень удобно для правки кода, особенно если у вас открыто несколько терминалов.
Режим отладки просто необходим как для поиска ошибок в своей программе, так и для понимания и изучения языка MQL5. При этом вы можете не только расставлять в своем коде точки останова. Существует специальная функция DebugBreak(), которая сработает только если программа работает в режиме отладки.
И конечно, стоит упомянуть о мощной поисковой системе, интегрированной в редактор MetaTrader 5, которая позволяет искать нужные результаты не только в самом исходном файле или папке, но и на сайте сообщества MQL5.community в статьях, на форуме и в Code Base.
Найденные результаты вы можете отфильтровать по категориям, выбрав только нужные. Таким образом, среда разработки предоставляет не только встроенную справку по редактору и языку MQL5, но и возможность найти полезные материалы на сайте mql5.com.
Профилировка кода
На картинке показан пример профилировки кода, который в свое время приводился на форуме (https://www.mql5.com/ru/forum/7134). Вы можете самостоятельно проверить его возможности, скачав код из указанной ветки.
MQL5 Storage: храните и пользуйтесь своими разработками централизованно
Жизнь индикаторов, чартов и графических объектов
Кроме того, в MQL5 можно вычислять значения одного индикатора на значениях другого индикатора, а также на значениях массивов. Это позволяет создавать универсальным и простым способом сложные индикаторные расчеты. И как уже упоминалось выше, возможностей по графическому представлению значений индикатора в языке MQL5 более чем достаточно.
Все операции по управлению свойствами чартов и графических объектов являются асинхронными, это позволяет не тратить время на ожидание, пока видеосистема терминала отобразит изменения цвета, размеров и т.д. Если вам необходимо получить немедленный результат выполнения функции из раздела Графические объекты или Операции с графиками, вызывайте ChartRedraw() для принудительной перерисовки графика. В остальных случаях перерисовка будет сделана терминалом автоматически при первой возможности.
Торговые операции
Можно совершить покупку или продажу, выставить отложенный ордер для совершения покупки/продажи по условию либо удалить существующий отложенный ордер. При успешном выполнении функции OrderSend() результат выполнения торгового запроса записывается в структуру MqlTradeResult.
На первых порах в ам вовсе необязательно самостоятельно разбираться с правильностью заполнения структуры MqlTradeRequest при изучении MQL5, для проведения торговых операций в Стандартной библиотеке существует специальный класс CTrade, который как раз и призван упростить жизнь программиста на MQL5:
Операции с ордерами | |
---|---|