Группа пользователей MetaTrader 5 Python - краткое содержание - страница 38

 

Инженерия признаков для машинного обучения (Часть 9): Тесты на структурные разрывы в Python

Инженерия признаков для машинного обучения (Часть 9): Тесты на структурные разрывы на Python

В предыдущих статьях серии «Инженерия признаков для машинного обучения » признаки создавались на основе самой структуры времени: в Части 1 было показано, как с помощью дробного дифференцирования сохранить долгосрочную память в стационарном ряду; в Части 3 торговый календарь был преобразован в координаты Фурье; а в Части 5 поток ордеров на уровне тиков был сжат в микроструктурную статистику с индексацией по барам. В данной статье признаки формируются на основе качественно иного вопроса: не о том, как выглядит текущий бар, а о том, изменился ли в последнее время процесс генерации данных, который его сформировал.

Feature Engineering for ML (Part 9): Structural Break Tests in Python
Feature Engineering for ML (Part 9): Structural Break Tests in Python
  • 2026.07.03
  • www.mql5.com
We present a production‑ready implementation of AFML Chapter 17 structural break tests. The module includes Chu-Stinchcombe-White (one-/two-sided), Chow-type DFC, SADF across six models (linear, quadratic, sm poly 1, sm poly 2, sm exp, sm power), plus QADF (q, v) and CADF (q), returning bar-indexed scalar features. We address the book snippets' scaling issues and argument‑order pitfall, and show how a fixed lookback (L=504) bounds SADF cost to O(L²) per bar for regime detection.
 

Инженерия признаков для машинного обучения (Часть 10): Тесты на структурный разрыв в MQL5

Обработка признаков для машинного обучения (часть 10): Тесты на структурные разрывы в MQL5

В 9-й части этой серии был реализован набор тестов на структурные разрывы из главы 17 книги AFML на языке Python, включающий тест Чу-Стинчкомба-Уайта (CUSUM), тест Чау-типа Дики-Фуллера, SADF для шести регрессионных моделей, а также два варианта с повышенной устойчивостью (QADF и CADF). В данной статье три основных теста — CSW, Chow и SADF — портированы на MQL5 в виде единого файла включения CStructuralBreaks.mqh, размещенного в папке MQL5/Include/StructuralBreaks/. Также включены тесты суб- и супермартингала (SM-Exp и SM-Power), что доводит набор до пяти статистических показателей на каждый бар.

Реализация на MQL5 отличается от версии на Python одним структурным решением, о котором стоит упомянуть сразу: SADF использует скользящее окно обратного обзора вместо полного расширяющегося окна. В Python расширяющееся окно является приемлемым, поскольку вычисления выполняются однократно в автономном режиме на фиксированном наборе данных. В советнике, который пересчитывается при появлении каждого нового бара, размер расширяющегося окна растёт пропорционально O(T²) по отношению к количеству завершённых баров. При T = 1 000 баров — скромном двухлетнем дневном ряду — расширяющееся окно выполняет в 15 раз больше операций во внутреннем цикле, чем скользящее окно длиной 252 бара. При T = 5 000 баров оно выполняет в 400 раз больше операций. Скользящее окно — это не компромисс; оно слегка изменяет интерпретацию статистического показателя, и это изменение описано в разделе 6.

Feature Engineering for ML (Part 10): Structural Break Tests in MQL5
Feature Engineering for ML (Part 10): Structural Break Tests in MQL5
  • 2026.07.06
  • www.mql5.com
We port AFML Chapter 17 structural break tests to MQL5 as a single include, CStructuralBreaks, delivering six bar-indexed features for EAs: CSW statistic and critical value, Chow-Type DFC, SADF with a rolling lookback (default 252), SM-Exp, and SM-Power. SADF uses O(L²) rolling windows for real-time viability. A companion StructuralBreaksViewer indicator plots all series with per‑series visibility and optional z‑score normalization. SB_EMPTY marks invalid values for safe integration.
 

Инженерия признаков для машинного обучения (Часть 11): Фрактальные признаки в Python

Обработка признаков для машинного обучения (часть 11): фрактальные признаки на Python

В предыдущих статьях серии «Инженерия признаков для машинного обучения » признаки выводились из геометрии цен (часть 1), из торгового календаря (часть 3), из спреда между ценой спроса и предложения и ценового воздействия (части 5–6), из информационного содержания последовательности направлений торговли (часть 7), и, совсем недавно, из моментов смены режимов (часть 10). В этой одиннадцатой части мы возвращаемся к геометрии цен, но на более грубом структурном уровне: к максимумам и минимумам колебаний, которые определяют поддержку, сопротивление и тренд.

Feature Engineering for ML (Part 11): Fractal Features in Python
Feature Engineering for ML (Part 11): Fractal Features in Python
  • 2026.08.11
  • www.mql5.com
The article examines a Williams five‑bar fractal feature pipeline and shows how a centered rolling window creates a true look‑ahead leak. It identifies two additional silent bugs—a hardcoded shift tied to the default n and a volatility threshold that ignores its input—and consolidates fixes under a single leak_safe flag. Readers get leak‑free fractal, level, trend, and signal features, plus guidance on when unshifted columns remain valid for labeling.
 

Работа с моделями ONNX в MQL5 (Часть 1): декодирование файла модели с помощью парсера Protobuf

Работа с моделями ONNX в MQL5 (Часть 1): декодирование файла модели с помощью парсера Protobuf

MetaTrader 5 может загружать обученную нейронную сеть и запускать её. Достаточно передать путь к файлу модели в API ONNX (Open Neural Network Exchange), подать тензор и получить прогнозы. Терминал не раскрывает, что содержит файл ONNX: количество слоёв, требуемую форму входных данных или какие веса были сохранены. Когда результаты вывода выглядят некорректно, невозможно быстро определить, в чём заключается проблема — в признаках, формах тензоров или в самом файле, — поскольку модель рассматривается как непрозрачный двоичный файл. Эта статья предназначена для разработчиков на язы ке MetaQuotes Language 5 (MQL5) и алгоритмических трейдеров, которые обучают модели в других средах и хотят проверять их внутри терминала, не выходя из MetaTrader 5 и без использования каких-либо внешних библиотек.

 

Тестер стратегий Python для MetaTrader 5 (Часть 06): Бэктестинг в стиле MQL5 для советников на Python

Тестер стратегий Python для MetaTrader 5 (Часть 06): Бэктестинг в стиле MQL5 для советников на Python

При разработке торговых роботов для MetaTrader 5 на Python вы сталкиваетесь с привычной дилеммой: для реальной торговли вы используете пакет MetaTrader5, а для бэктестинга вам приходится создавать и поддерживать отдельный тестовый слой с другой инициализацией, источниками данных и API. Результатом этого становятся дублируемая логика, неустойчивая синхронизация между двумя ветвями кода и потеря времени при каждом изменении вашей стратегии. Вместо этого нам нужен рабочий процесс в Python, аналогичный MQL5: единая функция main() (OnTick) в стиле советника, реализующая торговую логику один раз, и возможность запускать этот же код как на исторических данных, так и на реальном рынке без его переписывания.

В этой статье показано, как фреймворк StrategyTester5 решает эту задачу: он предоставляет объект VirtualMetaTrader5, который отражает API MetaTrader 5, простой обмен переменной mt5 для переключения сред, а также функцию run_backtesting(), которая воспроизводит рыночные данные и возвращает объект TesterStats. Цель практическая: написать стратегию один раз, а затем выбрать, запускать ли её на исторических данных или на реальном счёте.

 

Форум, посвящённый торговле, автоматизированным торговым системам и тестированию торговых стратегий

MetaTrader5 Python history_orders_get/history_deals_get — авторитетная семантика времени

Ален Верлейен, 25.09.2026 15:05

Форум по трейдингу, автоматизированным торговым системам и тестированию торговых стратегий

MetaTrader5 Python history_orders_get/history_deals_get — авторитетная семантика времени

Саване Умар, 25.09.2026 13:10

Спасибо, это очень важно.

Чтобы убедиться, что я правильно понял: относится ли ваше утверждение также конкретно к history_orders_get () и history_deals_get () , включая date_from , date_to , ORDER_TIME_SETUP , ORDER_TIME_DONE , DEAL_TIME и соответствующие поля *_MSC ?

Кроме того, знаете ли вы, включает ли date_to само число или нет, и с какой точностью?

Наконец, поскольку вы сообщили в MetaQuotes о проблеме с документацией по datetime/timezone, есть ли какой-либо официальный тикет MetaQuotes, обновленная страница документации или подтверждение, на которое можно сослаться?

Спасибо.


То же самое относится ко всему API.

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


 

Работа с моделями ONNX в MQL5 (Часть 2): отображение графика модели на панели интерактивного графика

Работа с моделями ONNX в MQL5 (часть 2): построение графика модели на панели интерактивного графика

Мы создали считыватель, который открывает файл ONNX и сообщает нам, что в нём содержится. Он работает, и отчёт точен, но отображается в виде сплошного текста на вкладке «Эксперты». Прокручиваются тринадцать слоёв с названиями их входов и выходов. Чтобы понять связи между ними, нам приходится отслеживать эти названия на глаз, строка за строкой, держа в уме структуру графа. Модель с двумя параллельными ветвями читается точно так же, как модель с одной длинной цепочкой, поскольку список не позволяет показать, что два слоя работают параллельно. То, что нам больше всего хочется знать о сети, — её форма, — это единственное, чего список нам дать не может. Эта статья предназначена для разработчиков на языке MetaQuotes Language 5 (MQL5) и алгоритмических трейдеров, которые хотят видеть запускаемую модель, а не читать о ней.
MQL5 programming language
MQL5 programming language
  • www.metaquotes.net
MetaQuotes Language 5 (MQL5) is a specialized C++ based high-level object-oriented programming language. All trading applications for MetaTrader 5 are written in MQL5. The major difference of MQL5 from other programming languages ​​is its trading...