
Разработка системы репликации (Часть 32): Система ордеров (I)
Из всего, что было разработано до настоящего момента, данная система, как вы наверняка заметите и со временем согласитесь, - является самым сложным. Сейчас нам нужно сделать нечто очень простое: заставить нашу систему имитировать работу торгового сервера на практике. Эта необходимость точно реализовывать способ моделирования действий торгового сервера кажется простым делом. По крайней мере, на словах. Но нам нужно сделать это так, чтобы для пользователя системы репликации/моделирования всё происходило как можно более незаметно или прозрачно.

Наиболее известные модификации алгоритма искусственного кооперативного поиска (Artificial Cooperative Search, ACSm)
В данной статье рассмотрим эволюцию алгоритма ACS: три модификации в направлении улучшения характеристик сходимости и результативности алгоритма. Трансформация одного из ведущих алгоритмов оптимизации. От модификаций матриц до революционных подходов к формированию популяций.

Разработка системы репликации - Моделирование рынка (Часть 05): Предварительный просмотр
Нам удалось разработать способ осуществления репликации рынка достаточно реалистичным и доступным образом. Теперь давайте продолжим наш проект и добавим данные для улучшения поведения репликации.

Индикатор прогнозирования ARIMA на MQL5
В данной статье мы создаем индикатор прогнозирования ARIMA на MQL5. Рассматривается, как модель ARIMA формирует прогнозы, её применимость к рынку Форекс и фондовому рынку в целом. Также объясняется, что такое авторегрессия AR, каким образом авторегрессионные модели используются для прогнозирования, и как работает механизм авторегрессии.

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

Применение ассоциативных правил для анализа данных на Форексе
Как применить предиктивные правила ретейл-аналитики супермаркетов к реальному рынку Форекс? Как связаны покупки печенья, молока и хлеба с транзакциями на бирже? В статье рассматривается инновационный подход к алгоритмическому трейдингу, основанный на применении ассоциативных правил.

Биологический нейрон для прогнозирования финансовых временных рядов
Выстраиваем биологически верную систему нейронов для прогнозирования временных рядов. Внедрение плазмоподобной среды в архитектуру нейронной сети создало своеобразный "коллективный разум", где каждый нейрон влияет на работу системы не только через прямые связи, но и посредством дальнодействующих электромагнитных взаимодействий. Как покажет себя нейронная система моделирования мозга на рынке?

Разработка системы репликации - Моделирование рынка (Часть 07): Первые улучшения (II)
В предыдущей статье мы внесли исправления в некоторые моменты и добавили тесты в нашу систему репликации для обеспечения максимально возможной стабильности. Мы также начали создавать и использовать конфигурационный файл для данной системы.

Алгоритм миграции животных — Animal Migration Optimization (AMO)
Статья посвящена алгоритму AMO, который моделирует процесс сезонной миграции животных в поисках оптимальных условий для жизни и размножения. Основные особенности AMO включают использование топологического соседства и вероятностный механизм обновления, что делает его простым в реализации и гибким для различных оптимизационных задач.

Возможности Мастера MQL5, которые вам нужно знать (Часть 18): Поиск нейронной архитектуры с использованием собственных векторов
Поиск нейронной архитектуры (Neural Architecture Search), автоматизированный подход к определению идеальных настроек нейронной сети, может стать преимуществом при наличии большого количества вариантов и больших наборов тестовых данных. Здесь мы рассмотрим, как этот подход можно сделать еще более эффективным с помощью парных собственных векторов (Eigen Vectors).

Возможности Мастера MQL5, которые вам нужно знать (Часть 21): Тестирование с данными экономического календаря
Данные экономического календаря по умолчанию недоступны для тестирования с помощью советников в тестере стратегий. Мы рассмотрим, как базы данных могут помочь обойти это ограничение. В частности, мы увидим, как можно использовать базы данных SQLite для архивирования новостей Экономического календаря, чтобы советники, собранные с помощью Мастера, могли использовать их для генерации торговых сигналов.

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

Прогнозируем Ренко — бары при помощи ИИ CatBoost
Как использовать Ренко-бары вместе с ИИ? Рассмотрим Ренко-трейдинг на Форекс с точностью прогнозов до 59.27%. Исследуем преимущества Ренко-баров для фильтрации рыночного шума, узнаем, почему объемные показатели важнее ценовых паттернов, и как настроить оптимальный размер блока Ренко для EURUSD. Пошаговое руководство по интеграции CatBoost, Python и MetaTrader 5 для создания собственной системы прогнозирования Ренко Форекс. Идеально для трейдеров, стремящихся выйти за рамки традиционного технического анализа.

Машинное обучение и Data Science (Часть 29): Как отбирать лучшие форекс-данные для обучения ИИ
В этой статье мы подробно рассмотрим важные аспекты при выборе наиболее релевантных и качественных данных с рынка Forex для повышения производительности моделей искусственного интеллекта.

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

Эволюционный торговый алгоритм обучения с подкреплением и вымиранием убыточных особей (ETARE)
Представляем инновационный торговый алгоритм, сочетающий эволюционные алгоритмы с глубоким обучением с подкреплением для торговли на Форекс. Алгоритм использует механизм вымирания неэффективных особей, для оптимизации торговой стратегии.

Разработка системы репликации - Моделирование рынка (Часть 24): FOREX (V)
Сегодня мы снимем ограничение, которое препятствовало выполнению моделирований, основанных на построении LAST, и введем новую точку входа специально для этого типа моделирования. Обратите внимание на то, что весь механизм работы будет основан на принципах валютного рынка. Основное различие в данной процедуре заключается в разделении моделирований BID и LAST. Однако важно отметить, что методология, используемая при рандомизации времени и его корректировке для совместимости с классом C_Replay, остается идентичной в обоих видах моделирования. Это хорошо, поскольку изменения в одном режиме приводят к автоматическим улучшениям в другом, особенно если это касается обработки времени между тиками.

Матричная факторизация: моделирование, которое более практично
Вы могли не заметить, что моделирование матриц оказалось немного странным, так как указывались не строки и столбцы, а только столбцы. Это выглядит очень странно при чтении кода, выполняющего матричные факторизации. Если вы ожидали увидеть указанные строки и столбцы, то могли бы запутаться при попытке выполнить факторизацию. Более того, данный способ моделирования матриц не самый лучший. Это связано с тем, что когда мы моделируем матрицы таким образом, то сталкиваемся с некими ограничениями, которые заставляют нас использовать другие методы или функции, которые не были бы необходимы, если бы моделирование осуществлялось более подходящим способом.

Управление капиталом в трейдинге и программа домашней бухгалтерии трейдера с базой данных
Как трейдеру управлять капиталом? Как трейдеру и инвестору вести учет расходов, доходов, активов и пассивов? Я представлю вам не просто программу для учета, я покажу вам инструмент, который может стать вашим надежным финансовым навигатором в бурном море трейдинга.

Машинное обучение и Data Science (Часть 30): Тандем из сверточных (CNN) и рекуррентных (RNN) нейросетей для прогнозирования фондового рынка
В этой статье мы рассмотрим динамическую интеграцию сверточных нейронных сетей (CNN) и рекуррентных нейронных сетей (RNN) для задач прогнозирования фондового рынка. Для этого соединим способность CNN извлекать закономерности и эффективность RNN в обработке последовательных данных. Давайте посмотрим, как такая мощная комбинация может повысить точность и эффективность торговых алгоритмов.

Разработка системы репликации - Моделирование рынка (Часть 09): Пользовательские события
Здесь мы увидим, как активировать пользовательские события и проработать вопрос о том, как индикатор сообщает о состоянии сервиса репликации/моделирования.

Разработка системы репликации - Моделирование рынка (Часть 03): Внесение корректировок (I)
Начнем с прояснения нынешней ситуации, потому что мы начали не самым лучшим образом. Если не сделать этого сейчас, то вскоре мы окажемся в беде.

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

Разработка системы репликации (Часть 40): Начало второй фазы (I)
Сегодня поговорим о новой фазе системы репликации/моделирования. На данном этапе разговор станет поистине интересным, а содержанием довольно насыщенным. Я настоятельно рекомендую вам внимательно прочитать статью и пользоваться приведенными в ней ссылками. Это поможет вам лучше понять содержание.

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

Отбор признаков и снижение размерности с помощью анализа главных компонент (PCA)
В статье рассматривается реализация модифицированного алгоритма анализа компонентов прямого отбора, вдохновленного исследованиями, представленными в книге Луки Пуггини (Luca Puggini) и Шона Маклуна (Sean McLoone) “Анализ компонентов прямого отбора: алгоритмы и приложения”.

Реализация модели таблицы в MQL5: Применение концепции MVC
В статье рассмотрим процесс разработки модели таблицы на языке MQL5 с использованием архитектурной концепции MVC (Model-View-Controller) для разделения логики данных, представления и управления, что помогает создавать структурированный, гибкий и масштабируемый код. Рассмотрим реализацию классов для построения модели таблицы, включая использование связанных списков для хранения данных.

Разработка системы репликации (Часть 39): Прокладываем путь (III)
Прежде, чем приступить ко второму этапу разработки, необходимо закрепить несколько идей. Знаете ли вы, как заставить MQL5 делать то, что вам необходимо? Пытались ли когда-нибудь выйти за рамки того, что содержится в документации? Если нет, то приготовьтесь. Потому что прямо сейчас мы будем делать то, чем большинство людей обычно не занимается.

Разработка системы репликации (Часть 43): Проект Chart Trade (II)
Большинство людей, которые хотят или мечтают научиться программировать, на самом деле не имеют представления о том, что делают. Их деятельность заключается в попытках создавать вещи определенным образом. Однако программирование – это вовсе не подгонка под ответ подходящих решений. Если действовать таким образом, можно создать больше проблем, чем решений. Здесь мы будем делать нечто более продвинутое и, следовательно, другое.

Разработка системы репликации - Моделирование рынка (Часть 08): Блокировка индикатора
В этой статье мы рассмотрим, как заблокировать индикатор при простом использовании языка MQL5, и сделаем это очень интересным и удивительным способом.

Разработка системы репликации (Часть 31): Проект советника — класс C_Mouse (V)
Разрабатывать способ установки таймера необходимо таким образом, чтобы во время репликации/моделирования он мог сообщить нам, сколько времени осталось, что может показаться на первый взгляд простым и быстрым решением. Многие просто пытаются приспособиться и использовать ту же систему, что и в случае с торговым сервером. Но есть один момент, который многие не учитывают, когда думают о таком решении: при репликации, и это не говоря уже о моделировании, часы работают по-другому. Всё это усложняет создание подобной системы.

Алгоритм выбора признаков с использованием энергетического обучения на чистом MQL5
Статья представляет реализацию алгоритма выбора признаков, описанного в научной работе "FREL: Стабильный алгоритм выбора признаков" (FREL: A stable feature selection algorithm). Сам алгоритм называется "Взвешивание признаков как регуляризованное обучение на основе энергии" (Feature weighting as regularized energy based learning).

Разработка системы репликации (Часть 49): Все усложняется (I)
В этой статье мы немного усложним ситуацию. Используя то, что было показано в предыдущих статьях, мы начнем открывать доступ к файлу шаблона, чтобы пользователь мог использовать свой собственный шаблон. Однако я буду вносить изменения постепенно, так как также буду дорабатывать индикатор, чтобы снизить нагрузку на MetaTrader 5.

Возможности Мастера MQL5, которые вам нужно знать (Часть 16): Метод главных компонент с собственными векторами
В статье рассматривается метод главных компонент — метод снижения размерности при анализе данных, а также то, как его можно реализовать с использованием собственных значений и векторов. Как всегда, мы попытаемся разработать прототип класса сигналов советника, который можно будет использовать в Мастере MQL5.

Возможности Мастера MQL5, которые вам нужно знать (Часть 13): DBSCAN для класса сигналов советника
Основанная на плотности пространственная кластеризация для приложений с шумами (Density Based Spatial Clustering for Applications with Noise, DBSCAN) - это неконтролируемая форма группировки данных, которая практически не требует каких-либо входных параметров, за исключением всего двух, что по сравнению с другими подходами, такими как k-средние, является преимуществом. Разберемся в том, как это может быть полезно в тестировании и торговле с применением советников, собранных в Мастере.

Комбинаторно-симметричная перекрестная проверка в MQL5
В статье показана реализация комбинаторно-симметричной перекрестной проверки на чистом MQL5 для измерения степени подгонки после оптимизации стратегии с использованием медленного полного алгоритма тестера стратегий.

Самооптимизирующийся советник на языках MQL5 и Python (Часть V): Глубокие марковские модели
Мы применим простую цепь Маркова к индикатору RSI, чтобы наблюдать за поведением цены после того, как индикатор проходит через ключевые уровни. Мы пришли к выводу, что самые сильные сигналы на покупку и продажу по паре NZDJPY генерируются, когда RSI находится в диапазоне 11–20 и 71–80 соответственно. Мы покажем, как можно манипулировать данными, чтобы создавать оптимальные торговые стратегии, основанные непосредственно на имеющихся данных. Кроме того, мы продемонстрируем, как обучить глубокую нейронную сеть оптимальному использованию матрицы перехода.

Теория категорий в MQL5 (Часть 21): Естественные преобразования с помощью LDA
Эта статья, 21-я в нашей серии, продолжает рассмотрение естественных преобразований и того, как их можно реализовать с помощью линейного дискриминантного анализа. Как и в предыдущей статье, реализация представлена в формате класса сигнала.

Возможности Мастера MQL5, которые вам нужно знать (Часть 24): Скользящие средние
Скользящие средние — очень распространенный индикатор, который используют и понимают большинство трейдеров. Мы рассмотрим возможные варианты их использования, которые относительно редко используются в советниках, собранных с помощью Мастера MQL5.

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