Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 3)
Статья является третьей частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT. В этой части мы подробно описываем применение принципа разработки через тестирование для реализации обмена пакетами CONNECT/CONNACK. В конце этого шага наш клиент ДОЛЖЕН уметь вести себя соответствующим образом при работе с любыми возможными результатами сервера при попытке подключения.
Скрытые марковские модели для прогнозирования волатильности с учетом тренда
Скрытые марковские модели (СММ) — это мощный статистический инструмент, позволяющий выявлять скрытые состояния рынка на основе анализа наблюдаемых ценовых движений. В трейдинге СММ позволяют улучшить прогнозирование волатильности и применяются при разработке трендовых стратегий, моделируя изменения рыночных режимов. В этой статье мы представим пошаговый процесс разработки стратегии следования за трендом, которая использует СММ в качестве фильтра для прогнозирования волатильности.
Построение модели ограничения тренда свечей (Часть 7): Улучшаем нашу модель для разработки советника
В этой статье мы подробно рассмотрим подготовку нашего индикатора для разработки советника. В ходе обсуждения будут рассмотрены дальнейшие усовершенствования текущей версии индикатора с целью повышения его точности и функциональности. Кроме того, мы внедрим новые функции, которые будут отмечать точки выхода, устранив ограничение предыдущей версии, которая определяла только точки входа.
Передовые алгоритмы исполнения ордеров на MQL5: TWAP, VWAP и ордера Iceberg
Фреймворк MQL5, предоставляющий розничным трейдерам алгоритмы исполнения институционального уровня (TWAP, VWAP, Iceberg) с помощью унифицированного менеджера исполнения и анализатора эффективности для более плавного и точного разделения ордеров и аналитики.
Диалектический поиск — Dialectic Search (DA)
Представляем Диалектический Алгоритм (DA) — новый метод глобальной оптимизации, вдохновленный философской концепцией диалектики. Алгоритм использует уникальное разделение популяции на спекулятивных и практических мыслителей. Тестирование показывает впечатляющую производительность до 98% в задачах малой размерности и общую эффективность 57.95%. Статья объясняет эти показатели и представляет детальное описание алгоритма и результаты экспериментов на различных типах функций.
Разработка инструментария для анализа движения цен (Часть 12): Внешние библиотеки (III) TrendMap
Движение рынка определяется силами быков и медведей. Существуют определенные уровни, которые рынок соблюдает из-за действующих на них сил. Уровни Фибоначчи и VWAP особенно сильно влияют на поведение рынка. В этой статье мы рассмотрим стратегию, основанную на VWAP и уровнях Фибоначчи для генерации сигналов.
Создание пользовательской системы определения рыночного режима на языке MQL5 (Часть 1): Индикатор
В этой статье подробно описывается создание системы определения рыночного режима на языке MQL5 с использованием статистических методов, таких как автокорреляция и волатильность. Она предоставляет код для классов, чтобы классифицировать трендовые, диапазонные и волатильные условия, а также пользовательский индикатор.
Теория графов: Алгоритм Дейкстры в трейдинге
Алгоритм Дейкстры — классическое решение по поиску кратчайшего пути в теории графов, которое позволяет оптимизировать торговые стратегии путем моделирования рыночных сетей. Трейдеры могут использовать его для поиска наиболее эффективных маршрутов в данных свечного графика.
От новичка до эксперта: Индикатор Market Periods Synchronizer
В настоящем обсуждении мы представляем инструмент синхронизации таймфреймов от старших к младшим, предназначенный для решения проблемы анализа рыночных паттернов, охватывающих периоды старших таймфреймов. Встроенные маркеры периодов в MetaTrader 5 часто ограничены, жестки и их нелегко настроить для нестандартных таймфреймов. Наше решение использует язык MQL5 для разработки индикатора, обеспечивающего динамичный и наглядный способ выравнивания структур старших таймфреймов на графиках младших таймфреймов. Этот инструмент может быть очень полезен для детального анализа рынка. Чтобы узнать больше о его функциях и реализации, приглашаю вас присоединиться к обсуждению.
Майнинг данных CFTC на Python и ИИ модель на их основе
Попробуем смайнить даные CFTC, загрузить отчеты COT и TFF через Python, соединить это с котировками MetaTrader 5 и моделью ИИ и получить прогнозы. Что такое отчеты COT на рынке Форекс? Как использовать отчеты COT и TFF для прогнозирования?
Алгоритм эволюционного путешествия во времени — Time Evolution Travel Algorithm (TETA)
Мой авторский алгоритм. В этой статье представлен Алгоритм Эволюционного Путешествия во Времени (TETA), вдохновлённый концепцией параллельных вселенных и потоков времени. Основная идея алгоритма заключается в том, что, хотя путешествие во времени в привычном понимании невозможно, мы можем выбирать последовательность событий, которые приводят к различным реальностям.
Алгоритм оптимизации сновидениями — Dream Optimization Algorithm (DOA)
Популяционный алгоритм оптимизации, вдохновленный спорным и малоизученным феноменом — механизмом человеческих сновидений. Группы агентов с разной "памятью", косинусоидальная модуляция движения и необычное распределение фаз 99/1 — узнайте, как эти особенности влияют на эффективность оптимизации ваших торговых стратегий.
WebSocket для MetaTrader 5 — Асинхронные клиентские соединения с помощью Windows API
В данной статье подробно описывается разработка пользовательской динамически подключаемой библиотеки, предназначенной для упрощения асинхронных клиентских соединений по протоколу WebSocket для программ MetaTrader.
Разработка инструментария для анализа движения цен (Часть 4): Советник Analytics Forecaster
Мы выходим за рамки простого просмотра проанализированных показателей на графиках и переходим к более широкой перспективе, которая включает интеграцию с Telegram. Это позволит отправлять важные результаты непосредственно на мобильное устройство через Telegram.
Алгоритм биржевого рынка — Exchange Market Algorithm (EMA)
Статья посвящена подробному анализу алгоритма Exchange Market Algorithm (EMA), который вдохновлен поведением трейдеров на фондовом рынке. Алгоритм моделирует процесс торговли акциями, где участники рынка с разным уровнем успеха применяют различные стратегии для максимизации прибыли.
Алгоритм искусственного атома — Artificial Atom Algorithm (A3)
Реализация алгоритма A3 на MQL5 — метаэвристического метода оптимизации, вдохновленного химическими процессами. Всего 2 настраиваемых параметра, компактность и небольшая популяция обеспечивают высокую скорость работы при достаточном качестве решений.
Алгоритм оптимизации одуванчика — Dandelion Optimizer (DO)
Алгоритм оптимизации одуванчика DO превращает простой полёт семени по ветру в стратегию математического поиска. Три фазы - вихревой подъём, дрейф к центру популяции и приземление по траектории Леви - формируют изящную метафору, которая на практике показывает интересные результаты.
Возможности Мастера MQL5, которые вам нужно знать (Часть 57): Обучение с учителем совместно со скользящей средней и стохастическим осциллятором
Скользящая средняя и стохастический осциллятор — очень распространенные индикаторы, которые считаются запаздывающими. В минисерии из трех статей, посвященной трем основным формам машинного обучения, мы попытаемся выяснить, оправдана ли эта предвзятость по отношению к этим индикаторам, или же они могут иметь предсказательную силу. Мы проводим анализ с помощью советников, созданных в Мастере.
Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Двухфазная эволюция
Эта статья является продолжением темы социального поведения живых организмов и его воздействия на разработку новой математической модели - ASBO (Adaptive Social Behavior Optimization). Мы погрузимся в двухфазную эволюцию, проведем тестирование алгоритма и сделаем выводы. Подобно тому, как в природе группа живых организмов объединяет свои усилия для выживания, ASBO использует принципы коллективного поведения для решения сложных задач оптимизации.
Как построить 29-парный портфель с L1-фильтром и VaR-распределением лотов
Разбирается практическое применение L1 Trend Filter для очистки шума и формирования структурных признаков, совместимых с live-торговлей. Показан полный цикл: H1-данные 29 инструментов из MetaTrader 5, каузальная фильтрация, CatBoost на горизонте трёх L1-баров, честный walk-forward и распределение лотов по VaR. Читатель получает воспроизводимый кодовый конвейер и методику портфельной оценки.
Создание торговой панели администратора на MQL5 (Часть III): Расширение встроенных классов для управления темами (II)
Мы расширим существующую библиотеку Dialog, включив в нее логику управления темами. Кроме того, мы интегрируем методы переключения тем в классы CDialog, CEdit и CButton, используемые в нашем проекте панели администратора.
Моделирование рынка (Часть 06): Перенос данных из MetaTrader 5 в Excel
Многим, особенно тем, кто не занимается программированием, очень сложно передавать информацию между MetaTrader 5 и другими программами. Одной из таких программ является Excel. Многие люди используют Excel для управления и контроля своих рисков, так как это очень хорошая программа, которую легко освоить даже тем, кто не является программистом на VBA. Далее мы рассмотрим, как установить связь между MetaTrader 5 и Excel (очень простой метод).
Упрощаем торговлю на новостях (Часть 5): Совершаем сделки (II)
В этой статье мы детально рассмотрим класс управления сделками, включив в него ордера buy stop и sell stop для торговли новостными событиями, а также введем ограничение срока действия этих ордеров, чтобы предотвратить переносы торговли на следующий день. В советник будет встроена функция проскальзывания, которая попытается предотвратить или минимизировать возможное проскальзывание, которое может возникнуть при использовании стоп-ордеров в торговле, особенно во время выхода новостей.
Создание панели торгового администратора на MQL5 (Часть I): Создание интерфейса обмена сообщениями
В данной статье рассматривается создание интерфейса обмена сообщениями для MetaTrader 5, предназначенного для системных администраторов, чтобы облегчить общение с другими трейдерами непосредственно внутри платформы. Недавняя интеграция социальных платформ с MQL5 позволяет быстро транслировать сигнал по разным каналам. Представьте, что вы можете проверять отправленные сигналы одним щелчком мыши — либо "ДА", либо "НЕТ". Читайте дальше, чтобы узнать больше.
Введение в Connexus (Часть 1): Как использовать функцию WebRequest?
Настоящая статья является началом серии разработок для библиотеки под названием “Connexus”, предназначенной для облегчения выполнения HTTP-запросов с помощью MQL5. Цель настоящего проекта - предоставить конечному пользователю такую возможность и показать, как использовать эту вспомогательную библиотеку. Я намеревался сделать его как можно более простым, чтобы облегчить изучение и обеспечить возможность для будущих разработок.
Создание торговой панели администратора на MQL5 (Часть III): Улучшение графического интерфейса пользователя (GUI) с помощью визуального оформления (I)
В настоящей статье мы сосредоточимся на визуальном оформлении графического интерфейса пользователя (GUI) нашей торговой панели администратора с использованием MQL5. Мы рассмотрим различные методы и функции, доступные в MQL5, которые позволяют настраивать и оптимизировать интерфейс, обеспечивая его соответствие потребностям трейдеров при сохранении привлекательной эстетики.
Создание торговой панели администратора на MQL5 (Часть II): Повышение оперативности реагирования и быстрого обмена сообщениями
В настоящей статье улучшим оперативность работы панели администратора, созданную нами ранее. Кроме того, мы рассмотрим важность быстрого обмена сообщениями в контексте торговых сигналов.
Разработка инструментария для анализа движения цен (Часть 10): Внешние библиотеки (II) VWAP
Освойте возможности VWAP с помощью нашего подробного руководства! Узнайте, как интегрировать анализ VWAP в вашу торговую стратегию, используя MQL5 и Python. Получите максимально полное представление о рынке и улучшите свои торговые решения уже сегодня.
Применение локализованного отбора признаков на Python и MQL5
В настоящей статье рассматривается алгоритм отбора признаков, представленный в статье "Выбор локальных признаков для классификации данных» ('Local Feature Selection for Data Classification') Наргеса Арманфарда и соавторов (Narges Armanfard et al.). Алгоритм реализован на Python для построения моделей бинарных классификаторов, которые могут быть интегрированы с приложениями MetaTrader 5 для логического вывода.
Python + MetaTrader 5: быстрый исследовательский контур для данных, признаков и прототипов
Статья показывает, как интеграция Python и MetaTrader 5 объединяет исследовательскую гибкость и торговое исполнение в едином рабочем процессе. Python используется для анализа данных, отбора признаков и обучения модели, а MetaTrader 5 — для тестирования и автоматизации торговли. Такой подход упрощает перенос решений в практику, повышает воспроизводимость и делает разработку торговых систем более быстрой и структурированной.
Переходим на MQL5 Algo Forge (Часть 2): Работа с несколькими репозиториями
Рассмотрим один из возможных подходов к организации хранения исходного кода проекта в публичном репозитории. Используя распределение по различным веткам, создадим удобные и понятные правила для развития проекта.
Оптимизация коралловых рифов — Coral Reefs Optimization (CRO)
В данной статье представлен комплексный анализ алгоритма оптимизации коралловых рифов (CRO) — метаэвристического метода, вдохновленного биологическими процессами формирования и развития коралловых рифов. Алгоритм моделирует ключевые аспекты эволюции кораллов: внешнее и внутреннее размножение, оседание личинок, бесполое размножение и конкуренцию за ограниченное пространство в рифе. Особое внимание в работе уделяется усовершенствованной версии алгоритма.
Оптимизатор на основе экологического цикла — Ecological Cycle Optimizer (ECO)
Алгоритм ECO (Ecological Cycle Optimizer) представляет собой интересную метафору переноса экологического круговорота в область метаэвристической оптимизации. Идея разделения популяции на трофические уровни — продуцентов, травоядных, плотоядных, всеядных и редуцентов — создаёт иерархическую структуру поиска, где каждая группа вносит свой вклад в общий процесс оптимизации.
Анализ влияния солнечных и лунных циклов на цены валют
Что если лунные циклы и сезонные паттерны влияют на валютные рынки? Эта статья показывает, как перевести астрологические концепции на язык математики и машинного обучения. Я создал Python-систему с 88 признаками на основе астрономических циклов, обучил CatBoost на 15 годах данных EUR/USD и получил интригующие результаты. Код открыт, методы проверяемы, выводы неожиданны — древняя мудрость встречается с градиентным бустингом.
Реализация механизма безубыточности в MQL5 (Часть 2): Безубыток на основе ATR и RRR
В данной статье завершается реализация механизмов безубыточности на основе ATR и RRR в MQL5, а также с нуля разрабатывается класс, позволяющий легко изменять режим безубытка без необходимости повторного ввода параметров. Для оценки эффективности каждого типа безубытка выполняется несколько бэктестов, в рамках которых анализируются их преимущества и недостатки в контексте алгоритмического трейдинга.
Разработка инструментария для анализа движения цен (Часть 9): Внешние библиотеки
В статье рассматривается новое измерение анализа с использованием внешних библиотек, специально разработанных для расширенной аналитики. Эти библиотеки, такие как pandas, предоставляют мощные инструменты для обработки и интерпретации сложных данных, позволяя трейдерам получать более глубокое представление о динамике рынка. Интегрируя такие технологии, мы можем сократить разрыв между необработанными данными и практическими стратегиями. Здесь мы заложим основу для этого инновационного подхода и раскроем потенциал объединения технологий с опытом трейдинга.
Построение модели для ограничения диапазона сигналов по тренду (Часть 6): Интеграция "всё в одном"
Одной из основных проблем является управление несколькими окнами графиков одной пары, на которых запущена одна и та же программа с разными функциями. Давайте обсудим, как объединить несколько интеграций в одну основную программу. Кроме того, мы поделимся идеями по настройке программы для вывода в журнал и рассмотрим успешную трансляцию сигнала в интерфейсе графика.
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (I)
Доступность новостей является критическим фактором при торговле в терминале MetaTrader 5. Несмотря на наличие множества новостных API, многие трейдеры сталкиваются с трудностями доступа к ним и их эффективной интеграции в свою торговую среду. В ходе настоящего обсуждения нашей целью является разработать оптимизированное решение, которое выводило бы новости непосредственно на график — там, где они больше всего нужны. Мы добьемся этого, создав советника «Заголовки новостей», который отслеживает и отображает обновления новостей в режиме реального времени из источников API.
Алгоритм дифференциального поиска — Differential Search Algorithm (DSA)
В статье рассматривается алгоритм дифференциального поиска DSA, имитирующий миграцию суперорганизма в поисках оптимальных условий обитания. Алгоритм использует гамма-распределение для генерации псевдо-стабильного блуждания и предлагает четыре стратегии выбора направления движения с тремя механизмами мутации координат. Какова будет производительность метода?
Управление рисками (Часть 3): Создание основного класса для управления рисками
В этой статье мы начнем создание основного класса управления рисками, который будет ключевым для контроля рисков в системе. Мы сосредоточимся на построении основ, определении основных структур, переменных и функций. Кроме того, мы внедрим необходимые методы для присвоения значений максимальной прибыли и убытков, тем самым заложив основу для управления рисками.