Нейросети в трейдинге: Единый взгляд на пространство и время (Global-Local Attention)
Продолжаем работу по реализации подходов, предложенных авторами фреймворка Extralonger. На этот раз сосредоточимся на построении модуля Global-Local Spatial Attention средствами MQL5, рассматривая как его структуру, так и практическую интеграцию в общий вычислительный процесс.
От начального до среднего уровня: Приоритеты операторов
Это, несомненно, самый сложный вопрос, который можно объяснить исключительно теоретически. Поэтому я советую вам попрактиковаться с материалами, которые будут показаны здесь. Хотя на первый взгляд всё может показаться простым, данный вопрос с операторами можно понять только на практике в сочетании с постоянным изучением.
От начального до среднего уровня: Struct (II)
В данной статье мы попытаемся разобраться в том, почему структуры были созданы на таких языках программирования, как MQL5, а также почему в некоторых случаях структуры являются идеальным способом передачи значений между функциями и процедурами, а в других случаях они могут быть не самым лучшим способом сделать это.
Машинное обучение и Data Science (Часть 35): NumPy в MQL5 – искусство создания сложных алгоритмов с меньшим объемом кода
Библиотека NumPy лежит в основе практически всех алгоритмов машинного обучения на языке программирования Python. В этой статье мы собираемся реализовать аналогичный модуль, содержащий набор всего сложного кода, который поможет нам создавать сложные модели и алгоритмы любого типа.
От начального до среднего уровня: Переменные (III)
Сегодня мы рассмотрим, как использовать переменные и константы, предопределенные языком MQL5. Кроме того, мы проанализируем еще один особый тип переменных: функции. Умение правильно работать с этими переменными может определить разницу между работающим и неработающим приложением. Для того, чтобы понять представленное здесь, необходимо разобраться с материалом, который был рассмотрен в предыдущих статьях.
Автоматизация торговых стратегий на MQL5 (Часть 9): Создаем советник для стратегии прорыва азиатской сессии
В данной статье мы создаем советник на MQL5 для стратегии прорыва азиатской сессии, вычисляя максимумы и минимумы сессии и применяя фильтрацию трендов с помощью скользящей средней. Реализуем динамический дизайн объектов, определяемые пользователем входные временные параметры и надежное управление рисками. Наконец, продемонстрируем методы тестирования на истории и оптимизации для доработки программы.
Алгоритм обратного поиска — Backtracking Search Algorithm (BSA)
Что если алгоритм оптимизации мог бы помнить свои прошлые путешествия и использовать эту память для поиска лучших решений? BSA делает именно это — балансируя между исследованием нового и возвращением к проверенному. В статье раскрываем секреты алгоритма. Простая идея, минимум параметров и стабильный результат.
От начального до среднего уровня: Рекурсия
В этой статье мы рассмотрим очень интересную и довольно интересную концепцию программирования, хотя к ней следует относиться с большой осторожностью, поскольку неправильное её использование или непонимание превращает относительно простые программы в нечто неоправданно сложное. Но правильное использование и идеальная адаптация в одинаково подходящих ситуациях делают рекурсию отличным союзником в решении вопросов, которые в другом случае были бы гораздо более трудоемкими и длительными. Представленные здесь материалы предназначены только для изучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
Алгоритм Поиска Ворона — Crow Search Algorithm (CSA)
Алгоритм Поиска Ворона (CSA) — это элегантная метаэвристика, вдохновленная умением ворон прятать пищу и находить чужие тайники, которая решает задачи оптимизации через баланс между следованием за успешными решениями и случайным исследованием пространства поиска. Выясним, насколько алгоритм производителен.
От начального до среднего уровня: Перегрузка
Возможно, эта статья окажется самой запутанной для начинающих программистов. Ведь здесь я покажу, что не всегда в одном и том же коде все функции и процедуры имеют уникальные имена. Да, мы вполне можем использовать функции и процедуры с одинаковым именем — и это называется перегрузкой.
Возможности Мастера MQL5, которые вам нужно знать (Часть 31): Выбор функции потерь
Функция потерь (Loss Function) — это ключевая метрика алгоритмов машинного обучения, которая обеспечивает обратную связь для процесса обучения, количественно определяя, насколько хорошо данный набор параметров работает по сравнению с предполагаемым целевым значением. Мы рассмотрим различные форматы этой функции в пользовательском классе Мастера MQL5.
Инженерия признаков с Python и MQL5 (Часть III): Угол наклона цены (2) Полярные координаты
В этой статье мы предпринимаем вторую попытку преобразовать изменения уровня цен на любом рынке в соответствующее изменение угла наклона. На этот раз мы выбрали более математически сложный подход, чем в первой попытке, и полученные нами результаты позволяют предположить, что изменение подхода, возможно, было правильным решением. Мы рассмотрим, как можно использовать полярные координаты для осмысленного расчета угла, образованного изменениями уровней цен, независимо от того, какой рынок вы анализируете.
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (III) — Анализ индикаторов
В настоящей статье продолжим рассказ о советнике «Заголовки новостей», представив специальную полосу «Анализ индикаторов» (indicator insights) — компактное отображение на графике ключевых технических сигналов, генерируемых популярными индикаторами, такими как RSI, MACD, Stochastic и CCI. Такой подход устраняет необходимость в нескольких подокнах индикаторов в терминале MetaTrader 5, сохраняя ваше рабочее пространство чистым и эффективным. Используя MQL5 API для доступа к данным индикаторов в фоновом режиме, мы можем обрабатывать и визуализировать рыночную информацию в режиме реального времени с помощью пользовательской логики.
Переосмысливаем классические стратегии в MQL5 (Часть II): FTSE100 и Гилты Великобритании
В данной серии статей мы исследуем популярные торговые стратегии и попытаемся улучшить их с помощью ИИ. В сегодняшней статье мы вновь рассмотрим классическую торговую стратегию, построенную на взаимосвязи между фондовым рынком и рынком облигаций.
От новичка до эксперта: Сигналы с высокой вероятностью
В зонах поддержки и сопротивления с высокой вероятностью всегда присутствуют действительные сигналы подтверждения входа, как только зона правильно определена. В настоящем обсуждении мы создаем интеллектуальную программу на MQL5, которая автоматически определяет условия входа в эти зоны. Мы используем хорошо известные свечные паттерны наряду с собственными индикаторами подтверждения для валидации торговых решений. Нажмите, чтобы читать дальше.
Гауссовcкие процессы в машинном обучении (Часть 2): Реализация и тестирование модели классификации в MQL5
В этой части мы рассмотрим реализацию ключевых интерфейсов библиотеки Гауссовских процессов на MQL5 — IKernel, ILikelihood и IInference. Также мы продемонстрируем её работу на синтетических данных и и напишем индикаторы для классификации и регрессии, демонстрирующие её работу в онлайн-режиме — с переобучением модели на каждом новом баре.
Нейросети в трейдинге: Спайково-семантический подход к пространственно-временной идентификации (Окончание)
S3CE-Net в нашей интерпретации ловко переводит рынок в язык событий и фиксирует ранние импульсы, которые традиционные индикаторы просто усредняют. STFS гарантирует устойчивость обучения — модель видит данные под разными углами и не переобучается на локальных аномалиях. SSAM-блоки и OpenCL-реализация дают практическую скорость и точность, а разделение режимов обучение/эксплуатация сохраняет ресурсы в продакшене.
От новичка до эксперта: Создание индикатора для определения зон ликвидности
Протяженность зон ликвидности и величина диапазона пробоя являются ключевыми переменными, существенно влияющими на вероятность повторного тестирования. В этом обсуждении мы описываем полный процесс разработки индикатора, который включает в себя эти коэффициенты.
Торгуем опционы без опционов (Часть 4): Более сложные опционные стратегии
В этой статье мы рассмотрим, как можно снизить риски (и возможно ли это сделать) для опционных стратегий, где изначально риск не ограничен. Это относится к стратегиям, основанным на продаже опционов, то есть к флэтовым. Также рассмотрим варианты фиксации прибыли для опционных стратегий, основанных на покупке опционов, то есть трендовых. Как всегда, добавим в наш эксперт новые полезные функции и улучшим старые.
HTTP и Connexus (Часть 2): Понимание архитектуры HTTP и дизайна библиотеки
В настоящей статье рассматриваются основы протокола HTTP, описываются основные методы (GET, POST, PUT, DELETE), коды состояния, а также структура URL-адресов. Кроме того, в ней представлено начало создания библиотеки Connexus с классами CQueryParam и CURL, облегчающими манипулирование URL-адресами и параметрами запросов в HTTP-запросах.
От начального до среднего уровня: Массивы и строки (III)
Эта статья посвящена рассмотрению двух аспектов. Во-первых, того, как стандартная библиотека может преобразовывать бинарные значения в другие формы представления, такие как восьмеричная, десятичная и шестнадцатеричная. А во-вторых, мы поговорим о том, как можно определить ширину нашего пароля на основе секретной фразы, используя уже полученные знания.
Методы повторной выборки для оценки прогнозирования и классификации в MQL5
В этой статье рассмотрим и реализуем методы оценки качества модели, которые используют один и тот же набор данных как для обучения, так и для проверки.
Создание торговой панели администратора на MQL5 (Часть IX): Организация кода (I)
В этом обсуждении рассматриваются проблемы, возникающие при работе с большими базами кодов. Мы рассмотрим лучшие практики организации кода в MQL5 и реализуем практический подход для повышения читаемости и масштабируемости исходного кода нашей панели торгового администратора. Кроме того, мы начнем разработку повторно используемых компонентов кода, которые потенциально могут принести пользу другим разработчикам при создании алгоритмов. Присоединяйтесь к обсуждению.
Применение ансамблевых методов для задач классификации на языке MQL5
В данной статье мы представляем реализацию нескольких ансамблевых классификаторов на языке MQL5 и рассматриваем их эффективность в различных ситуациях.
Создание торговой панели администратора на MQL5 (Часть IV): Безопасность входа в систему
Представьте себе, что злоумышленник проник в систему управления торговли и получил доступ к компьютерам и панели администратора, используемым для передачи ценных сведений миллионам трейдеров по всему миру. Это может привести к катастрофическим последствиям, таким как несанкционированная отправка вводящих в заблуждение сообщений или случайные нажатия на кнопки, запускающие непреднамеренные действия. В этой статье мы рассмотрим меры безопасности в MQL5 и новые функции безопасности, которые мы реализовали в нашей панели администратора для защиты от этих угроз. Совершенствуя наши протоколы безопасности, мы стремимся защитить наши каналы связи и сохранить доверие членов нашего торгового сообщества.
Нейросети в трейдинге: Пространственно-управляемая агрегация рыночных событий (Окончание)
В статье представлен практический опыт внедрения фреймворка STFlow в торговую систему. Показано, как параллельная обработка ICE-признаков и потока событий, сочетание motion-энкодера и адаптивной фьюжн-агрегации позволяют модели самостоятельно анализировать рынок и принимать решения в реальном времени. Результаты тестирования на исторических данных демонстрируют положительное математическое ожидание и способность к адаптации в меняющихся рыночных условиях.
Создание торговой панели администратора на MQL5 (Часть VI): Мультифункциональный интерфейс (I)
Роль администратора выходит за рамки простого общения в Telegram; он также может заниматься различными видами контроля, включая управление ордерами, отслеживание позиций и настройку интерфейса. В этой статье мы поделимся практическими советами по расширению нашей программы для поддержки множества функций в MQL5. Это обновление направлено на преодоление ограничений текущей панели администратора, которая в первую очередь сосредоточена на общении.
Интеграция Discord с MetaTrader 5: Создание торгового бота с уведомлениями в реальном времени
В этой статье мы рассмотрим, как интегрировать MetaTrader 5 и сервер Discord, чтобы получать торговые уведомления в реальном времени из любой точки мира. Мы узнаем, как настроить платформу и Discord, чтобы обеспечить отправку оповещений в Discord, а также поговорим о проблемах безопасности, возникающих в связи с использованием WebRequest и вебхуков для таких способов оповещения.
Нейросети в трейдинге: Пространственно-управляемая агрегация рыночных событий (Основные модули)
В этой статье продолжается практическая реализация фреймворка STFlow. Показано, как идеи пространственно-временной агрегации и кросс-модальной обработки превращаются в рабочие спайковые модули для анализа рынка.
Введение в MQL5 (Часть 12): Руководство для начинающих по созданию пользовательских индикаторов
В статье мы создадим собственный индикатор на MQL5, применив проектный подход. Также мы рассмотрим индикаторные буферы, свойства и визуализацию трендов в виде понятного для новичков пошагового руководства.
Оптимизация нейробоидами — Neuroboids Optimization Algorithm (NOA)
Новая авторская биоинспирированная метаэвристика оптимизации — NOA (Neuroboids Optimization Algorithm), объединяющая принципы коллективного интеллекта и нейронных сетей. В отличие от классических методов, алгоритм использует популяцию самообучающихся "нейробоидов", каждый с собственной нейросетью, адаптирующей стратегию поиска в реальном времени. Статья раскрывает архитектуру алгоритма, механизмы самообучения агентов и перспективы применения этого гибридного подхода в сложных задачах оптимизации.
Переосмысливаем классические стратегии (Часть 14): Высоковероятные ситуации
В трейдерском сообществе хорошо известны торговые стратегии с высокой вероятностью успеха, но, к сожалению, они недостаточно четко определены. В этой статье мы попытаемся найти эмпирический и алгоритмический способы точного определения того, что представляет собой ситуация с высокой вероятностью успеха (high probability setup), а также выявить и использовать такие ситуации. Применяя деревья градиентного бустинга (Gradient Boosting Trees), мы продемонстрируем, как читатель может улучшить производительность произвольной торговой стратегии и более четко и понятно донести до компьютера точную задачу, которую необходимо выполнить.
Автоматизация торговых стратегий на MQL5 (Часть 16): Пробой полуночного диапазона посредством ценового действия Прорыв структуры (BoS)
В настоящей статье мы автоматизируем пробой полуночного диапазона с помощью стратегии прорыва структуры на MQL5, подробно описывая код для обнаружения пробоя и исполнения сделок. Определяем точные параметры риска для входа, стоп-ордеров и прибыли. Тестирование на истории и оптимизация включены для практической торговли.
Нейросети в трейдинге: Возмущённые модели пространства состояний для анализа рыночной динамики (Основные компоненты)
В данной статье представлен практический подход к адаптации современного фреймворка для анализа финансовых потоков средствами MQL5. Рассмотрены ключевые компоненты модели — Depth-Wise свёртки с остаточными связями, конусные Super Kernel Block и модуль глобальной агрегации движения (GMA).
Знакомство с языком MQL5 (Часть 20): Введение в гармонические паттерны
В этой статье мы исследуем основы гармонических паттернов, их структуру и то, как они применяются в торговле. Вы узнаете о коррекциях и расширениях Фибоначчи, а также о том, как реализовать обнаружение гармонических паттернов на языке MQL5, тем самым закладывая основу для создания продвинутых торговых инструментов и советников.
Нейросети в трейдинге: Модели многократного уточнения прогнозов (Окончание)
Представляем фреймворк RAFT — мощный инструмент для анализа и прогнозирования финансовых временных рядов. Его гибкая и оптимизированная архитектура обеспечивает точность прогнозов, стабильность работы и ускоряет обработку данных. RAFT снижает риски ошибок и облегчает создание эффективных торговых стратегий.
Моделирование рынка (Часть 02): Кросс-ордера (II)
В отличие от того, что было в предыдущей статье, здесь мы осуществим проверку опции выбора на советнике. Хотя это еще не окончательное решение, но пока этого будет достаточно. С помощью данной статьи, вы сможете понять, как реализовать одно из возможных решений.
От начального до среднего уровня: Операторы
В этой статье мы рассмотрим основных операторов. Хотя тема проста для понимания, есть определенные моменты, которые имеют большое значение, когда речь идет о включении математических выражений в формат кода. Без адекватного понимания этих деталей, программисты с небольшим опытом или вообще без него в итоге отказываются от попыток создать собственных решений.
Разложение по динамическим модам в применении к одномерным временным рядам в языке MQL5
Разложение по динамическим модам (Dynamic mode decomposition, DMD) — метод, который обычно применяют к наборам многомерных данных. В этой статье мы демонстрируем применение DMD на одномерных временных рядах, выявляя его способность характеризовать ряды, а также делать прогнозы. При этом рассмотрим встроенную в MQL5 реализацию разложения по динамическим модам, уделяя особое внимание новому матричному методу DynamicModeDecomposition().
От начального до среднего уровня: Плавающая точка
Эта статья является кратким введением к понятию числа с плавающей точкой. Поскольку этот текст очень сложный, советую вам прочитать его спокойно и внимательно. Не рассчитывайте быстро освоить систему с плавающей точкой, она становится понятной только со временем, по мере появления опыта использования. Но эта статья поможет вам понять, почему ваше приложение иногда выдает результат, отличный от ожидаемого.