Статьи об интеграции MetaTrader 5 с помощью языка MQL5

icon

Задачи, которые встают перед трейдером, интересны и, зачастую, требуют нестандартных подходов. Здесь вы найдете статьи, в которых предлагаются самые неожиданные решения для оценки, анализа и обработки ценовых данных и результатов торговли. Подключение баз данных и ICQ, использование OpenCL и  социальных сетей, использование Delphi и C# - всё это затрагивают авторы предлагаемых статей.

Читайте, и вы узнаете, как использовать специализированные математические и нейронные пакеты, а также многое другое. Станьте автором и поделитесь уникальными знаниями с MQL5.community.

Новая статья
последние | лучшие
Практическое применение нейронных сетей в трейдинге
Практическое применение нейронных сетей в трейдинге

Практическое применение нейронных сетей в трейдинге

В статье рассмотрены основные моменты интеграции нейронных сетей и торгового терминала с целью создания полноценного торгового робота.
Управление оптимизацией (Часть 2): Создание ключевых объектов и логики приложения
Управление оптимизацией (Часть 2): Создание ключевых объектов и логики приложения

Управление оптимизацией (Часть 2): Создание ключевых объектов и логики приложения

Данная статья является продолжением предыдущей публикации на тему создания графического интерфейса для управления оптимизациями. В ней будет рассмотрена логика работы создаваемого дополнения. Создадим обертку для терминала MetaTrader 5 для его запуска как управляемый процесс через C#. А также будет рассмотрена работа с конфигурационными файлами и файлами настроек. Логика программы же будет поделена на две части: в первой описаны методы, вызываемые после нажатия на ту или иную клавишу, а вторая часть — запуск и управление оптимизациями.
Управление оптимизацией  (Часть I): Создание графического интерфейса
Управление оптимизацией  (Часть I): Создание графического интерфейса

Управление оптимизацией (Часть I): Создание графического интерфейса

В данной статье описывается процесс создания расширения для терминала MetaTrader. Предлагаемое решение помогает автоматизировать процесс оптимизации путем запуска оптимизаций в других терминалах. На базе данной статьи будет написано еще несколько статей, развивающих затронутую тему. Расширение написано с использованием языка C# и шаблонов программирования, что демонстрирует помимо основной задачи данной статьи возможность терминала к расширению изначально заложенных в него возможностей путем написания собственных модулей, а также то, как просто можно создавать пользовательскую графику в языке с наиболее удобным для этого функционалом.
Оценка индекса фрактальности, показателя Херста и возможность предсказания финансовых временных рядов
Оценка индекса фрактальности, показателя Херста и возможность предсказания финансовых временных рядов

Оценка индекса фрактальности, показателя Херста и возможность предсказания финансовых временных рядов

Поиски и изучение фрактального поведения финансовых данных подразумевают, что за внешне хаотическим поведением экономических временных рядов скрываются и действуют устойчивые механизмы коллективного поведения участников. На бирже такие механизмы могут приводить к возникновению ценовой динамики, которая определяет и описывает специфические свойства ценовых рядов. В трейдинге были бы интересны такие индикаторы, которые могут эффективно и устойчиво оценивать параметры фрактальности на том масштабе и диапазоне времени, которые актуальны на практике.
Создание графических интерфейсов на базе .Net Framework и C# (Часть 2): Дополнительные графические элементы
Создание графических интерфейсов на базе .Net Framework и C# (Часть 2): Дополнительные графические элементы

Создание графических интерфейсов на базе .Net Framework и C# (Часть 2): Дополнительные графические элементы

Статья является логическим продолжением предыдущей публикации "Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#" и знакомит читателей с новыми графическими элементами для создания графических интерфейсов.
Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения
Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения

Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения

В этой статье представлена следующая версия приложения Pattern Analyzer. В нем были исправлены некоторые недоработки, добавлены новые возможности, пересмотрено удобство и актуальность текущего интерфейса. При этом были рассмотрены пожелания и идеи из комментариев предыдущих статей. Что в итоге получилось — читайте далее в этой статье.
ZUP - зигзаг универсальный с паттернами Песавенто: Графический интерфейс. Дополнения и изменения. Вилы Эндрюса в ZUP
ZUP - зигзаг универсальный с паттернами Песавенто: Графический интерфейс. Дополнения и изменения. Вилы Эндрюса в ZUP

ZUP - зигзаг универсальный с паттернами Песавенто: Графический интерфейс. Дополнения и изменения. Вилы Эндрюса в ZUP

В версии 153 редактирование почти всех параметров ZUP можно осуществлять через графический интерфейс. В статье дано описание последних изменений в графическом интерфейсе ZUP. Описаны также основные элементы вил Эндрюса в ZUP для использования этого инструмента при анализе рыночной ситуации.
Как за 10 минут написать DLL библиотеку на MQL5 (Часть II): Пишем в среде Visual Studio 2017
Как за 10 минут написать DLL библиотеку на MQL5 (Часть II): Пишем в среде Visual Studio 2017

Как за 10 минут написать DLL библиотеку на MQL5 (Часть II): Пишем в среде Visual Studio 2017

Первоначальная "базовая" статья отнюдь не потеряла актуальности и всем интересующимся данной темой просто необходимо ее прочесть. Но с тех пор прошло достаточно много времени, сейчас актуальна версия Visual Studio 2017, в которой изменился, пусть и не значительно, интерфейс, да и сама платформа MetaTrader 5 развивалась и не стояла на месте. В статье рассмотрены этапы создания проекта dll, его настройки и совместной работы с инструментами терминала MetaTrader 5.
Соединение MetaTrader 5 и Python: получение и отправка данных
Соединение MetaTrader 5 и Python: получение и отправка данных

Соединение MetaTrader 5 и Python: получение и отправка данных

Работа с данными в наше время требует обширного инструментария и зачастую не ограничивается "песочницей" какого-то отдельного приложения. Существуют специализированные общепризнанные языки программирования для обработки и анализа данных, статистики и машинного обучения. Лидером в этой области является язык Python. В статье описан пример связи MetaTrader 5 и Python при помощи сокетов, а также получение котировок через API терминала.
Извлечение структурированных данных из HTML-страниц с помощью CSS-селекторов
Извлечение структурированных данных из HTML-страниц с помощью CSS-селекторов

Извлечение структурированных данных из HTML-страниц с помощью CSS-селекторов

В статье описан универсальный метод анализа и конвертации данных из HTML-документов, основанный на CSS-селекторах. Торговые отчеты, отчеты тестера, ваши любимые экономические календари, публичные сигналы и мониторы счетов, дополнительные источники онлайн котировок - все это становится доступным из MQL.
Использование вычислительных возможностей MATLAB 2018 в MetaTrader 5
Использование вычислительных возможностей MATLAB 2018 в MetaTrader 5

Использование вычислительных возможностей MATLAB 2018 в MetaTrader 5

После модернизации пакета MATLAB в 2015 году необходимо рассмотреть современный способ создания DLL-библиотек. На примере прогнозирующего индикатора в статье иллюстрируются особенности связывания MetaTrader 5 и MATLAB с использованием современных 64-х разрядных версий платформ, применяемых в настоящее время. Рассмотрение всей последовательности подключения MATLAB позволит разработчику на MQL5 быстрее создавать приложения с расширенными вычислительными возможностями, избегая «подводных камней».
Синтаксический анализ MQL средствами MQL
Синтаксический анализ MQL средствами MQL

Синтаксический анализ MQL средствами MQL

Статья описывает препроцессор, сканер и парсер для синтаксического анализа исходных кодов на MQL. Реализация на MQL прилагается.
Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#
Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#

Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#

Простой и быстрый способ создания графических окон при помощи редактора Visual Studio с последующей интеграцией в код MQL советника. Статья расчитана на широкий круг читателей, и не требует каких-либо познаний в C# и технологии .Net.
Как самостоятельно создать и протестировать в MetaTrader 5 инструменты Московской биржи
Как самостоятельно создать и протестировать в MetaTrader 5 инструменты Московской биржи

Как самостоятельно создать и протестировать в MetaTrader 5 инструменты Московской биржи

В статье рассказывается как с помощью языка MQL5 создать свой собственный символ биржевого инструмента. В частности, используя биржевые котировки с популярного сайта "финам". Кроме того рассматривается возможность работы с произвольным форматом текстовых файлов, из которых создается пользовательский символ. Поэтому и финансовые инструменты и источники данных могут быть любыми. Создав пользовательский символ, мы можем использовать все возможности тестера стратегий MetaTrader 5 для проверки торговых алгоритмов на биржевых инструментах.
Применение OpenCL для тестирования свечных моделей
Применение OpenCL для тестирования свечных моделей

Применение OpenCL для тестирования свечных моделей

В данной статье мы рассмотрим алгоритм реализации тестера свечных моделей на языке OpenCL в режиме "OHLC на M1". А также сравним его быстродействие cо встроенным тестером стратегий, запущенным в режиме быстрой и медленной оптимизации.
950 сайтов транслируют экономический календарь от MetaQuotes
950 сайтов транслируют экономический календарь от MetaQuotes

950 сайтов транслируют экономический календарь от MetaQuotes

Добавление виджета обеспечивает сайты подробным расписанием выхода 500 показателей и индикаторов крупнейших мировых экономик. Таким образом трейдеры, помимо основного контента площадки, оперативно получают актуальную информацию по всем важным событиям с пояснениями и графиками.
Написание биржевых индикаторов с контролем объема на примере индикатора дельты
Написание биржевых индикаторов с контролем объема на примере индикатора дельты

Написание биржевых индикаторов с контролем объема на примере индикатора дельты

В статье рассмотрен алгоритм построения биржевых индикаторов на реальных объемах с использованием функций CopyTicks() и CopyTicksRange(). Также приведены особенности построения таких индикаторов и описаны нюансы их работы в реальном времени и в тестере стратегий.
Глубокие нейросети (Часть VIII). Повышение качества классификации bagging-ансамблей
Глубокие нейросети (Часть VIII). Повышение качества классификации bagging-ансамблей

Глубокие нейросети (Часть VIII). Повышение качества классификации bagging-ансамблей

В статье рассматриваются три метода, с помощью которых можно повысить качество классификации bagging-ансамблей, и оценивается их эффективность. Проведена оценка того, как влияет оптимизация гиперпараметров нейросетей ELM и параметров постпроцессинга на качество классификации ансамбля.
Интеграция эксперта на MQL и базы данных (SQL Server, .NET и C#)
Интеграция эксперта на MQL и базы данных (SQL Server, .NET и C#)

Интеграция эксперта на MQL и базы данных (SQL Server, .NET и C#)

Статья описывает, как добавить в экспертов на MQL5 возможность работы с сервером баз данных Microsoft SQL Server. Используется импорт функций из DLL. Для создания DLL применяется платформа Microsoft .NET и язык C#. Используемые в статье методы с незначительными изменениями подходят и для экспертов, написанных на MQL4.
Как составить Техническое Задание для заказа торгового робота
Как составить Техническое Задание для заказа торгового робота

Как составить Техническое Задание для заказа торгового робота

Вы разработали торговую стратегию и торгуете по ней? Если правила вашей системы хорошо формализуются в программные алгоритмы, то лучше вместо себя поставить торговать робота. Робот не спит, не ест и не подвержен человеческим слабостям. В этой статье мы покажем, как составить Техническое Задание для заказа торгового робота во Фрилансе.
Глубокие нейросети (Часть VII). Ансамбль нейросетей: stacking
Глубокие нейросети (Часть VII). Ансамбль нейросетей: stacking

Глубокие нейросети (Часть VII). Ансамбль нейросетей: stacking

Мы продолжаем строить ансамбли. Теперь к bagging-ансамблю, созданному ранее, добавим обучаемый объединитель — глубокую нейросеть. Одна нейросеть объединяет 7 лучших выходов ансамбля после обрезки. Вторая принимает на вход все 500 выходов ансамбля, обрезает и объединяет их. Нейросети будем строить с помощью пакета keras/TensorFlow из Python. Кратко рассмотрим возможности пакета. Проведем тестирование и сравним качество классификации bagging и stacking ансамблей.
preview
Как создать графическую панель любой сложности и как это работает

Как создать графическую панель любой сложности и как это работает

В статье подробно рассматривается, как создать панель на базе класса CAppDialog и как добавить в нее элементы управления. Описывается структура панели и схема наследования объектов в ней. Продемонстрировано, что нужно для обработки событий и как события раздаются подчинённым элементам управления. Приведены примеры изменения параметров панели: размера, цвета фона.
Создание пользовательской новостной ленты в MetaTrader 5
Создание пользовательской новостной ленты в MetaTrader 5

Создание пользовательской новостной ленты в MetaTrader 5

В статье рассматривается возможность создания гибкой новостной ленты, предоставляющей множество опций по выбору типа новостей и их источника. Статья показывает, как можно интегрировать веб-API с терминалом MetaTrader 5.
Сравниваем скорость самокэширующихся индикаторов
Сравниваем скорость самокэширующихся индикаторов

Сравниваем скорость самокэширующихся индикаторов

В статье проводится сравнение классического MQL5-доступа к индикаторам с альтернативными способами в стиле MQL4. Рассматриваются несколько вариантов MQL4-стиля доступа к индикаторам: с кэшированием хэндлов индикаторов и без него. Исследован учет хэндлов индикаторов внутри ядра MQL5.
Глубокие нейросети (Часть VI). Ансамбль нейросетевых классификаторов: bagging
Глубокие нейросети (Часть VI). Ансамбль нейросетевых классификаторов: bagging

Глубокие нейросети (Часть VI). Ансамбль нейросетевых классификаторов: bagging

Рассмотрим методы построения и обучения ансамблей нейросетей со структурой bagging. Определим особенности оптимизации гиперпараметров индивидуальных нейросетевых классификаторов, составляющих ансамбль. Сравним качество оптимизированной нейросети, полученной в предыдущей статье серии, и созданного ансамбля нейросетей. Рассмотрим возможности дальнейшего улучшения качества классификации полученного ансамбля.
Управляемая оптимизация: метод отжига
Управляемая оптимизация: метод отжига

Управляемая оптимизация: метод отжига

В тестере стратегий торговой платформы MetaTrader 5 есть только два варианта оптимизации: полный перебор параметров и генетический алгоритм. В этой статье предложен новый вариант оптимизации торговых стратегий — метод отжига. Приводится алгоритм метода, его реализация и способ подключения к любому советнику. Разработанный алгоритм протестирован на советнике Moving Average.
ZUP - зигзаг универсальный с паттернами Песавенто. Поиск паттернов
ZUP - зигзаг универсальный с паттернами Песавенто. Поиск паттернов

ZUP - зигзаг универсальный с паттернами Песавенто. Поиск паттернов

Индикаторная платформа ZUP позволяет производить поиск множества известных паттернов, параметры которых уже заданы. Но можно также и подстраивать эти параметры в соответствии со своими требованиями. Есть и возможность создавать новые паттерны с помощью графического интерфейса ZUP и сохранять их параметры в файл. После этого можно быстро проверить, встречаются ли новые паттерны на графиках.
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)

LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)

Промежуточная ступенька для тех, кто всё ещё пишет на MQL4, но никак не может перейти на MQL5. Мы продолжаем искать возможности для написания кода в стиле MQL4. На этот раз рассмотрим макроподстановку препроцессора - #define.
Глубокие нейросети (Часть V). Байесовская  оптимизация гиперпараметров DNN
Глубокие нейросети (Часть V). Байесовская  оптимизация гиперпараметров DNN

Глубокие нейросети (Часть V). Байесовская оптимизация гиперпараметров DNN

В статье рассматриваются возможности байесовской оптимизации гиперпараметров глубоких нейросетей, полученных различными вариантами обучения. Сравнивается качество классификации DNN с оптимальными гиперпараметрами при различных вариантах обучения. Форвард-тестами проверена глубина эффективности оптимальных гиперпараметров DNN. Определены возможные направления улучшения качества классификации.
LifeHack для трейдера: готовим фастфуд из индикаторов
LifeHack для трейдера: готовим фастфуд из индикаторов

LifeHack для трейдера: готовим фастфуд из индикаторов

Если вы переходите на MQL5 только сейчас, то эта статья вам пригодится: с одной стороны, доступ к данным индикаторов и к сериям выполнен в привычном вам MQL4-стиле, с другой — вся реализация этой простоты написана на MQL5. Все функции максимально понятны и отлично подходят для пошаговой отладки.
Автоматический подбор перспективных сигналов
Автоматический подбор перспективных сигналов

Автоматический подбор перспективных сигналов

Статья посвящена изучению торговых сигналов для MetaTrader 5 с автоматическим исполнением на счетах подписчиков. Также рассматривается разработка инструментов для поиска перспективных торговых сигналов прямо в терминале.
Кроссплатформенный торговый советник: Классы CExpertAdvisor и CExpertAdvisors
Кроссплатформенный торговый советник: Классы CExpertAdvisor и CExpertAdvisors

Кроссплатформенный торговый советник: Классы CExpertAdvisor и CExpertAdvisors

В заключительной статье серии о кроссплатформенном торговом советнике речь пойдет о классах CExpertAdvisor и CExpertAdvisors, которые служат контейнерами для всех ранее описанных компонентов эксперта. Также рассмотрена реализация отслеживания новых баров и сохранения данных.
R-квадрат как оценка качества кривой баланса стратегии
R-квадрат как оценка качества кривой баланса стратегии

R-квадрат как оценка качества кривой баланса стратегии

Статья описывает построение пользовательского критерия оптимизации R-квадрат. По этому критерию можно оценить качество кривой баланса стратегии и выбрать наиболее равномерно растущие и стабильные стратегии. Материал описывает принципы его построения и статистические методы, используемые для оценки свойств и качества этой метрики.
Кроссплатформенный торговый советник: Пользовательские стопы, Безубыток и Трейлинг
Кроссплатформенный торговый советник: Пользовательские стопы, Безубыток и Трейлинг

Кроссплатформенный торговый советник: Пользовательские стопы, Безубыток и Трейлинг

В статье обсуждается установка пользовательских стоп-уровней в кроссплатформенном советнике. Также описан тесно связанный с ними метод, который помогает задать изменение стоп-уровней с течением времени.
Кроссплатформенный торговый советник: Стоп-уровни
Кроссплатформенный торговый советник: Стоп-уровни

Кроссплатформенный торговый советник: Стоп-уровни

В этой статье рассматривается реализация стоп-уровней в торговом советнике, совместимая с платформами MetaTrader 4 и MetaTrader 5.
Глубокие нейросети (Часть IV). Создание, обучение и тестирование модели нейросети
Глубокие нейросети (Часть IV). Создание, обучение и тестирование модели нейросети

Глубокие нейросети (Часть IV). Создание, обучение и тестирование модели нейросети

В статье рассматриваются новые возможности пакета darch (v.0.12.0). Описаны результаты обучения глубокой нейросети с различными типами данных, структурой и последовательностью обучения. Проанализированы результаты.
Создание и тестирование пользовательских символов в MetaTrader 5
Создание и тестирование пользовательских символов в MetaTrader 5

Создание и тестирование пользовательских символов в MetaTrader 5

Возможность создавать собственные символы открывает новые горизонты в разработке торговых систем и анализе любых финансовых рынков. Теперь трейдеры могут строить графики и тестировать торговые стратегии на неограниченном количестве финансовых инструментов.
Кроссплатформенный торговый советник: Временные фильтры
Кроссплатформенный торговый советник: Временные фильтры

Кроссплатформенный торговый советник: Временные фильтры

В статье обсуждается реализация различных методов временной фильтрации в кроссплатформенном торговом советнике. Классы временных фильтров отвечают за проверку того, попадает ли конкретное время в определенный период, заданный в настройках.
Глубокие нейросети (Часть III). Выбор примеров и уменьшение размерности
Глубокие нейросети (Часть III). Выбор примеров и уменьшение размерности

Глубокие нейросети (Часть III). Выбор примеров и уменьшение размерности

Эта статья продолжает серию публикаций о глубоких нейросетях. Рассматривается выбор примеров (удаление шумовых), уменьшение размерности входных данных и разделение набора на train/val/test в процессе подготовки данных для обучения.
Глубокие нейросети (Часть II). Разработка и выбор предикторов
Глубокие нейросети (Часть II). Разработка и выбор предикторов

Глубокие нейросети (Часть II). Разработка и выбор предикторов

Во второй статье из серии о глубоких нейросетях рассматриваются трансформация и выбор предикторов в процессе подготовки данных для обучения модели.