Тесты на перестановку Монте-Карло в MetaTrader 5
В статье рассматриваются тесты на перестановку на основе перетасованных тиковых данных на любом советнике исключительно силами MetaTrader 5.
Упрощаем торговлю на новостях (Часть 2): Управляем рисками
В этой статье мы добавим наследование в предыдущий и новый код. Для обеспечения эффективности будет внедрена новая структура базы данных. Кроме того, мы создадим класс по управлению рисками для расчета объемов.
Теория хаоса в трейдинге (Часть 2): Продолжаем погружение
Продолжаем погружение в теорию хаоса на финансовых рынках, и рассмотрим ее применимость к анализу валют и иных активов.
Машинное обучение и Data Science (Часть 31): Применение моделей CatBoost в трейдинге
Модели искусственного интеллекта CatBoost приобрели огромную популярность в сообществе машинного обучения благодаря их точности прогнозирования, эффективности и устойчивости к разрозненным и сложным наборам данных. В этой статье речь будет идти о том, как использовать эти модели применительно к рынку Форекс.
Нейросети — это просто (Часть 84): Обратимая нормализация (RevIN)
Мы давно уже усвоили, что большую роль в стабильности обучения модели играет предварительная обработка исходных данных. И для online обработки "сырых" исходных данных мы часто используем слой пакетной нормализации. Но порой возникает необходимость обратной процедуры. Об одном из возможных подходов к решению подобных задач мы говорим в данной статье.
Оптимизация бактериальным хемотаксисом — Bacterial Chemotaxis Optimization (BCO)
В статье представлена оригинальная версия алгоритма бактериальной хемотаксисной оптимизации (BCO) и его модифицированный вариант. Мы подробно рассмотрим все отличия, уделяя особое внимание новой версии BCOm, которая упрощает механизм движения бактерий, снижает зависимость от истории изменений позиций и использует более простые математические операции по сравнению с перегруженной вычислениями оригинальной версией. Также будут проведены тесты и подведены итоги.
Нейросети в трейдинге: Обнаружение объектов с учетом сцены (HyperDet3D)
Предлагаем вам познакомиться с новым подход обнаружения объектов при помощи гиперсетей. Гиперсети могут генерировать весовые коэффициенты для основной модели, что позволяет учитывать особенности текущего состояния рынка. Такой подход позволяет улучшить точность прогнозирования, адаптируя модель к различным торговым условиям.
Сделайте торговые графики лучше с интерактивным графическим интерфейсом на основе MQL5 (Часть II): Перемещаемый интерфейс (II)
Раскройте потенциал динамического представления данных в своих торговых стратегиях и утилитах с помощью нашего подробного руководства по созданию перемещаемых графических интерфейсов в MQL5. Погрузитесь в фундаментальные принципы объектно-ориентированного программирования и узнайте, как легко и эффективно разрабатывать и использовать один или несколько перемещаемых графических интерфейсов на одном графике.
Нейросети в трейдинге: Transformer с относительным кодированием
Самоконтролируемое обучение может оказаться эффективным способом анализа больших объемов неразмеченных данных. Основным фактором успеха является адаптация моделей под особенности финансовых рынков, что способствует улучшению результативности традиционных методов. Эта статья познакомит вас с альтернативным механизмом внимания, который позволяет учитывать относительные зависимости и взаимосвязи между исходными данными.
Быстрая интеграция большой языковой модели и MetaTrader 5 (Часть II): Файнтьюн на реальных данных, бэктест и онлайн-торговля модели
Статья описывает процесс файнтьюна языковой модели для трейдинга на основе реальных исторических данных из MetaTrader 5. Базовая модель, знающая лишь теоретический технический анализ, обучается на тысяче примеров реального поведения валютных пар (EURUSD, GBPUSD, USDCHF, USDCAD) за 180 дней. После обучения через Ollama модель начинает понимать специфику каждого инструмента.
Нейросети — это просто (Часть 75): Повышение производительности моделей прогнозирования траекторий
Создаваемые нами модели становятся все больше и сложнее. Вместе с тем растут затраты не только на их обучение, но и эксплуатацию. При этом довольно часто мы сталкиваемся с ситуацией, когда затраты времени на принятие решения бывают критичны. И в этой связи мы обращаем свое внимание на методы оптимизации производительности моделей без потери качества.
Разработка интерактивного графического пользовательского интерфейса на MQL5 (Часть 1): Создание панели
В статье рассматриваются основные этапы создания и реализации панели графического пользовательского интерфейса (Graphical User Interface, GUI) с помощью языка MetaQuotes Language 5 (MQL5). Пользовательские панели утилит повышают качество взаимодействия с системой при торговле, упрощая типовые задачи и визуализируя важную торговую информацию. Создавая пользовательские панели, трейдеры могут оптимизировать рабочий процесс и сэкономить время при торговых операциях.
Как подключить MetaTrader 5 к PostgreSQL
В статье описываются четыре метода подключения кода MQL5 к базе данных Postgres и предоставляется пошаговое руководство по настройке среды разработки для одного из них, REST API, с использованием подсистемы Windows для Linux (WSL). Показано демонстрационное приложение для API с соответствующим кодом MQL5 для вставки данных и запросов к соответствующим таблицам, а также демонстрационный советник для использования этих данных.
Фильтрация и извлечение признаков в частотной области
В этой статье мы рассмотрим применение цифровых фильтров к временным рядам, представленным в частотной области, с целью извлечения уникальных признаков, которые могут быть полезными для моделей прогнозирования.
Разработка торгового советника с нуля (Часть 20): Новая система ордеров (III)
Продолжим внедрение новой системы ордеров. Создание такой системы требует хорошего владения MQL5, а также понимания того, как на самом деле работает платформа MetaTrader 5 и какие ресурсы она нам предоставляет.
Реализация советника Deus: Автоматическая торговля с RSI и скользящими средними в MQL5
В статье описываются шаги по внедрению советника Deus на основе индикаторов RSI и скользящей средней для управления автоматической торговлей.
Алгоритм эволюции панциря черепахи (Turtle Shell Evolution Algorithm, TSEA)
Уникальный алгоритм оптимизации, вдохновленный эволюцией панциря черепахи. Алгоритм TSEA эмулирует постепенное формирование ороговевших участков кожи, которые представляют собой оптимальные решения задачи. Лучшие решения становятся более "твердыми" и располагаются ближе к внешней поверхности, в то время как менее удачные решения остаются "мягкими" и находятся внутри. Алгоритм использует кластеризацию решений по качеству и расстоянию, позволяя сохранять менее успешные варианты и обеспечивая гибкость и адаптивность.
Разрабатываем мультивалютный советник (Часть 15): Готовим советник к реальной торговле
Постепенно приближаясь к получению готового советника, необходимо уделить внимание вопросам, которые являются второстепенными на этапе тестирования торговой стратегии, но становятся важными при переходе к реальной торговле.
Шаблоны проектирования в программировании на MQL5 (Часть 4): Поведенческие шаблоны 2
Статья завершает серию о шаблонах проектирования в области программного обеспечения. Я уже упоминал, что существуют три типа шаблонов проектирования - порождающие, структурные и поведенческие. Мы доработаем оставшиеся паттерны поведенческого типа, которые помогут задать способ взаимодействия между объектами таким образом, чтобы сделать наш код чистым.
Построение экономических прогнозов: потенциальные возможности Python
Как использовать экономические данные Всемирного банка для прогнозирования? Что будет если совместить модели ИИ и экономику?
Арбитражный трейдинг Forex: Анализ движений синтетических валют и их возврат к среднему
В статье попробуем рассмотреть движения синтетических валют на связке Python + MQL5 и понять, насколько реален арбитраж на Форекс сегодня. А также: готовый код Python для анализа синтетических валют и подробней о том, что такое синтетические валюты на Форекс.
Объединяем LLM, CatBoost и квантовые вычисления в единую торговую систему
В статье предлагается синтез новых технологий для преодоления ограничений классических индикаторов в аналитике рыночных данных. Показано, как языковые модели и квантовое кодирование могут выявлять скрытые рыночные паттерны, которые традиционные методики упускают. Эксперимент подтверждает ценность новых технологий и предлагает обновлённую методологию анализа, соответствующую современному уровню вычислительных инноваций.
DoEasy. Элементы управления (Часть 21): Элемент управления SplitContainer. Разделитель панелей
В статье создадим класс вспомогательного объекта-разделителя панелей для элемента управления SplitContainer.
Разработка советника на основе стратегии прорыва диапазона консолидации на MQL5
В статье описываются шаги по созданию торгового советника, который извлекает выгоду из ценовых прорывов после периодов консолидации. Определяя диапазоны консолидации и устанавливая уровни прорыва, трейдеры могут автоматизировать свои торговые решения на основе этой стратегии. Советник призван обеспечить четкие точки входа и выхода, избегая ложных пробоев.
Построение модели для ограничения диапазона сигналов по тренду (Часть 3): Обнаружение изменений трендов при использовании системы
В этой статье рассматривается, как экономические новости, поведение инвесторов и различные факторы могут влиять на развороты рыночных трендов. Статья включает видео с пояснениями и внедряет MQL5-код в программу для обнаружения разворотов тренда, оповещения и принятия соответствующих мер в зависимости от рыночных условий.
Нейросети — это просто (Часть 89): Трансформер частотного разложения сигнала (FEDformer)
Все рассмотренные нами ранее модели анализируют состояние окружающей среды в виде временной последовательности. Однако, тот же временной ряд можно представить и в виде частотных характеристик. В данной статье я предлагаю вам познакомиться с алгоритмом, который использует частотные характеристики временной последовательности для прогнозирования будущих состояний.
Нейросети — это просто (Часть 93): Адаптивное прогнозирование в частотной и временной областях (Окончание)
В данной статье мы продолжаем реализацию подходов ATFNet — модели, которая адаптивно объединяет результаты 2 блоков (частотного и временного) прогнозирования временных рядов
Нейросети — это просто (Часть 19): Ассоциативные правила средствами MQL5
Продолжаем тему поиска ассоциативных правил. В предыдущей статье мы рассмотрели теоретические аспекты данного типа задач. В этой статье я продемонстрирую реализацию метода FP-Growth средствами MQL5. А также мы протестируем нашу реализацию на реальных данных.
Нейросети — это просто (Часть 68): Офлайн оптимизация политик на основе предпочтений
С первых статей, посвященных обучению с подкреплением, мы так или иначе затрагиваем 2 проблемы: исследование окружающей среды и определение функции вознаграждения. Последние статьи были посвящены проблеме исследования в офлайн обучении. В данной статье я хочу Вас познакомить с алгоритмом, авторы которого полностью отказались от функции вознаграждения.
DoEasy. Элементы управления (Часть 9): Реорганизация методов WinForms-объектов, элементы управления "RadioButton" и "Button"
В статье наведём порядок в наименованиях методов классов WinForms-объектов и создадим WinForms-объекты Button и RadioButton.
Разметка данных в анализе временных рядов (Часть 1):Создаем набор данных с маркерами тренда с помощью графика советника
В этой серии статей представлены несколько методов маркировки временных рядов, которые могут создавать данные, соответствующие большинству моделей искусственного интеллекта (ИИ). Целевая маркировка данных может сделать обученную модель ИИ более соответствующей пользовательским целям и задачам, повысить точность модели и даже помочь модели совершить качественный скачок!
Как разработать агент обучения с подкреплением на MQL5 с интеграцией RestAPI (Часть 2): Функции MQL5 для HTTP-взаимодействия с REST API игры "крестики-нолики"
В этой статье расскажем о том, как MQL5 может взаимодействовать с Python и FastAPI, используя HTTP-вызовы в MQL5 для взаимодействия с игрой "крестики-нолики" на Python. В статье рассматривается создание API с помощью FastAPI для этой интеграции и приводится тестовый скрипт на MQL5, подчеркивающий универсальность MQL5, простоту Python и эффективность FastAPI в соединении различных технологий для создания инновационных решений.
Разработка торгового советника с нуля (Часть 26): Навстречу будущему (I)
Сегодня мы выведем нашу систему ордеров на новый уровень, но сначала нам нужно решить несколько задач. Сейчас у нас есть разные вопросы, которые связаны с тем, как мы хотим работать и какие вещи мы делаем в течение торгового дня.
Разрабатываем мультивалютный советник (Часть 18): Автоматизация подбора групп с учётом форвард-периода
Продолжим автоматизировать шаги, которые ранее мы выполняли вручную. В этот раз вернёмся к автоматизации второго этапа, то есть выбора оптимальной группы одиночных экземпляров торговых стратегий, дополнив его возможностью учитывать результаты экземпляров на форвард-периоде.
Квантование в машинном обучении (Часть 2): Предобработка данных, отбор таблиц, обучение моделий CatBoost
В настоящей статье речь пойдёт о практическом применении квантования при построении древовидных моделей. Рассмотрены методы отбора квантовых таблиц и предобработки данных. Материал будет подан без сложных математических формул, доступным языком.
Создание советника на MQL5 на основе стратегии PIRANHA с использованием Полос Боллинджера
В настоящей статье мы создаем советника (EA) на MQL5 на основе стратегии PIRANHA, использующего Полосы Боллинджера для повышения эффективности торговли. Мы обсуждаем ключевые принципы стратегии, реализацию кода, а также методы тестирования и оптимизации. Эти знания позволят эффективно использовать советник в ваших торговых сценариях
Теория категорий в MQL5 (Часть 8): Моноиды
Статья продолжает серию о реализации теории категорий в MQL5. Здесь мы вводим моноиды как домен (множество), который отличает теорию категорий от других методов классификации данных за счет включения правил и элемента равнозначности.
Нейросети — это просто (Часть 55): Контрастный внутренний контроль (CIC)
Контрастное обучение (Contrastive learning) - это метод обучения представлению без учителя. Его целью является обучение модели выделять сходства и различия в наборах данных. В данной статье мы поговорим об использовании подходов контрастного обучения для исследования различных навыков Актера.
Оборачиваем ONNX-модели в классы
Объектно-ориентированное программирование позволяет создавать более компактный код, который легко читать и модифицировать. Представляем пример для трёх ONNX-моделей.
Измерение информативности индикатора
Машинное обучение стало популярным методом разработки стратегий. В трейдинге традиционно больше внимания уделяется максимизации прибыльности и точности прогнозов. При этом обработка данных, используемых для построения прогностических моделей, остается на периферии. В этой статье мы рассматриваем использование концепции энтропии для оценки пригодности индикаторов при построении прогностических моделей, как описано в книге Тимоти Мастерса "Тестирование и настройка систем рыночной торговли" (Testing and Tuning Market Trading Systems by Timothy Masters).