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

icon

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

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

Новая статья
последние | лучшие
preview
Оптимизация и тестирование торговых стратегий (Часть 1): Взгляд на "Red Dragon H4", "BOLT", "YinYang", и "Statistics SAR"

Оптимизация и тестирование торговых стратегий (Часть 1): Взгляд на "Red Dragon H4", "BOLT", "YinYang", и "Statistics SAR"

Так как я постоянно занимаюсь, разработкой разного рода торговых систем сегодня хочу поделиться с Вами несколькими из них по стратегиям "Red Dragon H4", "BOLT", "YinYang" и "Statistics SAR". Данные стратегии были найдены на просторах интернета.
preview
Торговая стратегия на индикаторе улучшенного распознавания свечей Доджи

Торговая стратегия на индикаторе улучшенного распознавания свечей Доджи

Индикатор на метабарах обнаруживал больше свечей чем классический. Проверим, дает ли это реальную пользу в автоматической торговле.
preview
StringFormat(). Обзор, готовые примеры использования

StringFormat(). Обзор, готовые примеры использования

Статья является продолжением обзора функции PrintFormat(). Рассмотрим вкратце форматирование строк при помощи StringFormat() и их дальнейшее использование в программе. Напишем шаблоны для вывода информации о символе в журнал терминала. Статья будет полезна как новичкам, так и уже опытным разработчикам.
preview
MQL5 — Вы тоже можете стать мастером этого языка

MQL5 — Вы тоже можете стать мастером этого языка

В этой статье я проведу нечто вроде интервью с самим собой и расскажу, как я делал свои первые шаги в языке MQL5. С помощью данного руководства я хочу помочь вам стать выдающимся программистом на MQL5, поэтому мы рассмотрим необходимые основы, чтобы достичь этого. Всё, что вам нужно иметь при себе - это искреннее желание учиться.
preview
Изучаем PrintFormat() и берем готовые к использованию примеры

Изучаем PrintFormat() и берем готовые к использованию примеры

Статья будет полезна как новичкам, так и уже опытным разработчикам. В ней мы рассмотрим работу функции PrintFormat(), разберём примеры форматирования строк и напишем шаблоны для вывода различной информации в журнал терминала.
preview
Машинное обучение в однонаправленной трендовой торговле на примере золота

Машинное обучение в однонаправленной трендовой торговле на примере золота

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

Графика в библиотеке DoEasy (Часть 93): Готовим функционал для создания составных графических объектов

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

Разрабатываем мультивалютный советник (Часть 9): Сбор результатов оптимизации одиночных экземпляров торговой стратегии

Наметим основные этапы по разработке нашего советника. Одним из первых будет проведение оптимизации одиночного экземпляра разработанной торговой стратегии. Попробуем собрать в одном месте всю необходимую информацию о проходах тестера при оптимизации.
preview
Модель движения цены и ее основные положения (Часть 2):  Уравнение эволюции вероятностного поля цены и возникновение наблюдаемого случайного блуждания

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

Выведено уравнение эволюции вероятностного поля цены, найден критерий приближения ценового скачка, раскрыты суть ценовых значений на графиках котировок и механизм возникновения случайного блуждания этих значений.
Прочие классы в библиотеке DoEasy (Часть 66): Класс-коллекция Сигналов MQL5.com
Прочие классы в библиотеке DoEasy (Часть 66): Класс-коллекция Сигналов MQL5.com

Прочие классы в библиотеке DoEasy (Часть 66): Класс-коллекция Сигналов MQL5.com

В статье создадим класс-коллекцию сигналов Сервиса Сигналов MQL5.com с функциями управления подписанными сигналами, а также доработаем класс объекта-снимка стакана цен для отображения общего объёма стакана на покупку и на продажу.
preview
Квантовые вычисления и трейдинг: Новый взгляд на прогнозы цен

Квантовые вычисления и трейдинг: Новый взгляд на прогнозы цен

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

Нейросети — это просто (Часть 39): Go-Explore — иной подход к исследованию

Продолжаем тему исследования окружающей среды в моделях обучения с подкреплением. И данной статье мы рассмотрим ещё один алгоритм Go-Explore, который позволяет эффективно исследовать окружающую среду на стадии обучения модели.
preview
Методы Уильяма Ганна (Часть III): Работает ли астрология?

Методы Уильяма Ганна (Часть III): Работает ли астрология?

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

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

В данной статье хочу познакомить Вас с новым комплексным методом прогнозирования временных рядов, который гармонично сочетает в себе преимущества линейных моделей и трансформеров.
preview
Нейросети — это просто (Часть 63): Предварительное обучение Трансформера решений без учителя (PDT)

Нейросети — это просто (Часть 63): Предварительное обучение Трансформера решений без учителя (PDT)

Продолжаем рассмотрение семейства методов Трансформера решений. Из предыдущих работ мы уже заметили, что обучение трансформера, лежащего в основе архитектуры данных методов, довольно сложная задача и требует большого количества размеченных обучающих данных. В данной статье мы рассмотрим алгоритм использования не размеченных траекторий для предварительного обучения моделей.
preview
DoEasy. Сервисные функции (Часть 1): Ценовые паттерны

DoEasy. Сервисные функции (Часть 1): Ценовые паттерны

В статье начнём разрабатывать методы поиска ценовых паттернов по данным таймсерий. Паттерн имеет определённый набор параметров, общий для любого вида и типа паттернов. Все данные такого рода будут сосредоточены в классе объекта базового абстрактного паттерна. Сегодня создадим класс абстрактного паттерна и класс паттерна Пин-бар.
preview
Нейросети — это просто (Часть 38): Исследование с самоконтролем через несогласие (Self-Supervised Exploration via Disagreement)

Нейросети — это просто (Часть 38): Исследование с самоконтролем через несогласие (Self-Supervised Exploration via Disagreement)

Одной из основных проблем обучения с подкреплением является исследование окружающей среды. Ранее мы уже познакомились с методом исследования на базе внутреннего любопытства. Сегодня я предлагаю посмотреть на ещё один алгоритм — исследование через несогласие.
preview
Разрабатываем мультивалютный советник (Часть 12): Риск-менеджер как для проп-трейдинговых компаний

Разрабатываем мультивалютный советник (Часть 12): Риск-менеджер как для проп-трейдинговых компаний

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

Разработка торгового советника с нуля (Часть 22): Новая система ордеров (V)

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

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

В этой статье мы рассмотрим торговые системы, использующие очень важную концепцию финансового рынка — волатильность. Мы изучим торговую систему, основанную на канала Кельтнера (Keltner Channel), включая ее реализацию в коде и тестирование на различных активах.
preview
Брутфорс-подход к поиску закономерностей (Часть V): Взгляд с другой стороны

Брутфорс-подход к поиску закономерностей (Часть V): Взгляд с другой стороны

В статье я покажу совершенно иной подход к алготрейдингу, к которому мне пришлось прийти спустя достаточно длительное время. Конечно же все это связано с моей брутфорс программой, которая претерпела ряд изменений, которые позволяют ей решать одновременно несколько задач. Тем не менее статья получилась больше общей и максимально простой, по этому годится и для тех кто не в теме или просто проходил мимо.
preview
Нейросети — это просто (Часть 59): Дихотомия контроля (Dichotomy of Control — DoC)

Нейросети — это просто (Часть 59): Дихотомия контроля (Dichotomy of Control — DoC)

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

Нейросети — это просто (Часть 71): Прогнозирование будущих состояний с учетом поставленных целей (GCPC)

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

Исследуем регрессионные модели для причинно-следственного вывода и трейдинга

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

Нейросети — это просто (Часть 62): Использование Трансформера решений в иерархических моделях

В последних статьях мы познакомились с несколькими вариантами использования метода Decision Transformer. Который позволяет анализировать не только текущее состояние, но и траекторию предшествующих состояний и, совершенных в них, действий. В данной статье я предлагаю Вам познакомиться с вариантом использования данного метода в иерархических моделях.
preview
Скальпинг по потоку ордеров (Order Flow Scalping) с MQL5

Скальпинг по потоку ордеров (Order Flow Scalping) с MQL5

Данный советник для MetaTrader 5 реализует стратегию Scalping OrderFlow (стратегия скальпирования потока ордеров) с расширенным управлением рисками. В нем используется множество технических индикаторов для определения торговых возможностей на основе дисбалансов в потоке ордеров. Бэк-тестирование показывает потенциальную прибыльность, но подчеркивает необходимость дальнейшей оптимизации, особенно в области управления рисками и соотношения результатов торговли. Он подходит для опытных трейдеров и требует тщательного тестирования и понимания перед практическим применением.
preview
Поиск произвольных паттернов валютных пар на Python с использованием MetaTrader 5

Поиск произвольных паттернов валютных пар на Python с использованием MetaTrader 5

Есть ли повторяющиеся паттерны и закономерности на валютном рынке? Я решил создать свою собственную систему анализа паттернов, используя Python и MetaTrader 5. Этакий симбиоз математики и программирования для покорения Форекса.
preview
Критерии тренда в трейдинге

Критерии тренда в трейдинге

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

Нейросети — это просто (Часть 48): Методы снижения переоценки значений Q-функции

В предыдущей статье мы познакомились с методом DDPG, который позволяет обучать модели в непрерывном пространстве действий. Однако, как и другие методы Q-обучения, DDPG склонен к переоценки значений Q-функции. Эта проблема часто приводит к обучению агента с неоптимальной стратегией. В данной статье мы рассмотрим некоторые подходы преодоления упомянутой проблемы.
preview
Нейросети в трейдинге: Анализ рыночной ситуации с использованием Трансформера паттернов

Нейросети в трейдинге: Анализ рыночной ситуации с использованием Трансформера паттернов

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

Теория категорий в MQL5 (Часть 1)

Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который пока относительно не освещен в MQL-сообществе. Эта серия статей призвана осветить некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
preview
Разработка торговой системы на основе индикатора Накопления/Распределения - Accumulation/Distribution

Разработка торговой системы на основе индикатора Накопления/Распределения - Accumulation/Distribution

Представляю вашему вниманию новую статью из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. В этой статье мы будем изучать индикатор Накопления/Распределения (Accumulation/Distribution, A/D). Также мы разработаем торговую систему на языке MQL5 для работы в платформе MetaTrader 5, используя несколько простых стратегий.
Графика в библиотеке DoEasy (Часть 87): Коллекция графических объектов - контроль модификации свойств объектов на всех открытых графиках
Графика в библиотеке DoEasy (Часть 87): Коллекция графических объектов - контроль модификации свойств объектов на всех открытых графиках

Графика в библиотеке DoEasy (Часть 87): Коллекция графических объектов - контроль модификации свойств объектов на всех открытых графиках

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

Функции в MQL5-приложениях

Функции являются критически важными компонентами в любом языке программирования. Помимо прочего, они помогают разработчикам применять принцип DRY (don't repeat youself, не повторяйся). В статье рассмотрены функции и их создание в MQL5 с помощью простых приложений, которые обогащают вашу торговую систему, но не усложняют ее.
preview
Нейросети — это просто (Часть 66): Проблематика исследования в офлайн обучении

Нейросети — это просто (Часть 66): Проблематика исследования в офлайн обучении

Обучение моделей в офлайн режиме осуществляется на данных ранее подготовленной обучающей выборки. Это дает нам ряд преимуществ, но при этом информация об окружающей среде сильно сжимается до размеров обучающей выборки. Что, в свою очередь, ограничивает возможности исследования. В данной статье хочу предложить познакомиться с методом, позволяющем наполнить обучающую выборку максимально разнообразными данными.
preview
Машинное обучение и Data Science (Часть 16): Свежий взгляд на деревья решений

Машинное обучение и Data Science (Часть 16): Свежий взгляд на деревья решений

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

Нейросети — это просто (Часть 15): Кластеризации данных средствами MQL5

Продолжаем рассмотрение метода кластеризации. В данной статье мы создадим новый класс CKmeans для реализации одного из наиболее распространённых методов кластеризации k-средних. По результатам тестирования модель смогла выделить около 500 паттернов.
preview
DoEasy. Элементы управления (Часть 2): Продолжаем работу над классом CPanel

DoEasy. Элементы управления (Часть 2): Продолжаем работу над классом CPanel

В статье избавимся от некоторых ошибок при работе с графическими элементами и продолжим разработку элемента управления CPanel. Это будут методы для установки параметров шрифта, который используется по умолчанию для всех текстовых объектов панели, которые в свою очередь могут быть на ней расположены в дальнейшем.
preview
Элементы корреляционного анализа в MQL5: Критерий независимости хи-квадрат Пирсона и корреляционное отношение

Элементы корреляционного анализа в MQL5: Критерий независимости хи-квадрат Пирсона и корреляционное отношение

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

Арбитражный трейдинг Forex: Простой бот-маркетмейкер синтетиков для старта

Сегодня разберем моего первого робота в сфере арбитража — поставщика ликвидности (если его можно так назвать) на синетических активах. Сегодня данный бот успешно работает как модуль в большой системе на машинном обучении, но я поднял старый арбитражный робот на Форекс из облака, и давайте посмотрим на него, и подумаем, что мы можем с ним сделать сегодня?