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

icon

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В последних статьях мы познакомились с несколькими вариантами использования метода Decision Transformer. Который позволяет анализировать не только текущее состояние, но и траекторию предшествующих состояний и, совершенных в них, действий. В данной статье я предлагаю Вам познакомиться с вариантом использования данного метода в иерархических моделях.
preview
Брутфорс-подход к поиску закономерностей (Часть V): Взгляд с другой стороны

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

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

Технический Анализ: невозможное - возможно!

Ответ на вопрос: почему невозможное может быть возможным, когда многое говорит об обратном? Рассуждения о техническом анализе.
preview
Теория категорий в MQL5 (Часть 1)

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

Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который пока относительно не освещен в MQL-сообществе. Эта серия статей призвана осветить некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
Графика в библиотеке DoEasy (Часть 87): Коллекция графических объектов - контроль модификации свойств объектов на всех открытых графиках
Графика в библиотеке DoEasy (Часть 87): Коллекция графических объектов - контроль модификации свойств объектов на всех открытых графиках

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

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

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

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

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

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

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

В предыдущей статье мы познакомились с методом DDPG, который позволяет обучать модели в непрерывном пространстве действий. Однако, как и другие методы Q-обучения, DDPG склонен к переоценки значений Q-функции. Эта проблема часто приводит к обучению агента с неоптимальной стратегией. В данной статье мы рассмотрим некоторые подходы преодоления упомянутой проблемы.
preview
DoEasy. Элементы управления (Часть 2): Продолжаем работу над классом CPanel

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

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

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

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

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

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

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

Представляю вашему вниманию новую статью из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. В этой статье мы будем изучать индикатор Накопления/Распределения (Accumulation/Distribution, A/D). Также мы разработаем торговую систему на языке MQL5 для работы в платформе MetaTrader 5, используя несколько простых стратегий.
preview
StringFormat(). Обзор, готовые примеры использования

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

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

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

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

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

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

DoEasy. Элементы управления (Часть 20): WinForms-объект SplitContainer

Сегодня начнём разрабатывать элемент управления SplitContainer из набора элементов MS Visual Studio. Этот элемент состоит из двух панелей, разделённых вертикальным или горизонтальным перемещаемым разделителем.
preview
Пример ансамбля ONNX-моделей в MQL5

Пример ансамбля ONNX-моделей в MQL5

ONNX (Open Neural Network eXchange) — открытый стандарт представления нейронных сетей. В данной статье мы покажем возможность одновременного использования двух ONNX-моделей в одном эксперте.
preview
Исследуем регрессионные модели для причинно-следственного вывода и трейдинга

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

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

Разрабатываем мультивалютный советник (Часть 3): Ревизия архитектуры

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

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

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

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

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

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

В статье рассматривается инновационный подход к прогнозированию движения цен на финансовых рынках с использованием квантовых вычислений. Основное внимание уделяется применению алгоритма квантовой оценки фазы (QPE) для поиска продобразов ценовых паттернов, что позволяет значительно ускорить процесс анализа рыночных данных.
Видео: Простая автоматизированная торговля – Как создать простой торговый советник с помощью MQL5
Видео: Простая автоматизированная торговля – Как создать простой торговый советник с помощью MQL5

Видео: Простая автоматизированная торговля – Как создать простой торговый советник с помощью MQL5

Большинство слушателей моих курсов считали, что язык MQL5 сложен для понимания. Кроме того, они искали простые способы автоматизации некоторых процессов. В этой статье вы узнаете как сходу начать работать в MQL5 даже без навыков программирования и даже если в прошлом у вас уже были неудачные попытки освоить эту тему.
preview
Нейросети — это просто (Часть 74): Адаптивное прогнозирование траекторий

Нейросети — это просто (Часть 74): Адаптивное прогнозирование траекторий

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

Треугольные и пилообразные волны: инструменты для трейдера

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

Моделирование реквотов на тестере и анализ устойчивости советника

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

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

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

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

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

Создание самооптимизирующихся советников на MQL5

Создавайте советников, которые адаптируются к любому рынку.
preview
Машинное обучение и Data Science (Часть 14): Применение карт Кохонена на рынках

Машинное обучение и Data Science (Часть 14): Применение карт Кохонена на рынках

Хотите найти новый подход в торговле, который поможет ориентироваться на сложных и постоянно меняющихся рынках? Взгляните на карты Кохонена — инновационную форму искусственных нейронных сетей, которая поможет выявить скрытые закономерности и тренды в рыночных данных. В этой статье мы рассмотрим, как работают карты Кохонена и как их использовать для разработки эффективных торговых стратегий. Думаю, этот новый подход будет интересен как опытным трейдерам, так и начинающим.
preview
Нейросети в трейдинге: Практические результаты метода TEMPO

Нейросети в трейдинге: Практические результаты метода TEMPO

Продолжаем знакомство с методом TEMPO. И в данной статье мы оценим фактическую эффективность предложенных подходов на реальных исторических данных.
preview
Нейросети — это просто (Часть 83): Алгоритм пространственно-временного преобразователя постоянного внимания (Conformer)

Нейросети — это просто (Часть 83): Алгоритм пространственно-временного преобразователя постоянного внимания (Conformer)

Предлагаемый Вашему вниманию алгоритм Conformer был разработан для целей прогнозирования погоды, которую по изменчивости и капризности можно сравнить с финансовыми рынками. Conformer является комплексным методом. И сочетает в себе преимущества моделей внимания и обычных дифференциальных уравнений.
preview
Несколько индикаторов на графике (Часть 05): Превращаем MetaTrader 5 в систему RAD (I)

Несколько индикаторов на графике (Часть 05): Превращаем MetaTrader 5 в систему RAD (I)

Несмотря на то, что многие люди не умеют программировать, они достаточно креативны и имеют отличные идеи, но отсутствие знаний или понимания программирования мешает им сделать некоторые вещи. Давайте посмотрим вместе, как создать Chart Trade, но используя саму платформу MT5, как будто это IDE.
preview
Алгоритмическая торговля с MetaTrader 5 и R для начинающих

Алгоритмическая торговля с MetaTrader 5 и R для начинающих

В статье мы объединим финансовый анализ с алгоритмической торговлей, а также посмотрим, как можно подружить R и MetaTrader 5. Эта статья — руководство по объединению аналитической гибкости R с огромными торговыми возможностями MetaTrader 5.
preview
Разработка торговой системы на основе индикатора OBV

Разработка торговой системы на основе индикатора OBV

Это новая статья, продолжающая нашу серию для начинающих MQL5-программистов, в которой мы учимся строить торговые системы с использованием самых популярных индикаторов. На этот раз мы будем изучать индикатор балансового объема On Balance Volume (OBV) — узнаем, как его использовать и как создать торговую систему на его основе.