Статьи по программированию и использованию торговых роботов на языке MQL5

icon

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

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

Новая статья
последние | лучшие
Статистический Carry Trading
Статистический Carry Trading

Статистический Carry Trading

Алгоритм статистической защиты открытых позиций c положительными свопами от нежелательных движений котировок. Чтобы компенсировать потенциальный риск от движения котировок в противоположном открытой позиции направлении, в данной статье будет приведен вариант защищенной стратегии керри трейдинга.
Разработка самоадаптирующегося алгоритма (Часть I): Поиск базовой закономерности
Разработка самоадаптирующегося алгоритма (Часть I): Поиск базовой закономерности

Разработка самоадаптирующегося алгоритма (Часть I): Поиск базовой закономерности

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

Методы дистанционного управления работой советников

Основным преимуществом торговых роботов является безустанная работа 24 часа в сутки на удаленном VPS сервере. Но иногда необходимо вмешаться в их работу в ручном режиме, а прямого доступа к серверу сейчас нет. Возможно ли управлять работой советника дистанционно? В данной статье предлагается один из вариантов управления роботами через внешние команды.
Рецепты MQL5 - Торговые сигналы скользящих каналов
Рецепты MQL5 - Торговые сигналы скользящих каналов

Рецепты MQL5 - Торговые сигналы скользящих каналов

В статье представлен процесс разработки и реализации класса-сигнальщика на основе скользящих каналов. За каждой из версий сигнала следует торговая стратегия с результатами тестирования. Используются классы Стандартной библиотеки для создания производных классов.
preview
Нейросети — это просто (Часть 8): Механизмы внимания

Нейросети — это просто (Часть 8): Механизмы внимания

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

Модель продолжения движения - поиск на графике и статистика исполнения

В данной статье я хочу описать программное определение одной из моделей продолжения движения. В основе работы лежит определение двух волн — основной волны и коррекционной волны. В качестве экстремумов будут использованы фракталы, а также, как я их называю, потенциальные фракталы - экстремумы, которые как фракталы еще не сформировались.
preview
Нейросети — это просто (Часть 6): Эксперименты с коэффициентом обучения нейронной сети

Нейросети — это просто (Часть 6): Эксперименты с коэффициентом обучения нейронной сети

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

Изменяем параметры эксперта с пользовательской панели "на лету"

В этой статье приводится небольшой пример реализации эксперта, для которого можно изменять параметры с пользовательской панели. Изменяя параметры "на лету", эксперт записывает значения с информационной панели в файл, а затем читает их из файла для отображения на панели. Статья может быть актуальной для тех, кто торгует в ручном или полуавтоматическом режиме.
Создаем кроссплатформенный советник-сеточник (Часть III): сетка на коррекциях с мартингейлом
Создаем кроссплатформенный советник-сеточник (Часть III): сетка на коррекциях с мартингейлом

Создаем кроссплатформенный советник-сеточник (Часть III): сетка на коррекциях с мартингейлом

В этой статье мы попробуем создать лучший из возможных советников, работающих по принципу сеточника. Как обычно, это будет кроссплатформенный советник, способный работать как в MetaTrader 4, так и в MetaTrader 5. Первый советник был хорош всем, кроме того, что не мог принести прибыль на длительном промежутке времени. Второй советник мог работать на интервалах более нескольких лет. Но принести более 50% прибыли в год при максимальной просадке менее 50% он был не способен.
Создаем кроссплатформенный советник-сеточник (Окончание): диверсификация как способ повышения прибыльности
Создаем кроссплатформенный советник-сеточник (Окончание): диверсификация как способ повышения прибыльности

Создаем кроссплатформенный советник-сеточник (Окончание): диверсификация как способ повышения прибыльности

В прошлых статьях данной серии мы пытались разными способами создать более или менее прибыльный советник-сеточник. Теперь же мы попробуем увеличить прибыльность торгового советника с помощью диверсификации. Нашей целью является всеми желанные 100% прибыли в год при 20% максимальной просадки по балансу.
Глубокие нейросети (Часть V). Байесовская  оптимизация гиперпараметров DNN
Глубокие нейросети (Часть V). Байесовская  оптимизация гиперпараметров DNN

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

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

Торговая система 'Turtle Soup' и её модификация 'Turtle Soup Plus One'

В статье формализованы и запрограммированы правила торговых стратегий Turtle Soup и Turtle Soup Plus One из книги Линды Рашке и Лоуренса Коннорс Street Smarts: High Probability Short-Term Trading Strategies. Описанные в книге стратегии получили достаточно широкое распространение, но важно понимать, что авторы строили их исходя из поведения рынка 15..20-летней давности.
preview
Нейросети — это просто (Часть 13): Пакетная нормализация (Batch Normalization)

Нейросети — это просто (Часть 13): Пакетная нормализация (Batch Normalization)

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

Эконометрический подход к поиску рыночных закономерностей: автокорреляция, тепловые карты и диаграммы рассеяния

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

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

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

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

В этой статье рассматривается реализация стоп-уровней в торговом советнике, совместимая с платформами MetaTrader 4 и MetaTrader 5.
Рецепты MQL5 - Программируем скользящие каналы
Рецепты MQL5 - Программируем скользящие каналы

Рецепты MQL5 - Программируем скользящие каналы

В данной статье представлен способ программирования системы равноудалённых каналов. Рассматриваются некоторые нюансы построения таких каналов. Приводится типизация каналов, предлагается способ универсального типа скользящих каналов. При реализации кода используется инструментарий ООП.
Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II)
Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II)

Торговый эксперт с графическим интерфейсом: Наполнение функционалом (Часть II)

Перед вами вторая часть статьи о создании мультисимвольного сигнального эксперта для ручной торговли. Мы уже создали графический интерфейс. В этой статье речь пойдет о том, как связать его с функционалом программы.
preview
Нейросети — это просто (Часть 12): Dropout

Нейросети — это просто (Часть 12): Dropout

Продвигаясь дальше в изучении нейронных сетей, наверное, стоит немного уделить внимания методам повышения их сходимости при обучении. Существует несколько таких методов. В этой статье предлагаю рассмотреть один из них — Dropout.
TradeObjects: Автоматизация торговли на основе графических объектов в MetaTrader
TradeObjects: Автоматизация торговли на основе графических объектов в MetaTrader

TradeObjects: Автоматизация торговли на основе графических объектов в MetaTrader

В статье рассматривается простой подход к созданию системы автоматической торговли по линейной разметке графика. Предложен готовый эксперт, использующий стандартные свойства объектов MetaTrader 4 и 5 и поддерживающий основные торговые операции.
Извлечение структурированных данных из HTML-страниц с помощью CSS-селекторов
Извлечение структурированных данных из HTML-страниц с помощью CSS-селекторов

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

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

Хранение и отображение информации

Статья посвящена удобным и практичным методам хранения и отображения информации. Здесь рассматриваются альтернативы стандартному логфайлу терминала и функции Comment().
Автоматическая оптимизация советника в MetaTrader 5
Автоматическая оптимизация советника в MetaTrader 5

Автоматическая оптимизация советника в MetaTrader 5

В данной статье описана реализация механизма самооптимизации работающего эксперта в MetaTrader 5.
Глубокие нейросети (Часть VII). Ансамбль нейросетей: stacking
Глубокие нейросети (Часть VII). Ансамбль нейросетей: stacking

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

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

Готовые советники из Мастера MQL5 работают в MetaTrader 4

В статье предлагается простой эмулятор торгового окружения MetaTrader 5 для MetaTrader 4. С его помощью выполняются перенос и адаптация торговых классов стандартной библиотеки. В результате советники, генерируемые в Мастере MetaTrader 5, могут компилироваться и запускаться без изменений в MetaTrader 4.
preview
Нейросети — это просто (Часть 7): Адаптивные методы оптимизации

Нейросети — это просто (Часть 7): Адаптивные методы оптимизации

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

Разнонаправленная торговля и хеджирование позиций в MetaTrader 5 с помощью API HedgeTerminal, часть 2

Статья описывает новый подход в вопросах хеджирования позиций и ставит точку в спорах между пользователями платформ MetaTrader 4 и MetaTrader 5 в этом вопросе. Она является продолжением первой части: "Разнонаправленная торговля и хеджирование позиций в MetaTrader 5 с помощью панели API HedgeTerminal". Во второй части описывается интеграция пользовательских экспертов с HedgeTerminalAPI - специальной библиотекой виртуализации, позволяющей торговать разнонаправлено, находясь в комфортном программном окружении, позволяющем легко и просто управлять своими позициями.
Как создать эксперта за несколько минут при помощи EA Tree: Часть 1
Как создать эксперта за несколько минут при помощи EA Tree: Часть 1

Как создать эксперта за несколько минут при помощи EA Tree: Часть 1

Программа EA Tree является первым инструментом, позволяющим построить код советника на базе блок-схем методом "drag and drop". Создание советников в EA Tree осуществляется путем построения блоков, которые могут содержать функции языка MQL5, технические и пользовательские индикаторы, или численные значения. Выходы блоков могут быть соединены с входами других блоков, образуя "дерево блоков". На базе дерева блоков программа EA Tree генерирует исходный код советника, который затем может быть скомпилирован в торговой платформе MetaTrader 5.
Ошибка 146 ("Торговый поток занят") и как с ней бороться
Ошибка 146 ("Торговый поток занят") и как с ней бороться

Ошибка 146 ("Торговый поток занят") и как с ней бороться

Статья посвящена бесконфликтной торговле нескольких экспертов на одном терминале МТ 4 и рассчитана на пользователя, обладающего базовыми навыками работы с терминалом и программирования на MQL 4.
Прогнозирование временных рядов (Часть 1): метод эмпирической модовой декомпозиции (EMD)
Прогнозирование временных рядов (Часть 1): метод эмпирической модовой декомпозиции (EMD)

Прогнозирование временных рядов (Часть 1): метод эмпирической модовой декомпозиции (EMD)

В статье рассмотрена теория и практическое применение алгоритма прогнозирования временных рядов на основе эмпирической модовой декомпозиции, предложена его реализации на MQL, предоставлены тестовые индикаторы и эксперты.
Графический эксперт AutoGraf
Графический эксперт AutoGraf

Графический эксперт AutoGraf

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

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

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

Генетические алгоритмы в MetaTrader 4. Сравнение с прямым перебором оптимизатора

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

Как подготовить описание продукта для Маркета

В MQL5 Маркете представлено много продуктов, однако их описания оставляют желать лучшего. Многие тексты непонятны обычному трейдеру и нуждаются в улучшении. Данная статья поможет вам представить свой продукт в выгодном свете. Воспользуйтесь ею и создайте хорошее описание, которое доходчиво объяснит вашим покупателям, что именно вы продаете.
Рецепты MQL5 - Торговые сигналы пивотов
Рецепты MQL5 - Торговые сигналы пивотов

Рецепты MQL5 - Торговые сигналы пивотов

В статье представлен процесс разработки и реализации класса-сигнальщика на основе пивотов — разворотных уровней. На базе этого класса строится стратегия с использованием Стандартной библиотеки. Рассматриваются возможности развития стратегии пивотов посредством добавления фильтров.
Глубокие нейросети (Часть II). Разработка и выбор предикторов
Глубокие нейросети (Часть II). Разработка и выбор предикторов

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

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

Свопы (Часть I) : Локирование и синтетические позиции

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

Контроль наклона кривой баланса во время работы торгового эксперта

Найти правила для торговой системы и запрограммировать их в советнике - это еще полбеды. Необходимо каким-то образом поправлять работу эксперта в процессе накопления результатов торговли. В статье описывается один из подходов, позволяющий улучшить характеристики торгового эксперта при помощи создания обратной связи, измеряющей наклон кривой баланса депозита.
Исследование методов свечного анализа (Часть III): Библиотека работы с паттернами
Исследование методов свечного анализа (Часть III): Библиотека работы с паттернами

Исследование методов свечного анализа (Часть III): Библиотека работы с паттернами

Целью данной статьи является создание пользовательского инструмента, позволяющего получать и использовать весь массив информации о паттернах, рассмотренных ранее. Для этого будет разработана библиотека, которую можно будет использовать в своих индикаторах, торговых панелях, экспертах и т.д.
Пример написания игры "Змейка" на MQL5
Пример написания игры "Змейка" на MQL5

Пример написания игры "Змейка" на MQL5

В статье рассматривается пример написания игры "Змейка". Создание игр в 5-ой версии языка MQL стало возможным, в первую очередь, благодаря обработке событий. Поддержка объектно-ориентированного программирования значительно упрощает данный процесс. Также вы узнаете особенности обработки событий, примеры работы со стандартной библиотекой MQL5 и способы периодического вызова функций.