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

Изучайте язык программирования торговых стратегий MQL5 по опубликованным здесь статьям, большая часть которых написана вами - членами сообщества. Все статьи разделены на категории для быстрого поиска ответа по тому или иному аспекту программирования: "Интеграция", "Тестер", "Торговые стратегии" и многое другое.

Следите за новыми публикациями и участвуйте в их обсуждении на форуме!

Новая статья
последние | лучшие

Работа с ценами в библиотеке DoEasy (Часть 62): Реалтайм-обновление тиковых серий, подготовка к работе со стаканом цен

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

Практическое применение нейросетей в трейдинге (Часть 2). Компьютерное зрение

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

Как заработать $1 000 000 в алготрейдинге? На сервисах MQL5.com!

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

WebSocket для MetaTrader 5

До появления сетевых функций в обновленном MQL5 API, приложения MetaTrader были ограничены в возможности подключаться и взаимодействовать с сервисами на основе протокола WebSocket. Сейчас ситуация

Работа с ценами в библиотеке DoEasy (Часть 61): Коллекция тиковых серий символов

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

Брутфорс-подход к поиску закономерностей (Часть III): Новые горизонты

Данная статья продолжает тему брутфорса, привнося в алгоритм моей программы новые возможности по анализу рынка, тем самым ускоряя скорость анализа и качество итоговых результатов, что обеспечивает

Нейросети — это просто (Часть 10): Multi-Head Attention (многоголовое внимание)

Ранее мы уже рассмотрели механизм само-внимания (self-attention) в нейронных сетях. В практике современных архитектур нейронных сетей используется несколько параллельных потоков self-attention для

Работа с ценами в библиотеке DoEasy (Часть 60): Список-серия тиковых данных символа

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

Поиск сезонных закономерностей на валютном рынке с помощью алгоритма CatBoost

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

Самоадаптирующийся алгоритм (Часть III): Отказываемся от оптимизации

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

Рынок и физика его глобальных закономерностей

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

Нейросети — это просто (Часть 9): Документируем проделанную работу

Мы уже проделали довольно большой путь, и код нашей библиотеке сильно разрастается. Становится сложно отслеживать все связи и зависимости. И конечно, перед продолжением развития проекта нам нужно

Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика

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

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

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

Градиентный бустинг в задачах трансдуктивного и активного машинного обучения

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

Работа с таймсериями в библиотеке DoEasy (Часть 58): Таймсерии данных буферов индикаторов

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

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

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

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

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

Использование электронных таблиц для построения торговых стратегий

В статье описаны основные принципы и приёмы, позволяющие провести анализ любой стратегии с помощью электронных таблиц — Excel, Calc, Google. Также сделано сравнение полученных результатов с тестером

Брутфорс-подход к поиску закономерностей (Часть II): Погружение

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

Продвинутый ресемплинг и выбор CatBoost моделей брутфорс методом

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

Работа с таймсериями в библиотеке DoEasy (Часть 57): Объект данных буфера индикатора

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

Машинное обучение от Яндекс (CatBoost) без изучения Python и R

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

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

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

Работа с таймсериями в библиотеке DoEasy (Часть 56): Объект пользовательского индикатора, получение данных от объектов-индикаторов в коллекции

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

Градиентный бустинг (CatBoost) в задачах построения торговых систем. Наивный подход

Обучение классификатора CatBoost на языке Python и экспорт модели в mql5 формат, а также разбор параметров модели и кастомный тестер стратегий. Для подготовки данных и обучения модели используется

Примеры анализа графиков с использованием Секвенты Демарка и уровней Мюррея-Ганна

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

Практическое применение нейросетей в трейдинге. Python (Часть I)

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

Оптимальный подход к разработке и анализу торговых систем

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

Работа с таймсериями в библиотеке DoEasy (Часть 55): Класс-коллекция индикаторов

В статье продолжим развитие классов объектов-индикаторов и их коллекции. Создадим для каждого объекта-индикатора его описание и скорректируем класс-коллекцию для безошибочного хранения и получения

Набор инструментов для ручной разметки графиков и торговли (Часть II). Рисование разметки

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

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

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

Работа с таймсериями в библиотеке DoEasy (Часть 54): Классы-наследники абстрактного базового индикатора

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

Работа с таймсериями в библиотеке DoEasy (Часть 53): Класс абстрактного базового индикатора

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

Нейросети — это просто (Часть 5): Многопоточные вычисления в OpenCL

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

Сетка и мартингейл: что это такое и как их использовать?

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

Пишем Twitter-клиент для MetaTrader: Часть 2

Реализуем Twitter-клиент в виде MQL-класса, позволяющего отправлять твиты с картинками. Подключив всего один автономный include-файл, вы сможете публиковать твиты и выкладывать свои графики и сигналы

Работа с таймсериями в библиотеке DoEasy (Часть 52): Кроссплатформенность мультипериодных мультисимвольных однобуферных стандартных индикаторов

В статье рассмотрим создание мультисимвольного мультипериодного стандартного индикатора Accumulation/Distribution. Чтобы программы, написанные под устаревшую платформу MetaTrader 4, основанные на

Брутфорс-подход к поиску закономерностей

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

Нейросети — это просто (Часть 4): Рекуррентные сети

Продолжаем наше погружение в мир нейронных сетей. И в этой статье я предлагаю поговорить о рекуррентных нейронных сетях. Данный тип нейронных сетей предлагается для использования с временными рядами