В этой статье я расскажу, как мы с командой разработали такую систему на Python, и покажу, как совместить классический анализ паттернов с современными методами машинного обучения. Мы пройдемся по архитектуре, от базовых компонентов до сложных механизмов принятия решений, и, конечно, я поделюсь реальным кодом и результатами тестирования.
The article describes the experience of developing a hybrid trading system that combines classical technical analysis with neural networks. The author provides a detailed analysis of the system architecture from basic pattern analysis and neural network structure to the mechanisms behind trading decisions, and shares real code and practical observations.
Каждый разработчик торговой системы рано или поздно сталкивается с фундаментальным вопросом: как правильно нарезать рыночные данные для анализа? Традиционный подход с фиксированными интервалами похож на попытку измерить пульс спортсмена каждые 5 минут, независимо от того, бежит он спринтер или отдыхает. В периоды высокой активности критически важная информация теряется в одном баре, а в спокойные часы мы получаем десятки пустых баров, создавая информационный шум.
We will look at price discretization methods using Python + MQL5. In this article, I will share my practical experience developing a Python library that implements a wide range of approaches to bar formation — from classic Volume and Range bars to more exotic methods like Renko and Kagi. We will consider three-line breakout candles and range bars analyzing their statistics and trying to define how else the prices can be represented discretely.
В этой статье я расскажу о своем пути от отчаяния до работающей системы прогнозирования волатильности. Никаких скучных вещей или академического жаргона - только реальный опыт и работающие решения. Я покажу вам, как я объединил MetaTrader 5 и Python (спойлер: они не сразу поладили), как я заставил машинное обучение работать на меня, и какие подводные камни я встретил на этом пути.
In this article, we will forecast future extreme volatility using binary classification. Besides, we will develop an extreme volatility forecast indicator using machine learning.
Язык программирования MQL5 имеет множество встроенных функций для управления и оценки времени, что позволяет нашим алгоритмическим торговым системам быть в курсе времени в реальном мире. Однако наш благоприятный язык программирования предлагает очень базовый (простой) и иногда не очень удобный для человека способ работы со временем, датами и т. д., по сравнению с другими языками, такими как Python, который предлагает богатые модули для решения этой задачи, такие как datetime, calendar, time, zoneinfo и т. д.
В этой статье мы рассмотрим реализацию модулей, аналогичных тем, что предлагаются в Python для работы со временем, в языке программирования MQL5.
Source code: Lib/datetime.py The datetime module supplies classes for manipulating dates and times. While date and time arithmetic is supported, the focus of the implementation is on efficient attr...
Ведение журнала очень важно для любого современного устройства, программы или программного обеспечения. Это просто процесс ведения записей обо всем, что произошло за время выполнения той или иной операции.
Компьютеры хранят записи об использовании программ, соединениях и системных событиях.
Наши браузеры хранят историю сайтов, которые мы посещаем, и нашего взаимодействия с ними.
Ведение таких записей необходимо по многим важным причинам, включая поиск и устранение неисправностей, отладку, аудит, мониторинг производительности и понимание поведения наших систем с течением времени.
Integrating Python's logging module with MQL5 empowers traders with a systematic logging approach, simplifying the process of monitoring, debugging, and documenting trading activities. This article explains the adaptation process, offering traders a powerful tool for maintaining clarity and organization in trading software development.
Прогнозирование временных рядов никогда не было легкой задачей в машинном обучении; для решения этой проблемы было предложено несколько методов и моделей, большинство из которых не достигли окончательного успеха. Линейные и нелинейные модели часто не справляются с этой задачей, несмотря на то что демонстрируют проблески достойных предсказаний данных временных рядов.
In this article, we will attempt to predict the market with a decent model for time series forecasting named DeepAR. A model that is a combination of deep neural networks and autoregressive properties found in models like ARIMA and Vector Autoregressive (VAR).
Файловые операции важны для любого языка программирования. Они помогают нашим программам взаимодействовать с внешними файлами через код, помогают импортировать и экспортировать биты информации. Поскольку в современном программном обеспечении доступны сотни, если не тысячи, типов файлов, нам нужны более эффективные способы обработки (чтения и записи) информации в эти файлы и из них.
This article shows how to simplify complex MQL5 file operations by building a Python-style interface for effortless reading and writing. It explains how to recreate Python’s intuitive file-handling patterns through custom functions and classes. The result is a cleaner, more reliable approach to MQL5 file I/O.
В предыдущей статье мы рассмотрели и создали класс симулятора на Python под названием TradeSimulator, который в значительной степени опирался на информацию из MetaTrader 5, такую как тики, данные баров, информация о символах и многое другое.
Первая статья заложила основы того, что необходимо для имитации клиента MetaTrader 5 и его тестера стратегий (симулятора). В этой статье мы представим данные о тиках и барах, а также функции, аналогичные тем, что предоставляет модуль Python-MetaTrader 5 в симуляторе, сделав еще один шаг к воспроизведению всего, что делает и предоставляет MetaTrader 5.
In this article, we introduce functions similar to those provided by the Python-MetaTrader 5 module, providing a simulator with a familiar interface and a custom way of handling bars and ticks internally.
В предыдущей статье мы реализовали в нашем симуляторе синтаксис и функции, схожие с теми, что предлагает модуль Python-MetaTrader. С похожими ордерами, сделками, позициями и структурами. В этой статье мы реализуем очень близкий к MetaTrader 5 подход к работе с такими структурами (торговыми операциями).
In this article we introduce Python-MetaTrader5-like ways of handling trading operations such as opening, closing, and modifying orders in the simulator. To ensure the simulation behaves like MT5, a strict validation layer for trade requests is implemented, taking into account symbol trading parameters and typical brokerage restrictions.
Наш удаленный риск-менеджер - это не просто инструмент, это ваша страховка от финансового хаоса в непредсказуемом мире торговли на Forex. Готовы ли вы превратить свою торговлю из рискованной авантюры в контролируемый процесс? Тогда пристегните ремни - мы отправляемся в путешествие по миру умного управления рисками, где технология встречается с финансовой безопасностью.
We are making a remote professional risk manager for Forex in Python, deploying it on the server step by step. In the course of the article, we will understand how to programmatically manage Forex risks, and how not to waste a Forex deposit any more.
Нейро-символические системы в алгоритмической торговле: Сочетание символьных правил и нейронных сетей
Методы дискретизации движения цены в Python
Каждый разработчик торговой системы рано или поздно сталкивается с фундаментальным вопросом: как правильно нарезать рыночные данные для анализа? Традиционный подход с фиксированными интервалами похож на попытку измерить пульс спортсмена каждые 5 минут, независимо от того, бежит он спринтер или отдыхает. В периоды высокой активности критически важная информация теряется в одном баре, а в спокойные часы мы получаем десятки пустых баров, создавая информационный шум.
Создание индикатора прогнозирования волатильности с помощью Python
Реализация практических модулей из других языков в MQL5 (часть 04): модули времени, даты и datetime из Python
Язык программирования MQL5 имеет множество встроенных функций для управления и оценки времени, что позволяет нашим алгоритмическим торговым системам быть в курсе времени в реальном мире. Однако наш благоприятный язык программирования предлагает очень базовый (простой) и иногда не очень удобный для человека способ работы со временем, датами и т. д., по сравнению с другими языками, такими как Python, который предлагает богатые модули для решения этой задачи, такие как datetime, calendar, time, zoneinfo и т. д.
В этой статье мы рассмотрим реализацию модулей, аналогичных тем, что предлагаются в Python для работы со временем, в языке программирования MQL5.
Реализация практических модулей из других языков в MQL5 (часть 05): Модуль Logging из Python, Log Like a Pro
Ведение журнала очень важно для любого современного устройства, программы или программного обеспечения. Это просто процесс ведения записей обо всем, что произошло за время выполнения той или иной операции.
Ведение таких записей необходимо по многим важным причинам, включая поиск и устранение неисправностей, отладку, аудит, мониторинг производительности и понимание поведения наших систем с течением времени.
Наука о данных и ML (часть 47): Прогнозирование рынка с помощью модели DeepAR на Python
Прогнозирование временных рядов никогда не было легкой задачей в машинном обучении; для решения этой проблемы было предложено несколько методов и моделей, большинство из которых не достигли окончательного успеха. Линейные и нелинейные модели часто не справляются с этой задачей, несмотря на то что демонстрируют проблески достойных предсказаний данных временных рядов.
Реализация практических модулей из других языков на MQL5 (часть 06):Файловые операции ввода-вывода, подобные Python, в MQL5
Файловые операции важны для любого языка программирования. Они помогают нашим программам взаимодействовать с внешними файлами через код, помогают импортировать и экспортировать биты информации. Поскольку в современном программном обеспечении доступны сотни, если не тысячи, типов файлов, нам нужны более эффективные способы обработки (чтения и записи) информации в эти файлы и из них.
Тестер стратегий Python-MetaTrader 5 (часть 02): Работа с барами, тиками и перегрузка встроенных функций в симуляторе
В предыдущей статье мы рассмотрели и создали класс симулятора на Python под названием TradeSimulator, который в значительной степени опирался на информацию из MetaTrader 5, такую как тики, данные баров, информация о символах и многое другое.
Первая статья заложила основы того, что необходимо для имитации клиента MetaTrader 5 и его тестера стратегий (симулятора). В этой статье мы представим данные о тиках и барах, а также функции, аналогичные тем, что предоставляет модуль Python-MetaTrader 5 в симуляторе, сделав еще один шаг к воспроизведению всего, что делает и предоставляет MetaTrader 5.
Тестер стратегий Python-MetaTrader 5 (часть 03): Торговые операции, похожие на MT5, - обработка и управление
Создайте систему удаленного управления рисками на Python