
Машинное обучение и Data Science — Нейросети (Часть 01): Разбираем нейронные сети с прямой связью
Многие любят, но немногие понимают все операции, лежащие в основе нейронных сетей. В этой статье я постараюсь простым языком объяснить все, что происходит за закрытыми дверями многоуровневого перцептрона с прямой связью Feed Forward.


Разработка торговых роботов при помощи визуального программирования
В статье демонстрируется возможности редактора botbrains.app — no-code платформы для разработки торговых роботов. Чтобы создать торгового робота не нужно программировать — просто перетащите нужные блоки на схему, задайте их параметры и установите связи между ними.

Как и зачем разрабатывать собственную систему для алгоритмической торговли
В этой статье мы рассмотрим основы языка программирования MQL. Цель статьи — помочь начинающим программистам разработать собственную систему алгоритмической торговли (торгового советника).


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


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

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


Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVIII): Интерактивность объекта-аккаунт и любых других объектов библиотеки
В статье организована работа объекта-аккаунт на новом базовом объекте всех объектов библиотеки, доработан базовый объект CBaseObj и протестирована установка отслеживаемых параметров, а также получение событий для любых объектов библиотеки.

Разработка торговой системы по индикатору фракталов Fractals
Перед вами новая статья из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. Мы изучим еще один технический инструмент — индикатор Fractals, а также разработаем на его основе торговые системы для работы в терминале MetaTrader 5.


Разработка торговой системы на основе индикатора RSI
В этой статье мы поговорим об еще одном популярном и часто используемом индикаторе — RSI. Узнаем, как разработать торговую систему на основе показателей от этого индикатора.

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

Поиск свечных паттернов с помощью MQL5
В этой статье мы поговорим о том, как автоматически определять свечные паттерны с помощью MQL5.


Применение OLAP в трейдинге (Часть 4): Количественный и визуальный анализ отчетов тестера
Статья предлагает базовый инструментарий для OLAP-анализа отчетов тестера об одиночных проходах и результатах оптимизации в виде файлов стандартных форматов (tst и opt), а также интерактивный графический интерфейс к нему. Исходные коды MQL прилагаются.

Разработка торговой системы на основе индикатора ATR
В этой статье мы изучим новый технический инструмент, который можно использовать в торговле. Это продолжение серии, в которой мы учимся проектировать простые торговые системы. В этот раз мы будем работать с еще одним популярным техническим индикатором — Средний истинный диапазон (Average True Range, ATR).

Машинное обучение и Data Science (Часть 02): Логистическая регрессия
Классификация данных — важнейшая вещь для алготрейдера и программиста. В этой статье мы рассмотрим в подробностях один из классификационных логистических алгоритмов, который может помочь нам определить «да» или «нет», рост или падение, покупки или продажи.

Разрабатываем мультивалютный советник (Часть 1): Совместная работа нескольких торговых стратегий
Различных торговых стратегий существует довольно много. С точки зрения диверсификации рисков и повышения устойчивости торговых результатов может оказаться полезным использовать несколько параллельно работающих стратегий. Но если каждая стратегия будет реализована в виде отдельного советника, то управлять их совместной работой на одном торговом счёте становится гораздо сложнее. Для решения этой проблемы желательно реализовать работу разных торговых стратегий в одном советнике.

Нейросети — это просто (Часть 27): Глубокое Q-обучение (DQN)
Продолжаем изучение обучения с подкреплением. И в этой статье мы познакомимся с методом глубокого Q-обучения. Использование данного метода позволило команде DeepMind создать модель, способную превзойти человека при игре в компьютерные игры Atari. Думаю, будет полезно оценить возможности подобной технологии для решения задач трейдинга.


MQL4 как инструмент трейдера, или Advanced Technical Analysis
Торговля на рынке - это в первую очередь расчет вероятностей. А поговорка «лень – двигатель прогресса» раскрывает все краски расцвета технических индикаторов и торговых систем. И получается, что большой процент начинающих трейдеров изучают уже готовые теории торговли. Но, к сожалению или к счастью, не все законы движения рынка ещё открыты, а инструменты для анализа ценовых движений в основном существуют в виде тех самых реализованных технических индикаторов, математических и статистических пакетов. Огромное спасибо Билу Вильямсу, за его вклад в теорию движения рынков. Но, наверное, не следует останавливаться на достигнутом.


Графика в библиотеке DoEasy (Часть 73): Объект-форма графического элемента
В статье начинаем новый большой раздел библиотеки по работе с графикой. Сегодня создадим объект состояний мышки, базовый объект всех графических элементов и класс объекта-формы графических элементов библиотеки.

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

Выставление ордеров в MQL5
При создании любой торговой системы есть задача, которую необходимо эффективно решить. Эта задача заключается в выставлении ордеров либо в их автоматической обработке торговой системой. В статье рассмотрено создание торговой системы с точки зрения эффективного выставления ордеров.

Эксперименты с нейросетями (Часть 5): Нормализация входных параметров для передачи в нейросеть
Нейросети наше все. Проверяем на практике, так ли это. MetaTrader 5 как самодостаточное средство для использования нейросетей в трейдинге. Простое объяснение.

Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)
В статье описан способ быстрой оптимизиции методом роя частиц, представлена его реализация на MQL, готовая к применению как в однопоточном режиме внутри эксперта, так и в параллельном многопоточном режиме в качестве надстройки, выполняющейся на локальных агентах тестера.

Как построить советник, работающий автоматически (Часть 02): Начинаем писать код
Сегодня рассмотрим, как создать советник, который просто и безопасно работает в автоматическом режиме. В предыдущей статье я вам представил первые шаги, которые необходимо понять перед тем, как приступать к созданию советника, торгующего автоматически. Мы всё это просмотрели там.


Применение OLAP в трейдинге (Часть 3): анализ котировок в целях выработки торговых стратегий
В данной статье мы продолжим рассматривать технологию OLAP в применении к трейдингу, расширяя функционал, представленный в первых двух статьях. На этот раз оперативному анализу подвергнутся котировки. Показано выдвижение и проверка гипотез о торговых стратегиях на основе агрегированных показателей истории. Представлены эксперты для исследований побаровых закономерностей и адаптивной торговли.

Биржевая сеточная торговля экспертом со стоповыми отложенными ордерами на Московской бирже (MOEX)
Использование сеточного торгового подхода на стоповых отложенных ордерах в эксперте на языке торговых стратегий MQL5 для MetaTrader 5 на Московской бирже (MOEX). При торговле на рынке одной из наиболее простых стратегий является сетка из ордеров, предназначенная для «поимки» рыночной цены.


Веб-проекты (Часть III): Система авторизации Laravel/MetaTrader 5
В этот раз создадим систему авторизации в торговом терминале MetaTrader 5 на чистом MQL5. Пользователи приложения смогут зарегистрироваться в системе, предоставив свои учётные данные, чтобы впоследствии можно было авторизоваться и получить доступ, к каким-нибудь данным, которые хранятся в серверной части приложения.

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


Разработка торговой системы на основе индикатора MACD
В этой статье мы познакомимся с очередным инструментом из нашей серии: мы узнаем, как создать торговую систему на основе одного из самых популярных технических индикаторов — Moving Average Convergence Divergence (MACD).

Машинное обучение и Data Science (Часть 8): Кластеризация методом k-средних в MQL5
Для всех, кто работает с данными, включая трейдеров, data mining может открыть совершенно новые возможности, ведь зачастую данные не такие простые, какими кажутся. Человеческому глазу сложно увидеть глубинные закономерности и отношения в наборе данных. Одно из решений — алгоритм К-средних. Давайте посмотрим, полезен ли он.

Брутфорс-подход к поиску закономерностей (Часть III): Новые горизонты
Данная статья продолжает тему брутфорса, привнося в алгоритм моей программы новые возможности по анализу рынка, тем самым ускоряя скорость анализа и качество итоговых результатов, что обеспечивает максимально качественный взгляд на глобальные закономерности в рамках данного подхода.

Метамодели в машинном обучении и трейдинге: Оригинальный тайминг торговых приказов
Метамодели в машинном обучении: Автоматическое создание торговых систем практически без участия человека — Модель сама принимает решение как торговать и когда торговать.

Нейросети — это просто (Часть 29): Алгоритм актор-критик с преимуществом (Advantage actor-critic)
В предыдущих статьях данной серии мы познакомились с 2-мя алгоритмами обучения с подкреплением. Каждый из них обладает своими достоинствами и недостатками. Как часто бывает в таких случаях, появляется идея совместить оба метода в некий алгоритм, который бы вобрал в себя лучшее из двух. И тем самым компенсировать недостатки каждого из них. О таком методе мы и поговорим в этой статье.


Разработка торговой системы на основе Стохастика
Это очередная статья из обучающей серии, в которой мы знакомимся с различными индикаторами. В этот раз мы обратимся к другому популярному индикатору — Stochastic Oscillator. Изучим его, рассмотрим стратегии на его основе и создадим торговую систему.


Фриланс на MQL5.com - лучшее место для разработчика
Разработчикам торговых советников больше не надо искать трейдеров, которым нужны эксперты, - заказчики сами найдут вас. Более того, они уже находят разработчиков, выставляют заказы и оплачивают проделанную работу в сервисе Фриланс на MQL5.com. За 4 года существования сервиса три тысячи трейдеров оплатило свыше 10 000 выполненных работ! Причем активность трейдеров и разработчиков постоянно возрастает.


Разработка торговой системы на основе индикатора ADX
Эта статья продолжает серию о построении торговых систем с использованием самых популярных индикаторов. На этот раз мы поговорим об индикаторе ADX (Average Directional Index, Индекс среднего направленного движения). Мы подробно изучим этот индикатор, чтобы понять, чем он может быть полезен в торговле. Также с помощью простых стратегий мы узнаем, как его использовать. Изучая самую суть вещей, мы можем получить больше информации и использовать это с максимальной выгодой.


Прочие классы в библиотеке DoEasy (Часть 72): Отслеживание и фиксация параметров объектов-чартов в коллекции
В статье завершим работу над классами объектов-чартов и их коллекцией. Сделаем автоматическое отслеживание изменения свойств чартов и их окон, а также сохранение новых параметров в свойства объекта. Такая доработка позволит в будущем сделать событийный функционал для всей коллекции чартов.

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

Матрицы и векторы в MQL5
Специальные типы данных matrix и vector позволяют писать код, приближенный к математической записи. Это избавляет от необходимости создавать вложенные циклы и помнить о правильной индексации массивов, которые участвуют в вычислении. Таким образом повышается надежность и скорость разработки сложных программ.


Графика в библиотеке DoEasy (Часть 75): Методы работы с примитивами и текстом в базовом графическом элементе
В статье продолжим развитие базового класса-графического элемента всех графических объектов библиотеки, создаваемых на основе класса Стандартной библиотеки CCanvas. Мы создадим методы для рисования графических примитивов и методы вывода текста на объект-графический элемент.


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