Непрерывная скользящая оптимизация (Часть 8): Доработка программы и исправление найденных недочетов
Непрерывная скользящая оптимизация (Часть 8): Доработка программы и исправление найденных недочетов
По просьбам пользователей и читателей данного цикла статей, программа была модифицирована и теперь можно сказать, что в текущая статья содержит уже новую версию автооптимизатора. В автооптимизатор были внесены как запрашиваемые, так и новые улучшения, идеи которых пришли в момент корректировки программы.
Популяционные алгоритмы оптимизации: Гармонический поиск (Harmony Search — HS)
Популяционные алгоритмы оптимизации: Гармонический поиск (Harmony Search — HS)
Сегодня изучим и протестируем мощнейший алгоритм оптимизации - гармонический поиск (HS), который инспирирован процессом поиска идеальной звуковой гармонии. И какой же алгоритм теперь лидер в нашем рейтинге?
Многослойный перцептрон и алгоритм обратного распространения ошибки (Часть 3): Интеграция с тестером стратегии - Обзор (I)
Многослойный перцептрон и алгоритм обратного распространения ошибки (Часть 3): Интеграция с тестером стратегии - Обзор (I)
Многослойный перцептрон - это эволюция простого перцептрона, способного решать нелинейно разделяемые задачи. Вместе с алгоритмом обратного распространения можно эффективно обучить данную нейронную сеть. В третьей части серии статей о многослойном перцептроне и обратном распространении мы посмотрим, как интегрировать эту технику в тестер стратегий. Эта интеграция позволит использовать комплексный анализ данных и принимать лучшие решения для оптимизации торговых стратегий. В данном обзоре мы обсудим преимущества и проблемы применения этой методики.
Как подключить MetaTrader 5 к PostgreSQL
Как подключить MetaTrader 5 к PostgreSQL
В статье описываются четыре метода подключения кода MQL5 к базе данных Postgres и предоставляется пошаговое руководство по настройке среды разработки для одного из них, REST API, с использованием подсистемы Windows для Linux (WSL). Показано демонстрационное приложение для API с соответствующим кодом MQL5 для вставки данных и запросов к соответствующим таблицам, а также демонстрационный советник для использования этих данных.
Теория категорий в MQL5 (Часть 5): Эквалайзеры
Теория категорий в MQL5 (Часть 5): Эквалайзеры
Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который лишь недавно начал освещаться в MQL5-сообществе. Эта серия статей призвана рассмотреть некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL
Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL
В продолжение первой части создадим простую DLL и протестируем ее с помощью MetaTrader 5. Это хорошо подготовит нас к разработке полноценной поддержки OpenCL в виде DLL в следующей части.
Популяционные алгоритмы оптимизации: Алгоритм обезьян (Monkey algorithm, MA)
Популяционные алгоритмы оптимизации: Алгоритм обезьян (Monkey algorithm, MA)
В этой статье рассмотрим алгоритм оптимизации "Алгоритм обезьян" (MA). Способность этих подвижных животных преодолевать сложные препятствия и добираться до самых труднодоступных вершин деревьев легли в основу идеи алгоритма MA.
Теория категорий в MQL5 (Часть 2)
Теория категорий в MQL5 (Часть 2)
Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который пока относительно не освещен в MQL5-сообществе. Эта серия статей призвана осветить некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 1): Мотивация и проверка
Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 1): Мотивация и проверка
Встроенная поддержка OpenCL в MetaTrader 5 по-прежнему имеет серьезную проблему, особенно связанную с ошибкой выбора устройства 5114, возникающей из-за невозможности создать контекст OpenCL с использованием CL_USE_GPU_ONLY или CL_USE_GPU_DOUBLE_ONLY, хотя GPU определяется правильно. Программа отлично работает с прямым использованием порядкового номера устройства GPU, который можно найти на вкладке "Журнал", однако пользователям не следует жестко кодировать устройство. Мы решим эту проблему, воссоздав поддержку OpenCL в виде DLL с помощью C++ в Linux. По пути мы познакомимся с OpenCL, от концепции до лучших практик в использовании его API, ровно настолько, чтобы мы могли широко использовать его позже, когда будем иметь дело с реализацией DLL на C++ и использовать его с MQL5.
Популяционные алгоритмы оптимизации: Алгоритм гравитационного поиска (Gravitational Search Algorithm - GSA)
Популяционные алгоритмы оптимизации: Алгоритм гравитационного поиска (Gravitational Search Algorithm - GSA)
GSA — популяционный алгоритм оптимизации, инспирированный неживой природой. Высокая достоверность моделирования взаимодействия физических тел, благодаря закону гравитации Ньютона в алгоритме, позволяет наблюдать феерический танец планетарных систем и галактических скоплений, который завораживает своим представлением на анимации. Сегодня рассмотрим один из самых интересных и оригинальных алгоритмов оптимизации. Симулятор движения космических объектов прилагается.
Теория категорий в MQL5 (Часть 1)
Теория категорий в MQL5 (Часть 1)
Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который пока относительно не освещен в MQL-сообществе. Эта серия статей призвана осветить некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
Рецепты MQL5 — База данных макроэкономических событий
Рецепты MQL5 — База данных макроэкономических событий
В статье рассматриваются возможности работы с базами данных на основе движка SQLite. Для удобства и эффективного использования принципов ООП сформирован класс CDatabase. Он в последующем задействуется при создании и управлении базой данных макроэкономических событий. Приводятся примеры использования многих методов класса CDatabase.
Популяционные алгоритмы оптимизации: Алгоритм оптимизации бактериального поиска пищи (Bacterial Foraging Optimization — BFO)
Популяционные алгоритмы оптимизации: Алгоритм оптимизации бактериального поиска пищи (Bacterial Foraging Optimization — BFO)
Основа стратегии поиска пищи бактерией E.coli (кишечная палочка) вдохновила ученых на создание алгоритма оптимизации BFO. Алгоритм содержит оригинальные идеи и перспективные подходы к оптимизации и достоин дальнейшего изучения.
Бегущая строка котировок: базовая версия
Бегущая строка котировок: базовая версия
Здесь я покажу, как создать в терминале бегущую строку, которая обычно используется для отображения котировок на бирже. Создавать такую строку мы будем только при помощи MQL5, не используя никакое другое внешнее программирование.
Возможности Мастера MQL5, которые вам нужно знать (Часть 04): Линейный дискриминантный анализ
Возможности Мастера MQL5, которые вам нужно знать (Часть 04): Линейный дискриминантный анализ
Современный трейдер почти всегда находится в поиске новых идей. Он постоянно пробует новые стратегии, модифицирует их и отбрасывает те, что не оправдали себя. В этой серии статей я постараюсь доказать, что Мастер MQL5 является настоящей опорой трейдера в его поисках.
Нейросети — это просто (Часть 26): Обучение с подкреплением
Нейросети — это просто (Часть 26): Обучение с подкреплением
Продолжаем изучение методов машинного обучения. Данной статьей мы начинаем еще одну большую тему "Обучение с подкреплением". Данный подход позволяет моделям выстаивать определенные стратегии для решения поставленных задач. И мы рассчитываем, что это свойство обучения с подкреплением откроет перед нами новые горизонты построения торговых стратегий.
Нейросети — это просто (Часть 25): Практикум Transfer Learning
Нейросети — это просто (Часть 25): Практикум Transfer Learning
В последних двух статьях мы создали инструмент, позволяющий создавать и редактировать модели нейронных сетей. И теперь пришло время оценить потенциальные возможности использования технологии Transfer Learning на практических примерах.
Популяционные алгоритмы оптимизации
Популяционные алгоритмы оптимизации
Вводная статья об алгоритмах оптимизации (АО). Классификация. В статье предпринята попытка создать тестовый стенд (набор функций), который послужит в дальнейшем для сравнения АО между собой, и, даже, возможно, выявления самого универсального алгоритма из всех широко известных.
Нейросети — это просто (Часть 24): Совершенствуем инструмент для Transfer Learning
Нейросети — это просто (Часть 24): Совершенствуем инструмент для Transfer Learning
В прошлой статье мы создали инструмент для создания и редактирования архитектуры нейронных сетей. И сегодня я хочу Вам предложить продолжить работу над этим инструментом. Чтобы сделать его более дружелюбным к пользователю. В чем-то это шаг в сторону от нашей темы. Но согласитесь, организация рабочего пространства играет не последнюю роль в достижении результата.
Работа с матрицами и векторами в MQL5
Работа с матрицами и векторами в MQL5
Для решения математических задач в MQL5 были добавлены матрицы и векторы. Новые типы имеют встроенные методы для написания краткого и понятного кода, который близок к математической записи. Массивы — это хорошо, но матрицы во многих случаях лучше.
SQLite: нативная работа с базами данных на SQL в MQL5
SQLite: нативная работа с базами данных на SQL в MQL5
Разработка торговых стратегий связана с обработкой больших объемов данных. Теперь прямо в MQL5 вы можете работать с базами данных с помощью SQL-запросов на основе SQLite. Важным преимуществом данного движка является то, что вся база данных содержится в единственном файле, который находится на компьютере пользователя.
Практическое применение нейросетей в трейдинге. Python (Часть I)
Практическое применение нейросетей в трейдинге. Python (Часть I)
В данной статье мы поэтапно разберем вариант реализации торговой системы на основе программирования глубоких нейронных сетей на Python. Для этого мы используем библиотеку машинного обучения TensorFlow, разработанной компанией Google. А для описания нейронных сетей используем библиотеку Keras.
Практическое применение нейросетей в трейдинге (Часть 2). Компьютерное зрение
Практическое применение нейросетей в трейдинге (Часть 2). Компьютерное зрение
Применение компьютерного зрения позволит обучать нейронные сети на визуальном представлении ценового графика и индикаторов. Данный метод позволит нам более свободно оперировать всем комплексом технических индикаторов, так как не требует их цифровой подачи в нейронную сеть.
Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)
Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)
В статье описан способ быстрой оптимизиции методом роя частиц, представлена его реализация на MQL, готовая к применению как в однопоточном режиме внутри эксперта, так и в параллельном многопоточном режиме в качестве надстройки, выполняющейся на локальных агентах тестера.
Машинное обучение в торговых системах на сетке и мартингейле. Есть ли рыба?
Машинное обучение в торговых системах на сетке и мартингейле. Есть ли рыба?
Данная статья познакомит читателя с техникой машинного обучения для торговли сеткой и мартингейлом. К моему удивлению, такой подход по каким-то причинам совершенно не затронут в глобальной сети. Прочитав статью, вы сможете создавать своих собственных ботов.
Уроки по DirectX (Часть I): Рисуем первый треугольник
Уроки по DirectX (Часть I): Рисуем первый треугольник
Это вводная статья по DirectX, которая описывает особенности работы с API. Помогает разобраться с порядком инициализации его компонентов. Приводит пример написания скрипта на MQL, выводящего треугольник с помощью DirectX.
Машинное обучение от Яндекс (CatBoost) без изучения Python и R
Машинное обучение от Яндекс (CatBoost) без изучения Python и R
В статье приведен код и описаны основные этапы процесса машинного обучения на конкретном примере. Для получения моделей не потребуется знание таких языков программирования, как Python или R, знание языка MQL5 будут востребованы неглубокие, впрочем, как и в наличии у автора этой статьи, поэтому смею надеяться, что данная статья послужит хорошим руководством для широкого круга заинтересованных лиц, желающих экспериментальным путем оценить возможности машинного обучения и внедрить их в свои разработки.
Градиентный бустинг в задачах трансдуктивного и активного машинного обучения
Градиентный бустинг в задачах трансдуктивного и активного машинного обучения
В данной статье вы познакомитесь с методами активного машинного обучения на реальных данных, узнаете какие плюсы и минусы они имеют. Возможно, эти методы займут свое место в вашем арсенале моделей машинного обучения. Термин трансдукции был введен Владимиром Наумовичем Вапником, изобретателем машины опорных векторов или SVM (support vector machine).
Градиентный бустинг (CatBoost) в задачах построения торговых систем. Наивный подход
Градиентный бустинг (CatBoost) в задачах построения торговых систем. Наивный подход
Обучение классификатора CatBoost на языке Python и экспорт модели в mql5 формат, а также разбор параметров модели и кастомный тестер стратегий. Для подготовки данных и обучения модели используется язык программирования Python и библиотека MetaTrader5.
Поиск сезонных закономерностей на валютном рынке с помощью алгоритма CatBoost
Поиск сезонных закономерностей на валютном рынке с помощью алгоритма CatBoost
В статье показана возможность создания моделей машинного обучения с временными фильтрами и раскрыта эффективность такого подхода. Теперь можно исключить человеческий фактор, просто сказав модели: "Хочу, чтобы ты торговала в определенный час определенного дня недели". А поиск закономерностей возложить на плечи алгоритма.
Непрерывная скользящая оптимизация (Часть 6): Логическая часть автооптимизатора и его структура
Непрерывная скользящая оптимизация (Часть 6): Логическая часть автооптимизатора и его структура
Описывая создание автоматической скользящей оптимизации, мы добрались до внутренней структуры самого автооптимизатора. Данная статья может быть полезна тем, кто пожелает сам доработать созданный проект, либо же просто желает разобраться в логики функционирования программы. В текущей статье при помощи UML диаграмм представлена внутренняя структура проекта и взаимосвязи объектов между собой. Также рассматривается процесс запуска оптимизаций, но пока без описания процесса реализации оптимизатора.
Непрерывная скользящая оптимизация (Часть 5): Обзор проекта автооптимизатора, а также создание графического интерфейса
Непрерывная скользящая оптимизация (Часть 5): Обзор проекта автооптимизатора, а также создание графического интерфейса
Продолжаем описание скользящей оптимизации в терминале MetaTrader 5. Рассмотрев в прошлых статьях методы формирования отчета оптимизации и способ его фильтрации, мы перешли к описанию внутренней структуры приложения, отвечающего за сам процесс оптимизации. Автооптимизатор, выполненный как приложение на C#, имеет собственный графический интерфейс. Именно созданию данного графического интерфейса и посвящена текущая статья.
Непрерывная скользящая оптимизация (Часть 4): Программа для управления оптимизацией (автооптимизатор)
Непрерывная скользящая оптимизация (Часть 4): Программа для управления оптимизацией (автооптимизатор)
Основная цель данной статьи - описание механизма работы с получившимся приложением и его возможностей. Таким образом, статья фактически является инструкцией по использованию данного приложения, в которой рассказывается обо всех возможных подводных камнях и нюансах его настройки.