Популяционные алгоритмы оптимизации: Алгоритм летучих мышей (Bat algorithm - BA)
Сегодня изучим алгоритм летучих мышей (Bat algorithm - BA), который отличается удивительной сходимостью на гладких функциях.
Освоение ONNX: Переломный момент для MQL5-трейдеров
Погрузитесь в мир ONNX - мощного открытого формата для обмена моделями машинного обучения. Узнайте, как использование ONNX может произвести революцию в алгоритмической торговле на MQL5, позволяя трейдерам беспрепятственно интегрировать передовые модели искусственного интеллекта и поднять свои стратегии на новый уровень. Раскройте секреты кросс-платформенной совместимости и узнайте, как раскрыть весь потенциал ONNX в своей торговле на MQL5. Улучшите свою торговлю с помощью этого подробного руководства по ONNX.
Работа с таймсериями в библиотеке DoEasy (Часть 42): Класс объекта абстрактного индикаторного буфера
С данной статьи начнём делать классы индикаторных буферов для библиотеки DoEasy. Сегодня создадим базовый класс абстрактного буфера, который будет являться основой для создания различных типов классов индикаторных буферов.
Нейросети — это просто (Часть 17): Понижение размерности
Мы продолжаем рассмотрение моделей искусственного интеллекта. И, в частности, алгоритмов обучения без учителя. Мы уже познакомились с одним из алгоритмов кластеризации. А в этой статье я хочу поделиться с Вами вариантом решения задач понижения размерности.
Работа с таймсериями в библиотеке DoEasy (Часть 44): Класс-коллекция объектов индикаторных буферов
В статье рассмотрим создание класса-коллекции объектов индикаторных буферов и протестируем возможности создания любого количества буферов для программ-индикаторов и возможности работы с ними (максимальное количество буферов, которые можно создать в MQL-индикаторах - 512 буферов).
Анализируем причины неудач торговых советников
В этой статье мы проанализируем данные по валютам, чтобы понять, почему советники могут показывать хорошие результаты на одних интервалах и при этом плохо работают на других.
Популяционные алгоритмы оптимизации: Поиск косяком рыб (Fish School Search — FSS)
Поиск косяком рыб (FSS) — новый современный алгоритм оптимизации, вдохновленный поведением рыб в стае, большинство из которых, до 80%, плавают организовано в сообществе сородичей. Доказано, что объединения рыб играют важную роль в эффективности поиска пропитания и защиты от хищников.
Работа с таймсериями в библиотеке DoEasy (Часть 47): Мультипериодные мультисимвольные стандартные индикаторы
В статье начнём разработку методов работы со стандартными индикаторами, что в итоге позволит создавать мультисимвольные мультипериодные стандартные индикаторы на базе классов библиотеки. Также добавим в классы таймсерий событие "Пропущенные бары" и разгрузим код основной программы, переместив из неё функции подготовки библиотеки в класс CEngine.
Работа с таймсериями в библиотеке DoEasy (Часть 40): Индикаторы на основе библиотеки - реалтайм обновление данных
В статье рассмотрим создание простого мультипериодного индикатора на основе библиотеки DoEasy. Доработаем классы таймсерий для получения данных с любых таймфреймов для отображения их на текущем периоде графика.
Нейросети — это просто (Часть 22): Обучение без учителя рекуррентных моделей
Мы продолжаем рассмотрение алгоритмов обучения без учителя. И сейчас я предлагаю обсудить особенности использования автоэнкодеров для обучения рекуррентных моделей.
Высокочастотная арбитражная торговая система на Python с использованием MetaTrader 5
Создаем легальную в глазах брокеров арбитражную систему, которая создает тысячи синтетических цен на рынке Форекс, анализирует их, и успешно торгует в прибыль.
Работа с ценами в библиотеке DoEasy (Часть 64): Стакан цен, классы объекта-снимка и объекта-серии снимков стакана цен
В статье создадим два класса - класс объекта-снимка стакана цен и класс объекта-серии снимков стакана цен и протестируем создание серии данных стакана цен.
Машинное обучение и Data Science (Часть 05): Деревья решений на примере погодных условий для игры в теннис
Деревья решений классифицируют данные, имитируя то, каким образом размышляют люди. В этой статье посмотрим, как строить деревья и использовать их для классификации и прогнозирования данных. Основная цель алгоритма деревьев решений состоит в том, чтобы разделить выборку на данные с "примесями" и на "чистые" или близкие к узлам.
Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов
В статье создадим функционал отслеживания некоторых событий объектов-чартов — добавление и удаление графиков символов, добавление и удаление подокон на график, а также добавление/удаление/изменение индикаторов в окнах чартов.
Причинно-следственный вывод в задачах классификации временных рядов
В этой статье мы рассмотрим теорию причинно-следственного вывода с применением машинного обучения, а также реализацию авторского подхода на языке Python. Причинно-следственный вывод и причинно-следственное мышление берут свои корни в философии и психологии, это важная часть нашего способа мыслить эту реальность.
Прочие классы в библиотеке DoEasy (Часть 68): Класс объекта-окна графика и классы объектов-индикаторов в окне графика
В статье продолжим разрабатывать класс объекта-чарта. Добавим к нему список объектов-окон графика, в которых в свою очередь будут доступны списки индикаторов, размещённых в них.
Дискретное преобразование Хартли
В этой статье мы познакомимся с одним из методов спектрального анализа и обработки сигналов - дискретным преобразованием Хартли. С его помощью можно фильтровать сигналы, анализировать их спектр и многое другое. Возможности DHT ничуть не меньше, чем у дискретного преобразования Фурье. Однако, в отличие от него, DHT использует только вещественные числа, что делает его более удобным для реализации на практике, а результаты его применения более наглядными.
Машинное обучение и Data Science (Часть 11): Наивный байесовский классификатор и теория вероятностей в трейдинге
Торговлю по вероятностям можно сравнить с ходьбой по канату — она требует точности, баланса и четкого понимания риска. В мире трейдинга вероятность решает все. Именно от нее зависит результат — успех или неудача, прибыль или убыток. Используя возможности вероятности, трейдеры могут принимать более обоснованные решения, эффективнее управлять рисками и достигать своих финансовых целей. Неважно, опытный вы инвестор или начинающий трейдер, понимание вероятности может стать ключом к раскрытию вашего торгового потенциала. В этой статье мы познакомимся с увлекательным миром вероятностного трейдинга и покажем, как вывести игру в торговлю на новый уровень.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть IX): Совместимость с MQL4 - Подготовка данных
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В восьмой части сделали класс для отслеживания событий модификации рыночных ордеров и позиций. В данной статье начнём доработку библиотеки с целью полной её совместимости с MQL4.
Работа с таймсериями в библиотеке DoEasy (Часть 38): Коллекция таймсерий - реалтайм обновление и доступ к данным из программы
В статье рассмотрим реалтайм-обновление данных таймсерий и отправку сообщений о событии "Новый бар" на график управляющей программы от всех таймсерий всех символов для возможности обработки этих событий в своих программах. Для определения необходимости обновления таймсерий для нетекущих символа и периодов графика будем использовать класс "Новый тик".
Управление рисками и капиталом с помощью советников
Эта статья о том, чего вы не найдете в отчете о тестировании, чего следует ожидать при использовании советников, как управлять своими деньгами при использовании роботов и как покрыть значительный убыток, чтобы остаться в трейдинге при автоматизированной торговле.
Популяционные алгоритмы оптимизации: Гармонический поиск (Harmony Search — HS)
Сегодня изучим и протестируем мощнейший алгоритм оптимизации - гармонический поиск (HS), который инспирирован процессом поиска идеальной звуковой гармонии. И какой же алгоритм теперь лидер в нашем рейтинге?
Работа с ценами в библиотеке DoEasy (Часть 61): Коллекция тиковых серий символов
Так как в работе программы могут участвовать разные символы, то для каждого символа необходимо создать свой список. Такие списки мы сегодня объединим в коллекцию тиковых данных. По сути это будет обычный список на основе класса динамического массива указателей на экземпляры класса CObject и его наследников Cтандартной библиотеки.
Работа с таймсериями в библиотеке DoEasy (Часть 50): Мультипериодные мультисимвольные стандартные индикаторы со смещением
В статье доработаем методы библиотеки для корректного отображения мультисимвольных мультипериодных стандартных индикаторов, линии которых выводятся на график текущего символа со смещением, задаваемым в настройках. А также наведём порядок в методах работы со стандартными индикаторами и уберём в область библиотеки лишний код в итоговой программе-индикаторе.
Работа с таймсериями в библиотеке DoEasy (Часть 49): Мультипериодные мультисимвольные многобуферные стандартные индикаторы
В статье доработаем классы библиотеки для возможности создания мультисимвольных мультипериодных стандартных индикаторов, требующих для отображения своих данных несколько индикаторных буферов.
Кросс-валидация и основы причинно-следственного вывода в моделях CatBoost, экспорт в ONNX формат
В данной статье предложен авторский способ создания ботов с использованием машинного обучения.
Прочие классы в библиотеке DoEasy (Часть 69): Класс-коллекция объектов-чартов
С этой статьи начнём разработку класса-коллекции объектов-чартов, который будет хранить в себе список-коллекцию объектов-чартов с их подокнами и индикаторами в них, и даст возможность работы с любыми выбранными чартами и их подокнами, или сразу со списком из нескольких чартов одновременно.
Работа с таймсериями в библиотеке DoEasy (Часть 58): Таймсерии данных буферов индикаторов
В завершении темы работы с таймсериями организуем хранение, поиск и сортировку данных, хранящихся в буферах индикаторов, что позволит в дальнейшем проводить анализ на основе значений индикаторов, создаваемых на основе библиотеки в своих программах. Общая концепция всех классов-коллекций библиотеки позволяет легко находить нужные данные в соответствующей коллекции, и соответственно, это же будет возможным и в создаваемом сегодня классе.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 - События открытия позиции и активации отложенных ордеров
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В девятой части начали дорабатывать классы библиотеки для работы в MQL4. В данной статье продолжим доработку библиотеки с целью полной её совместимости с MQL4.
Возможности Мастера MQL5, которые вам нужно знать (Часть 1): Регрессионный анализ
Современный трейдер почти всегда сознательно или бессознательно находится в поиске новых идей. Он постоянно пробует новые стратегии, модифицирует их и отбрасывает те, что не оправдали себя. Этот исследовательский процесс требует много времени и сопряжен с ошибками. В этой серии статей я постараюсь доказать, что Мастер MQL5 является настоящей опорой трейдера. Благодаря Мастеру, трейдер экономит время при реализации своих идей. Кроме того, снижается вероятность ошибок, возникающих при дублировании кода. Вместо того чтобы тратить время на оформление кода, трейдеры претворяют в жизнь свою торговую философию.
Популяционные алгоритмы оптимизации: Алгоритм имитации отжига (Simulated Annealing, SA). Часть I
Алгоритм имитации отжига (Simulated Annealing) является метаэвристикой, вдохновленной процессом отжига металлов. В нашей статье проведем тщательный анализ алгоритма и покажем, как многие распространенные представления и мифы, вокруг этого наиболее популярного и широко известного метода оптимизации, могут быть ошибочными и неполными. Анонс второй части статьи: "Встречайте собственный авторский алгоритм имитации изотропного отжига (Simulated Isotropic Annealing, SIA)!"
Python, ONNX и MetaTrader 5: Создаем модель RandomForest с предварительной обработкой данных RobustScaler и PolynomialFeatures
В этой статье мы создадим модель случайного леса на языке Python, обучим модель и сохраним ее в виде конвейера ONNX с препроцессингом данных. Модель мы далее используем в терминале MetaTrader 5.
Торговля по алгоритму: ИИ и его путь к золотым вершинам
В данной статье продемонстрирован подход к созданию торговых стратегий для золота с помощью машинного обучения. Рассматривая предложенный подход к анализу и прогнозированию временных рядов с разных ракурсов, можно определить его преимущества и недостатки по сравнению с другими способами создания торговых систем, основанных исключительно на анализе и прогнозировании финансовых временных рядов.
Работа с таймсериями в библиотеке DoEasy (Часть 55): Класс-коллекция индикаторов
В статье продолжим развитие классов объектов-индикаторов и их коллекции. Создадим для каждого объекта-индикатора его описание и скорректируем класс-коллекцию для безошибочного хранения и получения объектов-индикаторов из списка-коллекции.
Работа с таймсериями в библиотеке DoEasy (Часть 43): Классы объектов индикаторных буферов
В статье рассмотрим создание классов объектов-индикаторных буферов как наследников абстрактного объекта-буфера, упрощающих объявление и работу с индикаторными буферами при создании собственных программ-индикаторов на основе библиотеки DoEasy.
Создаем 3D-бары на основе времени, цены и объема
Что такое многомерные 3D-графики цен и как они создаются. Как 3D-бары предсказывают развороты цены, и как Python и MetaTrader 5 позволяют строить эти объемные бары в режиме реального времени.
Алгоритмическая торговля на основе 3D-паттернов разворота
Открываем новый мир автоматической торговли на 3D-барах. Как выглядит торговый робот на многомерных барах цены, и могут ли "желтые" кластеры 3D-баров предсказывать развороты трендов? Как выглядит трейдинг в множестве измерений?
Утилита для отбора и навигации на MQL5 и MQL4: добавляем вкладки "домашки" и сохраняем графические объекты
В данной статье мы расширим возможности ранее созданной утилиты, добавив в нее вкладки для отбора нужных нам инструментов. Также мы научимся сохранять графические объекты, которые мы создали на графике определенного инструмента, чтобы постоянно их не создавать повторно. И даже научимся работать только с инструментами, которые были предварительно выбраны с помощью с нужного нам сайта.
Нейросети — это просто (Часть 34): Полностью параметризированная квантильная функция
Продолжаем изучение алгоритмов распределенного Q-обучения. В предыдущих статьях мы рассмотрели алгоритмы распределенного и квантильного Q-обучения. В первом мы учили вероятности заданных диапазонов значений. Во втором учили диапазоны с заданной вероятностью. И в первом, и во втором алгоритме мы использовали априорные знания одного распределения и учили другое. В данной статье мы рассмотрим алгоритм, позволяющей модели учить оба распределения.
Популяционные алгоритмы оптимизации: Алгоритм гравитационного поиска (Gravitational Search Algorithm - GSA)
GSA — популяционный алгоритм оптимизации, инспирированный неживой природой. Высокая достоверность моделирования взаимодействия физических тел, благодаря закону гравитации Ньютона в алгоритме, позволяет наблюдать феерический танец планетарных систем и галактических скоплений, который завораживает своим представлением на анимации. Сегодня рассмотрим один из самых интересных и оригинальных алгоритмов оптимизации. Симулятор движения космических объектов прилагается.