Разрабатываем менеджер терминалов (Часть 3): Получаем информацию о счёте и добавляем конфигурацию
Добавляем в наше веб-приложение возможность получения и отображения информации о торговых счетах терминалов: о балансе, прибыли, статусе подключения и другой важной информации. Также реализуем гибкую систему конфигурации, позволяющую управлять параметрами приложения через внешний JSON-файл, и улучшаем пользовательский интерфейс главной страницы.
Разработка системы репликации (Часть 73): Неожиданный способ оповещений (II)
В этой статье мы рассмотрим, как передавать информацию в режиме реального времени между индикатором и сервисом, а также разберемся, почему могут возникнуть проблемы при изменении таймфрейма и как их решать. В качестве бонуса вы получите доступ к последней версии приложения репликации/моделирования.
Разработка инструментария для анализа движения цен (Часть 21): Поиск разворотов рыночной структуры
Советник для поиска разворотов на рынке Market Structure Flip Detector позволяет отслеживать изменения рыночных настроений. Он использует пороговые значения, вычисленные на основе ATR, чтобы отслеживать изменения структуры. Советник помечает каждый более высокий и более низкий максимум. Благодаря быстрому выполнению кода и гибкому API, этот инструмент предлагает анализ в реальном времени, визуализирует информацию на графике и содержит интерактивную панель мониторинга для отслеживания количества и времени разворотов. Кроме того, можно настроить звуковые и push-уведомления, чтобы не пропустить ни один важный сигнал и строить действенные стратегии на основе простых входных данных и вспомогательных функций.
Пользовательский индикатор: Отображение сделок входа, выхода и разворота позиции на неттинговых счетах
В данной статье мы рассмотрим нестандартный способ создания индикатора в MQL5. Вместо того, чтобы фокусироваться на тренде или графическом паттерне, нашей целью будет управление собственными позициями, включая частичные входы и выходы. Мы будем активно использовать динамические матрицы и некоторые торговые функции, связанные с историей сделок и открытыми позициями, чтобы указать на графике, где осуществились данные сделки.
Знакомство с языком MQL5 (Часть 24): Создание советника для торговли по графическим объектам
В этой статье вы научитесь созданию советника, который обнаруживает зоны поддержки и сопротивления, нарисованные на графике, и автоматически исполняет сделки на их основе.
Как подключить LLM к советнику MQL5 через Python-сервер
В статье разобраны три ключевые преграды интеграции LLM с MetaTrader 5: отсутствие прямого доступа, жёсткие rate limits и безопасность API‑ключей при архитектурных ограничениях MQL5. Предложена схема с локальным Python‑сервером как мостом между советником и OpenRouter. Рассматриваются WebSocket и fallback на TCP, хранение ключа на сервере, пакетная обработка нескольких символов и формирование технического промпта. Читатель получит готовую архитектуру, снижающую задержки и издержки.
Введение в MQL5 (Часть 11): Руководство для начинающих по работе со встроенными индикаторами в MQL5 (II)
В этой статье мы узнаем, как написать на MQL5 советника с использованием нескольких индикаторов, таких как RSI, MA и Stochastic Oscillator. Индикаторы будут искать скрытые бычьи и медвежьи расхождения. В статье представлены примеры и исходный код с подробными комментариями — изучайте их, чтобы узнать, как эффективно управлять рисками и автоматизировать торговлю.
Нейросети в трейдинге: Выявление аномалий в частотной области (Окончание)
Продолжаем работу над имплементацией подходов фреймворка CATCH, который объединяет преобразование Фурье и механизм частотного патчинга, обеспечивая точное выявление рыночных аномалий. В этой работе мы завершаем реализацию собственного видения предложенных подходов и проведем тестирование новых моделей на реальных исторических данных.
Нейросети в трейдинге: Адаптивное восприятие рыночной динамики (Окончание)
В статье продолжается работа над реализацией подходов фреймворка STE-FlowNet, который сочетает многопоточную обработку с рекуррентными структурами для точного анализа сложных данных. Проведенные тесты подтвердили его стабильность и гибкость в разных сценариях. Архитектура ускоряет вычисления и позволяет глубже моделировать зависимости во временных рядах. Такой подход открывает новые возможности для практического применения в трейдинге и аналитике.
Python + MetaTrader 5: быстрый исследовательский контур для данных, признаков и прототипов
Статья показывает, как интеграция Python и MetaTrader 5 объединяет исследовательскую гибкость и торговое исполнение в едином рабочем процессе. Python используется для анализа данных, отбора признаков и обучения модели, а MetaTrader 5 — для тестирования и автоматизации торговли. Такой подход упрощает перенос решений в практику, повышает воспроизводимость и делает разработку торговых систем более быстрой и структурированной.
Компьютерное зрение для трейдинга (Часть 2): Усложняем архитектуру до 2D-анализа RGB-изображений
Компьютерное зрение для трейдинга, как работает и как разрабатывается по шагам. Создаем алгоритм распознавания RGB-изображений графиков цен с механизмом внимания и двунаправленным LSTM-слоем. В результате получаем рабочую модель прогнозирования цены евро-доллара с точностью до 55% на валидационном участке.
Таблицы в парадигме MVC на MQL5: Интегрируем компонент Model в компонент View
В статье создадим первую версию элемента управления TableControl (TableView). Это будет простая статичная таблица, создаваемая на основе входных данных, определяемых двумя массивами — массивом данных и массивом заголовков столбцов.
Передовые алгоритмы исполнения ордеров на MQL5: TWAP, VWAP и ордера Iceberg
Фреймворк MQL5, предоставляющий розничным трейдерам алгоритмы исполнения институционального уровня (TWAP, VWAP, Iceberg) с помощью унифицированного менеджера исполнения и анализатора эффективности для более плавного и точного разделения ордеров и аналитики.
Анализ влияния солнечных и лунных циклов на цены валют
Что если лунные циклы и сезонные паттерны влияют на валютные рынки? Эта статья показывает, как перевести астрологические концепции на язык математики и машинного обучения. Я создал Python-систему с 88 признаками на основе астрономических циклов, обучил CatBoost на 15 годах данных EUR/USD и получил интригующие результаты. Код открыт, методы проверяемы, выводы неожиданны — древняя мудрость встречается с градиентным бустингом.
От новичка до эксперта: Разработка стратегии торговли по зонам ликвидности
Торговля в зонах ликвидности обычно ведется путем ожидания возврата цены и повторного тестирования интересующей зоны, часто путем размещения отложенных ордеров в этих областях. В этой статье мы используем MQL5, чтобы воплотить эту концепцию в жизнь, демонстрируя, как такие зоны могут быть определены программно и как можно систематически применять управление рисками. Присоединяйтесь к обсуждению, поскольку мы исследуем как логику торговли на основе ликвидности, так и ее практическую реализацию.
Разработка системы репликации - Моделирование рынка (Часть 03): Внесение корректировок (I)
Начнем с прояснения нынешней ситуации, потому что мы начали не самым лучшим образом. Если не сделать этого сейчас, то вскоре мы окажемся в беде.
Разработка системы репликации (Часть 40): Начало второй фазы (I)
Сегодня поговорим о новой фазе системы репликации/моделирования. На данном этапе разговор станет поистине интересным, а содержанием довольно насыщенным. Я настоятельно рекомендую вам внимательно прочитать статью и пользоваться приведенными в ней ссылками. Это поможет вам лучше понять содержание.
Разработка инструментария для анализа движения цен (Часть 15): Введение в теорию четвертей (I) — Скрипт Quarters Drawer
Точки поддержки и сопротивления являются критическими уровнями, которые сигнализируют о возможном развороте и продолжении тренда. Хотя определение этих уровней может оказаться непростой задачей, ее решение позволит вам хорошо ориентироваться на рынке. В статье представлен инструмент Quarters Drawer. Он поможет вам определить как основные, так и второстепенные уровни поддержки и сопротивления.
Алгоритм искусственного атома — Artificial Atom Algorithm (A3)
Реализация алгоритма A3 на MQL5 — метаэвристического метода оптимизации, вдохновленного химическими процессами. Всего 2 настраиваемых параметра, компактность и небольшая популяция обеспечивают высокую скорость работы при достаточном качестве решений.
Нейросети в трейдинге: Вероятностное прогнозирование временных рядов (K2VAE)
Предлагаем ознакомиться с оригинальной реализацией фреймворка K²VAE — гибкой модели, способной линейно аппроксимировать сложную динамику в латентном пространстве. В статье показано, как реализовать ключевые компоненты на языке MQL5, включая параметризованные матрицы и их управление вне стандартных нейросетевых слоёв. Материал будет полезен тем, кто ищет практический подход к созданию интерпретируемых моделей временных рядов.
Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (II) - Настройка LoRA
Языковые модели (LLM) являются важной частью быстро развивающегося искусственного интеллекта, поэтому нам следует подумать о том, как интегрировать мощные LLM в нашу алгоритмическую торговлю. Большинству людей сложно настроить эти модели в соответствии со своими потребностями, развернуть их локально, а затем применить к алгоритмической торговле. В этой серии статей будет рассмотрен пошаговый подход к достижению этой цели.
Нейросети в трейдинге: Двухмерные модели пространства связей (Окончание)
Продолжаем знакомство с инновационным фреймворком Chimera — двухмерной моделью пространства состояний, использующей нейросетевые технологии для анализа многомерных временных рядов. Этот метод обеспечивает высокую точность прогнозирования при низких вычислительных затратах.
Событийная архитектура в MQL5: как превратить советник в полноценную торговую систему
Статья посвящена событийной архитектуре в MQL5 и описывает переход от монолитной модели OnTick к распределённой обработке. Разбираются предопределённые и пользовательские события, сервисы и обмен сообщениями между программами, а также типовые архитектурные ошибки. На практическом примере показано, как организовать взаимодействие индикаторов и советника, чтобы снизить нагрузку, повысить читаемость и упростить сопровождение.
Разработка системы репликации - Моделирование рынка (Часть 08): Блокировка индикатора
В этой статье мы рассмотрим, как заблокировать индикатор при простом использовании языка MQL5, и сделаем это очень интересным и удивительным способом.
Алгоритм выбора признаков с использованием энергетического обучения на чистом MQL5
Статья представляет реализацию алгоритма выбора признаков, описанного в научной работе "FREL: Стабильный алгоритм выбора признаков" (FREL: A stable feature selection algorithm). Сам алгоритм называется "Взвешивание признаков как регуляризованное обучение на основе энергии" (Feature weighting as regularized energy based learning).
Знакомство с языком MQL5 (Часть 26): Советник по зонам поддержки/сопротивления — выявление, проверка пробоя и вход
В этой статье вы научитесь созданию советника на языке MQL5, который автоматически определяет зоны поддержки и сопротивления и исполняет сделки на их основе. Вы узнаете, как запрограммировать своего советника так, чтобы он выявлял эти ключевые рыночные уровни, осуществлял мониторинг отскоков цены и принимал торговые решения без ручного вмешательства.
Нейросети в трейдинге: Пространственно-управляемая агрегация рыночных событий (Энкодеры)
Статья раскрывает архитектуру объекта верхнего уровня STFlow и работу энкодера Mix-Fusion, отвечающего за согласованное смешивание контекста разных модальностей. Показано, как обеспечивается устойчивость обработки при высокой чувствительности к микроимпульсам рынка и сохранении скорости работы модели.
Диалектический поиск — Dialectic Search (DA)
Представляем Диалектический Алгоритм (DA) — новый метод глобальной оптимизации, вдохновленный философской концепцией диалектики. Алгоритм использует уникальное разделение популяции на спекулятивных и практических мыслителей. Тестирование показывает впечатляющую производительность до 98% в задачах малой размерности и общую эффективность 57.95%. Статья объясняет эти показатели и представляет детальное описание алгоритма и результаты экспериментов на различных типах функций.
Разработка системы репликации (Часть 39): Прокладываем путь (III)
Прежде, чем приступить ко второму этапу разработки, необходимо закрепить несколько идей. Знаете ли вы, как заставить MQL5 делать то, что вам необходимо? Пытались ли когда-нибудь выйти за рамки того, что содержится в документации? Если нет, то приготовьтесь. Потому что прямо сейчас мы будем делать то, чем большинство людей обычно не занимается.
Разработка системы репликации (Часть 49): Все усложняется (I)
В этой статье мы немного усложним ситуацию. Используя то, что было показано в предыдущих статьях, мы начнем открывать доступ к файлу шаблона, чтобы пользователь мог использовать свой собственный шаблон. Однако я буду вносить изменения постепенно, так как также буду дорабатывать индикатор, чтобы снизить нагрузку на MetaTrader 5.
Нейросети в трейдинге: Модель темпоральных запросов (TQNet)
Фреймворк TQNet открывает новые возможности в моделировании и прогнозировании финансовых временных рядов, сочетая модульность, гибкость и высокую производительность. В статье раскрывается возможность реализации сложных механизмом работы с глобальными корреляциями, включая продвинутые методы инициализации параметров.
Алгоритм оптимизации одуванчика — Dandelion Optimizer (DO)
Алгоритм оптимизации одуванчика DO превращает простой полёт семени по ветру в стратегию математического поиска. Три фазы - вихревой подъём, дрейф к центру популяции и приземление по траектории Леви - формируют изящную метафору, которая на практике показывает интересные результаты.
Разработка системы репликации - Моделирование рынка (Часть 09): Пользовательские события
Здесь мы увидим, как активировать пользовательские события и проработать вопрос о том, как индикатор сообщает о состоянии сервиса репликации/моделирования.
Моделирование рынка (Часть 06): Перенос данных из MetaTrader 5 в Excel
Многим, особенно тем, кто не занимается программированием, очень сложно передавать информацию между MetaTrader 5 и другими программами. Одной из таких программ является Excel. Многие люди используют Excel для управления и контроля своих рисков, так как это очень хорошая программа, которую легко освоить даже тем, кто не является программистом на VBA. Далее мы рассмотрим, как установить связь между MetaTrader 5 и Excel (очень простой метод).
От новичка до эксперта: Совместная отладка на MQL5
Политика «решения проблем» может создать четкую программу для овладения сложными навыками, такими как программирование на MQL5. Такой подход позволяет сконцентрироваться на решении проблем, одновременно развивая свои навыки. Чем больше проблем вы решаете, тем более продвинутый опыт передается в ваш мозг. Лично я считаю, что отладка - это самый эффективный способ освоить программирование. Сегодня мы рассмотрим процесс очистки кода и обсудим лучшие методы преобразования запутанной программы в ясную и функциональную. Прочтите эту статью и откройте для себя ценную информацию.
Машинное обучение и Data Science (Часть 35): NumPy в MQL5 – искусство создания сложных алгоритмов с меньшим объемом кода
Библиотека NumPy лежит в основе практически всех алгоритмов машинного обучения на языке программирования Python. В этой статье мы собираемся реализовать аналогичный модуль, содержащий набор всего сложного кода, который поможет нам создавать сложные модели и алгоритмы любого типа.
Разработка системы репликации (Часть 31): Проект советника — класс C_Mouse (V)
Разрабатывать способ установки таймера необходимо таким образом, чтобы во время репликации/моделирования он мог сообщить нам, сколько времени осталось, что может показаться на первый взгляд простым и быстрым решением. Многие просто пытаются приспособиться и использовать ту же систему, что и в случае с торговым сервером. Но есть один момент, который многие не учитывают, когда думают о таком решении: при репликации, и это не говоря уже о моделировании, часы работают по-другому. Всё это усложняет создание подобной системы.
Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)
Статья разбирает алгоритм Battle Royale Optimizer — метаэвристику, в которой решения конкурируют с ближайшими соседями, накапливают “повреждения”, заменяются при превышении порога и периодически сужают пространство поиска вокруг лучшего. Показаны псевдокод и реализация класса CAOBRO в MQL5, включая поиск соседей, движение к лучшему и адаптивный интервал delta. Результаты тестов на функциях Hilly, Forest и Megacity демонстрируют сильные и слабые стороны подхода. Читатель получает готовую основу для экспериментов и настройки popSize и maxDamage.
Торговый инструментарий MQL5 (Часть 8): Внедрение и использование EX5-библиотеки для управления историей в коде
В заключительной статье этой серии вы узнаете, как легко импортировать и применять EX5-библиотеку для управления историей (History Manager) в исходном коде MQL5 для обработки истории сделок в вашем аккаунте MetaTrader 5. С помощью простых вызовов функций в MQL5, занимающих всего одну строку кода, вы сможете эффективно управлять своими торговыми данными и анализировать их. Кроме того, вы научитесь создавать различные скрипты для анализа истории сделок и разрабатывать советник на основе ценовых показателей в качестве практических примеров использования. Используемый в качестве примера советник применяет данные о ценах и библиотеку History Manager EX5 для принятия обоснованных торговых решений, корректировки объемов сделок и реализации стратегий восстановления на основе ранее закрытых сделок.
Теория категорий в MQL5 (Часть 6): Мономорфные расслоенные произведения и эпиморфные кодекартовы квадраты
Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который лишь недавно начал освещаться в MQL5-сообществе. Эта серия статей призвана рассмотреть некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.