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

icon

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

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

Новая статья
последние | лучшие
preview
Архитектура машинного обучения для MetaTrader 5 (Часть 10): Определение размера позиции в финансовом машинном обучении

Архитектура машинного обучения для MetaTrader 5 (Часть 10): Определение размера позиции в финансовом машинном обучении

Фиксированные доли и сырые вероятности неверно распределяют риск при перекрывающихся метках и провоцируют чрезмерную торговлю. В статье представлены четыре метода определения размера позиции, совместимые с AFML: вероятностный (z-score → CDF, усреднение активных сигналов, дискретизация), на основе прогнозной цены (sigmoid/power с калибровкой w и лимитной ценой), бюджетно-ограниченный (только направление) и резервный (mixture-CDF через EF3M). На выходе получается знаковый, ограниченный ряд позиций с описанными условиями применения.
preview
Разработка инструментария для анализа Price Action (Часть 59): Выявление точных пробоев при фрактальной консолидации с помощью геометрической асимметрии

Разработка инструментария для анализа Price Action (Часть 59): Выявление точных пробоев при фрактальной консолидации с помощью геометрической асимметрии

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

Встраивание торговой дисциплины в код (Часть 5): Контроль соблюдения риск-ограничений на уровне счёта в MQL5

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

Неопределённость как модель (Часть 7): Стохастические регрессоры

Материал — практическое руководство по множественной регрессии со стохастическими факторами в алготрейдинге с акцентом на эндогенность. Показаны EDA/CDA-приёмы, тест Дарбина—Ву—Хаусмана и двухэтапный МНК для получения состоятельных коэффициентов. Все расчёты реализованы в MQL5 и проверены на внутридневной волатильности EURUSD. Читатель получит рабочий конвейер для выявления эндогенности и корректной спецификации моделей.
preview
Разработка инструментария для анализа Price Action (Часть 34): Построение прогнозных моделей на основе необработанных рыночных данных с помощью усовершенствованного пайплайна загрузки данных

Разработка инструментария для анализа Price Action (Часть 34): Построение прогнозных моделей на основе необработанных рыночных данных с помощью усовершенствованного пайплайна загрузки данных

Случалось ли вам пропустить внезапный рыночный всплеск или оказаться застигнутым врасплох, когда такой всплеск происходил? Лучший способ заранее распознавать события в реальном времени – учиться на исторических паттернах. Если вы хотите обучить модель машинного обучения, в этой статье сначала показано, как создать скрипт для MetaTrader 5, который собирает исторические данные и отправляет их в Python для хранения, закладывая основу системы обнаружения всплесков. Читайте дальше, чтобы увидеть каждый шаг на практике.
preview
Торговые инструменты на языке MQL5 (Часть 9): Мастер первого запуска для советников с прокручиваемым руководством

Торговые инструменты на языке MQL5 (Часть 9): Мастер первого запуска для советников с прокручиваемым руководством

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

Преодоление ограничений машинного обучения (Часть 5): Краткий обзор кросс-валидации временных рядов

В этой серии статей мы рассмотрим проблемы, с которыми сталкиваются алгоритмические трейдеры при внедрении торговых стратегий, основанных на машинном обучении. Некоторые проблемы в нашем сообществе остаются незамеченными, поскольку требуют более глубокого технического понимания. Сегодняшнее обсуждение служит отправной точкой для изучения "белых пятен" кросс-валидации в машинном обучении. Несмотря на то, что этот шаг часто рассматривается как рутинный, при небрежном обращении он может легко привести к вводящим в заблуждение или недостаточно оптимальным результатам. В этой статье кратко рассматриваются основы кросс-валидации временных рядов, чтобы подготовить нас к более глубокому пониманию скрытых слепых зон.
preview
Опубликуйте код статьи в MQL5 Algo Forge за 10 минут: пошаговый гайд

Опубликуйте код статьи в MQL5 Algo Forge за 10 минут: пошаговый гайд

Статья — пошаговое руководство по переносу кода из публикации в полноценный проект MQL5 Algo Forge. Вы настроите окружение и авторизацию в MetaEditor, создадите проект в Shared Projects, выберете тип, разложите файлы, добавите README.md, проверите кодировку и сборку, зафиксируете изменения в Git и откроете репозиторий публично. Материал помогает выстроить рабочую структуру и сохранить историю версий для удобства читателей.
preview
Переосмысливаем классические стратегии (Часть 21): Разработка комбинированной стратегии на основе полос Боллинджера и RSI

Переосмысливаем классические стратегии (Часть 21): Разработка комбинированной стратегии на основе полос Боллинджера и RSI

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

Торговые инструменты на MQL5 (Часть 17): Изучение векторных скругленных прямоугольников и треугольников

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

Архитектура системы машинного обучения в MetaTrader5 (Часть 5): Последовательный бутстреппинг— устранение смещения меток и повышение доходности

Последовательный бутстреппинг меняет подход к бутстреп-выборке в финансовом машинном обучении, активно избегая временных перекрытий в метках. Это обеспечивает более независимые обучающие выборки, более точные оценки неопределенности и более надежные торговые модели. В этом практическом руководстве объясняется интуитивная основа метода, пошагово разбирается алгоритм, приводятся оптимизированные паттерны кода для работы с большими массивами данных, а также демонстрируется измеримый прирост эффективности с помощью симуляций и реальных бэктестов.
preview
Выборочные методы MCMC: Алгоритм выборки по уровням (Slice sampling)

Выборочные методы MCMC: Алгоритм выборки по уровням (Slice sampling)

В этой статье исследуется метод выборки по уровням (slice sampling) — адаптивный алгоритм MCMC, который самостоятельно регулирует параметры сэмплирования. Его эффективность продемонстрирована на моделях байесовской линейной и логистической регрессии, а результаты сравниваются с классическими частотными методами.
preview
Разработка инструментария для анализа Price Action (Часть 49): Интеграция индикаторов тренда, моментума и волатильности в единую систему на MQL5

Разработка инструментария для анализа Price Action (Часть 49): Интеграция индикаторов тренда, моментума и волатильности в единую систему на MQL5

Упростите графики MetaTrader 5 с помощью советника Multi Indicator Handler. Этот интерактивный инструмент объединяет индикаторы тренда, моментума и волатильности в единую панель, работающую в реальном времени. Мгновенно переключайтесь между профилями, чтобы сосредоточиться на нужном вам типе анализа. Одним кликом скрывайте и показывайте элементы панели и сохраняйте фокус на движении цены. Читайте дальше, чтобы шаг за шагом узнать, как самостоятельно создать и настроить этот инструмент на MQL5.
preview
Неопределенность как модель (Часть 4): Случайные процессы — динамика неопределённости

Неопределенность как модель (Часть 4): Случайные процессы — динамика неопределённости

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

Разработка системы репликации (Часть 77): Новый Chart Trade (IV)

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

Архитектура машинного обучения для MetaTrader 5 (Часть 13): Реализация расчета размера позиции в MQL5

Мы создаем набор инструментов промышленного уровня для расчета размера позиции в MQL5: утилиты, фрагменты кода и пользовательские функции, которые повторяют исходные реализации на Python. Методы охватывают преобразование вероятности в размер позиции с коррекцией перекрытия, динамический расчет размера позиции по прогнозной цене (калиброванные сигмоидальная и степенная функции с лимитной ценой), бюджетирование на основе текущей занятости портфеля и резервный метод расчета размера позиции на основе модели смеси (EF3M). Результат — размер позиции со знаком в диапазоне [−1, ..., 1] плюс диагностика, которую можно напрямую подключить к логике ордеров.
preview
Искусство ведения логов (Часть 6): Сохранение логов в базу данных

Искусство ведения логов (Часть 6): Сохранение логов в базу данных

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

Статистический арбитраж на основе коинтегрированных акций (Часть 7): Система оценки 2

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

Моделирование рынка (Часть 12): Сокеты (VI)

В данной статье мы рассмотрим, как решить некоторые проблемы и вопросы, возникающие при использовании кода, написанного на Python внутри других программ. А если говорить более конкретно, то мы покажем распространенную проблему, возникающую при использовании Excel в связке с MetaTrader 5, хотя для этого общения мы будем использовать Python. Однако у данной реализации есть небольшой недостаток. Это происходит не во всех, а только в некоторых конкретных случаях. Когда это происходит, необходимо понять причину. В сегодняшней статье мы начнем объяснять, как решить эту проблему.
preview
Знакомство с языком MQL5 (Часть 28): Освоение API и функции WebRequest в языке MQL5 (II)

Знакомство с языком MQL5 (Часть 28): Освоение API и функции WebRequest в языке MQL5 (II)

В этой статье вы научитесь получать ценовые данные с внешних платформ с помощью API и функции WebRequest на языке MQL5. Вы узнаете, как структурируются URL, как форматируются ответы API, как преобразовать серверные данные в читаемые строки, а также как находить конкретные значения в ответах JSON и получать их оттуда.
preview
Отправка запросов в Connexus (Часть 6): Создание HTTP-запроса и ответа

Отправка запросов в Connexus (Часть 6): Создание HTTP-запроса и ответа

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

Создание самооптимизирующихся советников на MQL5 (Часть 16): Идентификация линейных систем на основе обучения с учителем

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

Разработка системы репликации (Часть 62): Нажатие кнопки воспроизведения в сервисе (III)

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

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

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

Автоматизированный риск-менеджмент для прохождения челленджей проп-фирм

В статье рассматривается разработка советника для инструмента GOLD, предназначенного для торговли в условиях проп-фирм: с фильтрами пробоев, мультитаймфреймовым анализом, надежным риск-менеджментом и строгой защитой от просадки. Советник помогает трейдерам проходить челленджи проп-фирм, избегая нарушений правил и стабилизируя исполнение сделок в условиях волатильного рынка.
preview
Нейросети в трейдинге: Многодоменная архитектура анализа финансовых данных (Основные компоненты)

Нейросети в трейдинге: Многодоменная архитектура анализа финансовых данных (Основные компоненты)

В статье продолжается перенос подходов фреймворка MDL в область решения задач финансовых рынков. Рассмотрены модули унифицированной токенизации разнородных данных, доменно-ориентированного внимание и Feature Self-Iteration, позволяющий эффективнее работать с историей признаков. Особое внимание уделено архитектурным решениям, снижающим вычислительную нагрузку и сохраняющим рыночный контекст в процессе анализа.
preview
Торговые инструменты на MQL5 (Часть 19): Создание интерактивной палитры инструментов графической разметки

Торговые инструменты на MQL5 (Часть 19): Создание интерактивной палитры инструментов графической разметки

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

Создание торговой панели администратора на MQL5 (Часть IX): Организация кода (IV). Класс для панели управления торговлей

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

Создание самооптимизирующихся советников на MQL5 (Часть 13): Введение в теорию управления с использованием факторизации матриц

Финансовые рынки непредсказуемы, и торговые стратегии, которые в прошлом казались прибыльными, зачастую терпят крах в реальных рыночных условиях. Это происходит потому, что большинство стратегий после внедрения остаются неизменными и не могут адаптироваться или извлекать уроки из своих ошибок. Заимствуя идеи из теории управления, мы можем использовать контроллеры с обратной связью, чтобы наблюдать за тем, как наши стратегии взаимодействуют с рынками, и корректировать их поведение с целью обеспечения прибыльности. Наши результаты показывают, что добавление контроллера с обратной связью к простой стратегии скользящего среднего позволило увеличить прибыль, снизить риск и повысить эффективность, что свидетельствует о значительном потенциале данного подхода для применения в торговле.
preview
Автоматизация торговых стратегий с помощью MQL5 (Часть 47): Торговая система Nick Rypock Trailing Reverse (NRTR) с поддержкой хеджирования

Автоматизация торговых стратегий с помощью MQL5 (Часть 47): Торговая система Nick Rypock Trailing Reverse (NRTR) с поддержкой хеджирования

В этой статье мы разрабатываем торговую систему Nick Rypock Trailing Reverse (NRTR) на языке MQL5, которая использует сигналы разворота на основе канала и позволяет открывать позиции по тренду с поддержкой хеджирования для покупок и продаж. Мы добавим функции управления рисками: автоматический расчет лота на основе средств счета или баланса, фиксированные или динамические уровни стоп-лосса и тейк-профита с использованием множителей ATR, а также ограничения по числу позиций.
preview
Неопределённость как модель (Часть 8): Обобщение МНК

Неопределённость как модель (Часть 8): Обобщение МНК

Материал показывает, как в MQL5 корректировать результаты регрессий при гетероскедастичности и автокорреляции. Реализована HAC-оценка Ньюи—Уэста для получения робастных стандартных ошибок и корректных t-статистик, что продемонстрировано на задаче оценки влияния новостей на волатильность EURUSD. Для моделей с коррелированными остатками применен CLS для ARMA с регуляризацией Левенберга—Марквардта, проверенный на спреде GOOGL/AAPL.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 8): Анализ нескольких стратегий (3) — Политика взвешенного голосования

Создание самооптимизирующихся советников на MQL5 (Часть 8): Анализ нескольких стратегий (3) — Политика взвешенного голосования

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

Нейросети в трейдинге: От единственного прогноза к пространству рыночных сценариев (Окончание)

Материал завершает адаптацию фреймворка ORION к трейдингу: сценарии рынка формируются Market Encoder, а Актёр на их основе управляет объёмом, TP и SL с учётом состояния счёта; Критики дают оценку действий. Описаны процедуры офлайн‑ и онлайн‑обучения и контроль утечки будущего. Проверка проводится в тестере стратегий на отложенном периоде.
preview
Моделирование рынка (Часть 18): Первые шаги на SQL (I)

Моделирование рынка (Часть 18): Первые шаги на SQL (I)

Неважно, какую программу SQL мы будем использовать: MySQL, SQL Server, SQLite, OpenSQL или другую. У всех есть что-то общее, а этот общий элемент — язык SQL. Даже если мы не собираемся использовать WorkBench, можно манипулировать или работать с базой данных непосредственно в MetaEditor или через MQL5 для выполнения действий в MetaTrader 5, но для этого вам понадобятся знания SQL. Итак, здесь мы выучим, как минимум, основы.
preview
Переосмысливаем классические стратегии (Часть 16): Стратегия пробоя двойных полос Боллинджера

Переосмысливаем классические стратегии (Часть 16): Стратегия пробоя двойных полос Боллинджера

Эта статья знакомит читателя с переосмысленной версией классической стратегии пробоев полос Боллинджера. В ней определены ключевые недостатки первоначального подхода, такие как его хорошо известная подверженность ложным пробоям. Цель статьи - представить возможное решение: торговую стратегию двойных полос Боллинджера (Double Bollinger Band). Этот относительно малоизвестный подход устраняет слабые места классической версии и предлагает более динамичный взгляд на финансовые рынки. Он помогает преодолеть старые ограничения, определенные первоначальными правилами, предлагая трейдерам более устойчивую и адаптивную систему.
preview
Оптимизатор конкурирующего роя — Competitive Swarm Optimizer (CSO)

Оптимизатор конкурирующего роя — Competitive Swarm Optimizer (CSO)

В данной статье рассматривается Competitive Swarm Optimizer — алгоритм роевой оптимизации, в основе которого лежит предельно простая идея: агенты случайным образом разбиваются на пары, проигравший учится у победителя и притягивается к центру роя. Помимо разбора CSO, в статье представлена модернизация тестового стенда: визуализация работы алгоритмов переведена в 3D - мерное пространство, что позволяет наглядно наблюдать движение популяции на поверхности тестовой функции.
preview
Архитектура машинного обучения в MetaTrader 5 (Часть 6): Проектирование системы кэширования промышленного уровня

Архитектура машинного обучения в MetaTrader 5 (Часть 6): Проектирование системы кэширования промышленного уровня

Устали смотреть на индикаторы выполнения вместо того, чтобы тестировать торговые стратегии? Традиционное кэширование не подходит для финансового машинного обучения, что приводит к потере результатов вычислений и вынуждает вас к повторному запуску, что вызывает раздражение. Мы разработали сложную архитектуру кэширования, учитывающую специфику финансовых данных — временные зависимости, сложные структуры данных и постоянную угрозу смещения look-ahead. Наша трёхслойная система обеспечивает значительное повышение скорости, автоматически отбрасывая устаревшие результаты и предотвращая утечку ценных данных. Хватит ждать результатов расчетов — начинайте действовать в темпе, которого требуют рынки.
preview
Архитектура машинного обучения для MetaTrader 5 (Часть 12): Калибровка вероятностей для финансового машинного обучения

Архитектура машинного обучения для MetaTrader 5 (Часть 12): Калибровка вероятностей для финансового машинного обучения

Классификаторы на основе деревьев обычно избыточно уверены: истинные доли выигрышей около 0,55 отображаются как 0,65–0,80 и завышают размеры позиций и доли Келли. В этой статье представлены afml.calibration и CalibratorCV, которые генерируют OOF-прогнозы (out-of-fold, прогнозы для наблюдений вне обучающей части своего фолда) через PurgedKFold и обучают изотоническую регрессию или масштабирование Платта. Мы определяем оценку Брайера, ECE и MCE, а также показываем диагностику, которая прослеживает некалиброванность до размеров позиций, реализованного прибыли и убытка (P&L, profit and loss) и распределений коэффициента Шарпа по путям CPCV, что помогает обосновать торговлю без утечек и с корректно рассчитанным размером позиции.
preview
От начального до среднего уровня: Struct (VI)

От начального до среднего уровня: Struct (VI)

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

Создание самооптимизирующихся советников на MQL5 (Часть 7): Одновременная торговля на нескольких периодах

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