Теория категорий в MQL5 (Часть 14): Функторы с линейным порядком
Эта статья из серии статей о реализации теории категорий в MQL5 посвящена функторам. Мы исследуем, как линейный порядок может быть отображен на множестве благодаря функторам при рассмотрении двух множеств данных, между которыми на первый взгляд отсутствует всякая связь.
Отправка сообщений из MQL5 в Discord, создание бота Discord-MetaTrader 5
Подобно Telegram, Discord способен получать информацию и сообщения в формате JSON, используя свои коммуникационные API. В настоящей статье мы рассмотрим, как можно использовать API Discord для отправки торговых сигналов и обновлений из MetaTrader 5 в ваше торговое сообщество Discord.
Разрабатываем мультивалютный советник (Часть 30): От торговой стратегии — к запуску мультивалютного советника
Статья показывает полный цикл работы по созданию мультивалютного советника с использованием библиотеки Adwizard для MetaTrader 5: от подготовки окружения для создания проектов оптимизации до получения итоговых мультивалютных советников, объединяющих много экземпляров простой торговой стратегии. Разбираем настройку нужных входных параметров, соглашения об удобных именах файлов и запуск трёх экземпляров итоговых советников на разных торговых счетах с разными параметрами.
Разрабатываем мультивалютный советник (Часть 22): Начало перехода на горячую замену настроек
Если мы взялись за автоматизацию проведения периодической оптимизации, то надо позаботиться и об автоматическом обновлении настроек советников, которые уже работают на торговом счёте. Также это должно позволять запускать советник в тестере стратегий и менять его настройки в рамках одного прохода.
Применение ассоциативных правил для анализа данных на Форексе
Как применить предиктивные правила ретейл-аналитики супермаркетов к реальному рынку Форекс? Как связаны покупки печенья, молока и хлеба с транзакциями на бирже? В статье рассматривается инновационный подход к алгоритмическому трейдингу, основанный на применении ассоциативных правил.
MQL5-советник, интегрированный в Telegram (Часть 4): Модуляризация функций кода для улучшенного повторного использования
В этой статье мы реорганизуем существующий код отправки сообщений и скриншотов из MQL5 в Telegram, преобразовав его в многоразовые модульные функции. Это оптимизирует процесс, обеспечивая более эффективное выполнение и более простое управление кодом в нескольких экземплярах.
От Python к MQL5: Путешествие в квантовые торговые системы
В статье рассматривается разработка квантовой торговой системы - от прототипа на Python к реализации на MQL5 для реальной торговли. Система использует принципы квантовых вычислений, такие как суперпозиция и запутанность, для анализа состояний рынка, хотя она работает на классических компьютерах с использованием квантовых симуляторов. Ключевые особенности включают трехкубитную систему для одновременного анализа восьми состояний рынка, 24-часовые периоды ретроспективного анализа и семь технических индикаторов для анализа рынка. Хотя показатели точности могут показаться скромными, они обеспечивают существенное преимущество в сочетании с правильными стратегиями управления рисками.
Управление капиталом в трейдинге и программа домашней бухгалтерии трейдера с базой данных
Как трейдеру управлять капиталом? Как трейдеру и инвестору вести учет расходов, доходов, активов и пассивов? Я представлю вам не просто программу для учета, я покажу вам инструмент, который может стать вашим надежным финансовым навигатором в бурном море трейдинга.
Теория категорий в MQL5 (Часть 10): Моноидные группы
Статья продолжает серию о реализации теории категорий в MQL5. Здесь мы рассматриваем группы моноидов как средство, нормализующее множества моноидов и делающее их более сопоставимыми в более широком диапазоне множеств моноидов и типов данных.
Популяционные алгоритмы оптимизации: Искусственные мультисоциальные поисковые объекты (artificial Multi-Social search Objects, MSO)
Продолжение предыдущей статьи как развитие идеи социальных групп. В новой статье исследуется эволюция социальных групп с использованием алгоритмов перемещения и памяти. Результаты помогут понять эволюцию социальных систем и применить их в оптимизации и поиске решений.
Разработка системы репликации - Моделирование рынка (Часть 02): Первые эксперименты (II)
В этот раз попробуем другой подход для достижения цели в 1 минуту. Однако эта задача не так проста, как можно подумать.
Разрабатываем менеджер терминалов (Часть 1): Постановка задачи
Как обеспечить возможность удобного контроля за несколькими терминалами, на которых торгуют советники, да ещё и на разных компьютерах? Попробуем создать веб-интерфейс по управлению запуском торговых терминалов MetaTrader 5 и просмотру детальной информации о работе каждого экземпляра.
Теория категорий в MQL5 (Часть 3)
Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который пока относительно не освещен в MQL5-сообществе. Эта серия статей призвана осветить некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
Разрабатываем мультивалютный советник (Часть 26): Информер для торговых инструментов
Прежде, чем двигаться дальше в разработке мультивалютных советников, попробуем переключиться на создание нового проекта, использующего разработанную библиотеку. На этом примере выявим, как лучше организовать хранение исходного кода, и как нам может помочь использование нового репозитория кода от MetaQuotes.
Как разработать агент обучения с подкреплением на MQL5 с интеграцией RestAPI (Часть 4): Организация функций в классах в MQL5
В данной статье рассматривается переход от процедурного написания кода к объектно-ориентированному программированию (ООП) в MQL5 с упором на интеграцию с REST API. Сегодня мы обсуждаем организацию функций HTTP-запросов (GET и POST) в классы и подчеркнем такие преимущества, как инкапсуляция, модульность и простота обслуживания. Подробно рассмотрим рефакторинг кода и покажем замену изолированных функций методами класса. Статья содержит практические примеры и тесты.
Передовые методы управления и оптимизации памяти в MQL5
Откройте для себя практические методы оптимизации использования памяти в торговых системах MQL5. Научитесь создавать эффективные, стабильные и быстродействующие советники и индикаторы. Рассмотрим, как в действительности работает память в MQL5, распространенные ловушки, которые замедляют ваши системы или приводят их к сбоям, и — самое важное! — как их исправить.
Биологический нейрон для прогнозирования финансовых временных рядов
Выстраиваем биологически верную систему нейронов для прогнозирования временных рядов. Внедрение плазмоподобной среды в архитектуру нейронной сети создало своеобразный "коллективный разум", где каждый нейрон влияет на работу системы не только через прямые связи, но и посредством дальнодействующих электромагнитных взаимодействий. Как покажет себя нейронная система моделирования мозга на рынке?
Базовый класс популяционных алгоритмов как основа эффективной оптимизации
Уникальная исследовательская попытка объединения разнообразных популяционных алгоритмов в единый класс с целью упрощения применения методов оптимизации. Этот подход не только открывает возможности для разработки новых алгоритмов, включая гибридные варианты, но и создает универсальный базовый стенд для тестирования. Этот стенд становится ключевым инструментом для выбора оптимального алгоритма в зависимости от конкретной задачи.
Изучение MQL5 — от новичка до профи (Часть VII): Принципы отладки приложений MQL
Исправление ошибок — неотъемлемая часть цикла программирования. В этой статье рассмотрены типовые приемы исправления ошибок (отладки) любого приложения, работающего в среде MetaTrader 5.
Переходим на MQL5 Algo Forge (Часть 3): Использование чужих репозиториев в собственном проекте
Рассмотрим, как можно уже сейчас подключить чужой код из любого репозитория в хранилище MQL5 Algo Forge к своему проекту. В этой статье мы наконец обратимся к этой многообещающей, но и более сложной задаче: как на практике подключить и использовать в своём проекте библиотеки из чужих репозиториев хранилища MQL5 Algo Forge.
Модель портфельного риска с использованием критерия Келли и моделирования по методу Монте-Карло
На протяжении десятилетий трейдеры использовали формулу критерия Келли для определения оптимальной доли капитала, которую можно направить на инвестиции или ставки, чтобы максимизировать долгосрочный рост при минимизации риска разорения. Однако слепое следование критерию Келли, основанному на результатах единственного бэк-тестирования, часто опасно для отдельных трейдеров, поскольку при реальной торговле торговое преимущество со временем тает, а прошлые результаты не являются предиктором будущих результатов. В настоящей статье я представлю реалистичный подход к применению критерия Келли для распределения рисков одного или нескольких советников в MetaTrader 5, основанный на результатах моделирования методом Монте-Карло с помощью Python.
Возможности Мастера MQL5, которые вам нужно знать (Часть 38): Полосы Боллинджера
Полосы Боллинджера — очень распространенный индикатор конвертов, используемый многими трейдерами для ручного размещения и закрытия сделок. Мы изучим этот индикатор, рассмотрев как можно больше различных сигналов, которые он генерирует, и посмотрим, как их можно использовать в советнике, собранном с помощью Мастера.
Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 2)
Статья является частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT. В этой части мы описываем организацию нашего кода, первые заголовочные файлы и классы, а также написание тестов. В эту статью также включены краткие заметки о разработке через тестирование (Test-Driven-Development) и о ее применении в этом проекте.
Алгоритм анархической социальной оптимизации — Anarchic Society Optimization (ASO)
В очередной статье мы познакомимся с алгоритмом Anarchic Society Optimization (ASO) и обсудим, как алгоритм, основанный на иррациональном и авантюрном поведении участников анархического общества - аномальной системы социального взаимодействия, свободной от централизованной власти и различного рода иерархий способен исследовать пространство решений и избегать ловушек локального оптимума. В статье будет представлена унифицированная структура ASO, применимая как к непрерывным, так и к дискретным задачам.
Алгоритм искусственных водорослей — Artificial Algae Algorithm (AAA)
В данной статье рассматривается алгоритм искусственных водорослей (AAA), разработанный на основе биологических процессов, характерных для микроводорослей. Алгоритм включает спиральное движение, эволюционный процесс и адаптацию, что позволяет ему решать задачи оптимизации. Статья предлагает глубокий анализ принципов работы AAA и его потенциала в математическом моделировании, подчеркивая связь между природой и алгоритмическими решениями.
Комбинаторно-симметричная перекрестная проверка в MQL5
В статье показана реализация комбинаторно-симметричной перекрестной проверки на чистом MQL5 для измерения степени подгонки после оптимизации стратегии с использованием медленного полного алгоритма тестера стратегий.
Почему MetaTrader 5 подходит для торговли с ИИ: MQL5 + Python + ONNX + AI Assistant как экосистема алготрейдинга
MetaTrader 5 подходит для ИИ-торговли, потому что объединяет рыночные данные, MQL5-разработку, Python-исследования, ONNX-модели, Strategy Tester, VPS и экосистему MQL5.community в одном рабочем процессе. Статья показывает практический путь от AI-подсказки на графике к структурированному сигналу, работе с кодом через AI Assistant в MetaEditor, модели качества, созданию советнику, тестированию и контролируемому запуску торговой системы.
Построение модели для ограничения диапазона сигналов по тренду (Часть 9): Советник с несколькими стратегиями (III)
Добро пожаловать в третью часть серии статьей о трендах! Сегодня мы углубимся в использование дивергенции как стратегии определения оптимальных точек входа в рамках преобладающего дневного тренда. Мы также представим специальный механизм фиксации прибыли, аналогичный скользящему стоп-лоссу, но с уникальными усовершенствованиями. Кроме того, мы обновим советник Trend Constraint до более продвинутой версии, включив в него новое условие исполнения сделки в дополнение к существующим. Также мы продолжим изучать практическое применение MQL5 в разработке алгоритмов.
Алгоритм арифметической оптимизации (AOA): Путь от AOA к SOA (Simple Optimization Algorithm)
В данной статье мы представляем алгоритм арифметической оптимизации (Arithmetic Optimization Algorithm, AOA), который основывается на простых арифметических операциях: сложении, вычитании, умножении и делении. Эти базовые математические действия служат основой для поиска оптимальных решений в различных задачах.
Алгоритм оптимизации Ройял Флеш — Royal Flush Optimization (RFO)
Авторский алгоритм Royal Flush Optimization предлагает новый взгляд на решение задач оптимизации, заменяя классическое бинарное кодирование генетических алгоритмов на секторный подход, вдохновленный принципами покера. RFO демонстрирует, как упрощение базовых принципов может привести к созданию эффективного и практичного метода оптимизации. В статье представлен детальный анализ алгоритма и результаты тестирования.
Символьное уравнение прогнозирования цены с использованием SymPy
Статья описывает интересный подход к алготрейдингу, основанный на символьных математических уравнениях вместо традиционных "черных ящиков" машинного обучения. Автор показывает, как преобразовать непрозрачные нейросети в читаемые математические формулы через библиотеку SymPy и полиномиальную регрессию, что позволяет полностью понимать логику принятия торговых решений. Подход сочетает вычислительную мощь ML с прозрачностью классических методов, давая трейдеру возможность анализировать, корректировать и адаптировать модели в реальном времени.
Построение модели для ограничения диапазона сигналов по тренду (Часть 5): Система уведомлений (Часть III)
Эта часть серии посвящена интеграции WhatsApp с MetaTrader 5 для получения уведомлений. Мы рассмотрим блок-схему для упрощения понимания и обсудим важность мер безопасности при интеграции. Основная цель индикаторов — упростить анализ за счет автоматизации. Они должны включать методы уведомления для оповещения пользователей при выполнении определенных условий.
Возможности Мастера MQL5, которые вам нужно знать (Часть 17): Мультивалютная торговля
По умолчанию торговля несколькими валютами недоступна при сборке советника с помощью Мастера. Мы рассмотрим два возможных приема, к которым могут прибегнуть трейдеры, желающие проверить свои идеи на нескольких символах одновременно.
Как построить 29-парный портфель с L1-фильтром и VaR-распределением лотов
Разбирается практическое применение L1 Trend Filter для очистки шума и формирования структурных признаков, совместимых с live-торговлей. Показан полный цикл: H1-данные 29 инструментов из MetaTrader 5, каузальная фильтрация, CatBoost на горизонте трёх L1-баров, честный walk-forward и распределение лотов по VaR. Читатель получает воспроизводимый кодовый конвейер и методику портфельной оценки.
Возможности Мастера MQL5, которые вам нужно знать (Часть 22): Условные генеративно-состязательные сети (cGAN)
Генеративно-состязательные сети — это пара нейронных сетей, которые обучаются друг на друге для получения более точных результатов. Мы рассмотрим условный тип этих сетей в контексте их возможного применения в прогнозировании финансовых временных рядов в рамках класса сигналов советника.
Скрытые марковские модели для прогнозирования волатильности с учетом тренда
Скрытые марковские модели (СММ) — это мощный статистический инструмент, позволяющий выявлять скрытые состояния рынка на основе анализа наблюдаемых ценовых движений. В трейдинге СММ позволяют улучшить прогнозирование волатильности и применяются при разработке трендовых стратегий, моделируя изменения рыночных режимов. В этой статье мы представим пошаговый процесс разработки стратегии следования за трендом, которая использует СММ в качестве фильтра для прогнозирования волатильности.
Возможности Мастера MQL5, которые вам нужно знать (Часть 21): Тестирование с данными экономического календаря
Данные экономического календаря по умолчанию недоступны для тестирования с помощью советников в тестере стратегий. Мы рассмотрим, как базы данных могут помочь обойти это ограничение. В частности, мы увидим, как можно использовать базы данных SQLite для архивирования новостей Экономического календаря, чтобы советники, собранные с помощью Мастера, могли использовать их для генерации торговых сигналов.
Анализируем двоичный код цен на бирже (Часть II): Преобразуем в BIP39 и пишем GPT модель
Продолжаем попытки дешифровать движения цен... Как насчет лингвистического анализа "словаря рынка", который мы получим, преобразовав бинарный код цены в BIP39? В этой статье мы углубимся в инновационный подход к анализу биржевых данных и рассмотрим, как современные методы обработки естественного языка могут быть применены к языку рынка.
Разработка MQTT-клиента для MetaTrader 5: методология TDD (финал)
Статья является последней частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT 5.0. Хотя библиотека еще не готова к использованию, в этой части мы будем использовать наш клиент для обновления пользовательского символа с помощью тиков (или цен), полученных от другого брокера. В конце статьи вы найдете дополнительную информацию о текущем состоянии библиотеки и узнаете о том, чего не хватает для ее полного соответствия протоколу MQTT 5.0, о возможном плане действий и о том, как следить за развитием библиотеки и вносить в нее свой вклад.
Алгоритм оптимизации центральной силы — Central Force Optimization (CFO)
В этой статье представлен алгоритм оптимизации центральной силы (CFO), вдохновленный законами гравитации. Исследуется, как принципы физического притяжения могут решать оптимизационные задачи, где "более тяжелые" решения притягивают менее успешные аналоги.