MQL5 Алготрейдинг
12.9K subscribers
1.23K photos
1.23K links
Лучшие публикации самого большого общества алготрейдеров.

Подпишись, чтобы быть в курсе современных технологий и развития торговых систем.
Download Telegram
В статье изложен процесс создания независимого советника на основе индикатора Trend Constraint V1.09 в MetaTrader 5. Включены функции оценки рыночных условий и торговых решений, используя такие индикаторы, как RSI и скользящие средние. Рассмотрены важные аспекты написания программы: настройка и инициализация индикаторов, создание логики на основе изменений тренда, управление торговыми событиями и оптимизация работы в тестере стратегий. Наряду с автоматизацией торговли, статьей предоставляется основа для дальнейшего развития советника, улучшения входных условий и включения дополнительной функциональности, например, магического числа.

Читать далее...
👍3👌2
Разработка индикатора предлагает создание горизонтальных линий по цене с заданным процентным шагом. Число линий как выше, так и ниже цены можно настроить индивидуально, обеспечивая гибкость в их использовании. Пользователь может установить параметры для всех линий: цвет, стиль и ширину, а также цвет основной линии.

Инициализация данных происходит в функции OnInit, что исключает необходимость в перерасчете в OnCalculate, что улучшает производительность. Линии создаются при запуске индикатора и удаляются при его завершении. Такой подход обеспечивает легкость в управлении графическими объектами и ясность в анализе ценового поведения, предлагая точный инструмент для технического анализа.

Читать далее...
1👍1
В предыдущей статье обсуждались изменения для указателя мыши, чтобы он мог взаимодействовать с событиями стакана цен в MetaTrader 5. В новой статье переносим часть кода из тестового сервиса в сервис репликации. В частности, рассматриваются изменения, позволяющие указателю мыши показывать сообщения аукциона или оставшегося времени бара. При запуске приложения репликации система работает с аукциона, и при первой активации воспроизведения изменяет состояние на торговое. Особое внимание уделяется управлению событиями через код для работы с таймфреймом графика и отображением поведения рынка. Разбирается обработка тик-событий, что помогает отслеживать фазы работы приложения.

Читать далее...
22👍2
Исследуем статью о создании платформы визуальной оптимизации для MetaTrader 5. Основное внимание уделено улучшению интерфейса и добавлению вкладок для детального анализа оптимизации стратегий. Представлены классы управления, такие как Tab Control и таблицы результатов, позволяющие разработчикам настроить визуализацию ключевых данных. Используются обработчики, такие как OnTesterInit и OnTesterPass, для гибкой передачи данных между агентом тестирования и терминалом. Доработаны элементы, включая прогресс-бар и динамические графики. Эти инновации дают трейдерам и разработчикам улучшенный контроль и понимание процессов оптимизации в алгоритмической торговле.

Читать далее...
👌311
Алгоритм Q-обучения в сочетании с цепями Маркова может улучшить процесс обучения многослойной сети перцептрона (MLP). Обучение с подкреплением (RL) действует как промежуточное звено между контролируемым и неконтролируемым обучением. В этой модели агент выбирает действия, оптимизирующие вознаграждение, учитывая вероятности переходов между состояниями.

Структура окружения: используется девятииндексное пространство, представляющее рыночные состояния на краткосрочной и долгосрочной перспективах. Обновления Q-значений регулируются коэффициентами α и γ, определяющими скорость обучения и оценку будущих вознаграждений. Код легко модифицируется благодаря использованию структур и нормализованных переменных.

Цепи Маркова моделируют вероятностные переходы между состояниями, упрощая управление стохастической динамикой. Реализация пользовательского сигнала для обработки входных данных осуществля...

Читать далее...
👍611👀1
Советник позволяет гибко настраивать торговые стратегии путем простого управления входными параметрами. Можно использовать готовый код советника для создания индивидуальных стратегий. Индикаторы, включая объявление и создание хендлов, можно интегрировать из файла Indicators Code. Важно правильно выставить объем или уровень риска. При выставлении риска его значение должно находиться в диапазоне от 1 до 100. Такой подход дает возможность оптимизировать торговые операции и анализировать различные рыночные сценарии, соответствующие заданным параметрам. Учитывайте, что корректное управление параметрами важно для успешного выполнения стратегий.

Читать далее...
21
Введение алгоритма оптимизации эволюции панциря черепахи основывается на моделировании роста панциря. Процесс включает в себя добавление твердых и мягких решений, с наиболее успешными решениями, перенесенными ближе к поверхности. Менее удачные решения сохраняются для дальнейшей адаптации.

Реализация алгоритма предполагает кластеризацию данных по вертикали и горизонтали, с использованием алгоритмов K-Means и K-NN. Структура данных для агентов включает массив координат, метку кластера и оценку приспособленности.

Уникальные особенности алгоритма обеспечивают его гибкость и адаптивность к различным условиям поиска решений. Эти принципы заложены в методах и структурах, используемых для хранения и кластеризации данных.

Читать далее...
21👀1
Советник, описанный в статье, представляет собой инструмент для работы с индикаторами. Он предназначен для интеграции различных кодовых блоков, связанных с индикаторами, но сам по себе не выполняет торговые операции. Комплексный подход начинается с задания входных параметров в начальной части кода советника. Далее следует объявление хендлов, обеспечивающих взаимодействие с индикаторами. В функции OnInit производится создание хендлов, что позволяет задать необходимую логику для последующих операций. Такой подход облегчает процесс работы с индикаторами, делая обработку данных более структурированной и понятной.

Читать далее...
11👍1
Статья исследует использование ONNX, интегрированного в MQL5, для выполнения вывода моделей в алгоритмической торговле. Рассматриваются шаги по преобразованию моделей PyTorch в формат ONNX, а также практические аспекты их тестирования и использования в MetaTrader 5. Подробно обсуждаются ограничения ONNX и пути обхода для моделей с не поддерживаемыми операторами. В статье подчеркивается удобство конверсии и кроссплатформенной поддержки, что полезно для алгоритмистов. Описаны основные шаги: настройка ONNX, преобразование и тестирование модели, интеграция и управление выводами в среде MQL5, что открывает дополнительные возможности для разработчиков и трейдеров.

Читать далее...
4
Представлен новый код советника, использующий два индикатора среднего скользящего (МА). Если в течение заданного периода эти индикаторы не пересекаются и зафиксирован откат от основного движения, открывается первая из трех сделок. Последующие сделки открываются в зависимости от движения цены, на основе шага, связанного с ATR.

После открытия всех трех сделок, при благоприятном движении, активируется трейлинг. В случае неблагоприятного движения, закрытие сделок происходит автоматически на основе заданных критериев, по шагу сетки, определенному для типа сделок. Данный подход позволит оптимизировать торговлю в зависимости от рыночных условий, эффективно управляя рисками и потенциальной прибылью.

Читать далее...
22
Статья предлагает несколько подходов к решению проблемы сбоя при смене таймфрейма в MetaTrader 5. Ключевое решение — использование буферов индикаторов и кодовой оптимизации для отслеживания изменений, что позволяет избежать ручной настройки после сбоя. Автор описывает различные стратегии, включая использование глобальных переменных и файлов, но акцентирует внимание на необходимости автоматизации и уменьшении размера передаваемых данных. Рекомендуется тестирование и внедрение через предварительную тестовую версию, что подчеркивает важность качества разработки и минимизации рисков сбоев, что может быть полезно для разработчиков в процессе создания надежных решений.

Читать далее...
1
Важно обсудить тестирование и оптимизацию торговых алгоритмов, особенно с использованием Тестера стратегий MQL5. Проверка их работы на исторических данных помогает оценить эффективность и выработать механизмы интерпретации показателей, таких как коэффициенты прибыли и просадки.

Стратегия rapid-fire ориентирована на быструю прибыль от кратковременных рыночных движений, что требует мгновенной реакции. В ней ключевую роль играют индикаторы Parabolic SAR и SMA, выявляющие развороты трендов и упрощающие анализ цен.

Реализуя авто-торговлю на MQL5, создается советник с обработчиками OnInit и OnDeinit для корректного управления ресурсами. Важен и OnTick, где формируется основная торговая логика.

Читать далее...
1👍1
В области анализа данных и машинного обучения ядра гауссовских процессов играют ключевую роль. Линейное ядро отличается простотой, идеально для линейных трендов, требует минимальных вычислительных ресурсов. Однако оно предполагает линейную зависимость, что может быть ограничением.

Ядро Матерна предлагает гибкость, способен улавливать сложные, нелинейные зависимости, подходя для данных с разрывами и высокой волатильностью. Параметр ν позволяет настраивать гладкость, обеспечивая универсальность модели.

Эти ядра находят применение в финансовых временных рядах, где важно учитывать как краткосрочные, так и долгосрочные тренды. Использование в регрессии гауссовских процессов способствует улучшению точности прогнозов в условиях неопределенности.

Читать далее...
21🏆1
Фреймворк DADA, предназначенный для анализа аномалий в временных рядах, состоит из трёх ключевых компонентов: адаптивных узких мест, состязательных декодеров и механизма патчинга и маскирования. Адаптивные узкие места позволяют динамически изменять степень сжатия данных в реальном времени. Декодеры восстанавливают нормальные состояния и выделяют аномалии, улучшая точность анализа. Патчинг и маскирование помогают выделять критические участки данных и усваивать скрытые зависимости, что улучшает качество информации. Такая архитектура делает DADA универсальным средством для анализа различных рыночных условий и выявления аномальных паттернов.

Читать далее...
2👍2
Алгоритм оптимизации центральной силы (CFO) переносит концепции гравитации в область численной оптимизации. В основе CFO — принцип, где каждая частица стремится к областям с оптимальными решениями под влиянием гравитационного притяжения. Взаимодействие частиц происходит по детерминированным законам движения, где качественные решения притягивают менее удачные, создавая виртуальное поле. Это уникально для CFO, так как он работает без случайных величин, обеспечивая повторяемые результаты. Алгоритм реализуется в системе MetaTrader 5, предоставляя трейдерам и программистам более точные и надежные инструменты для алгоритмической торговли.

Читать далее...
2👍2
Советник-утилита предназначена для закрытия всех позиций по заданному параметру 'Symbol'. Основная функция заключается в завершении всех сделок для указанного символа без дополнительных условий. В коде советника предусмотрена проверка корректности введенного символа. Для оптимизации работы рекомендуется активировать строку кода 'ExpertRemove', благодаря чему советник автоматически удалится после выполнения своей основной задачи. Это позволяет избежать лишних операций и концентрации на ключевых функциях. Настоятельно рекомендуется проверить правильность настроек для предотвращения ошибок в процессе торговли.

Читать далее...
👍5
Вы исследуете потенциал арбитража на валютном рынке, используя Python и MetaTrader 5 для анализа синтетических и реальных курсов EURGBP. Исследование охватывает период с января по март 2025 года, раскрывая микродисбалансы, которые, несмотря на свою малозаметность, являются основой прибыльной стратегии скальпинга. Анализ показывает, что дисбалансы устойчивы и имеют автокорреляцию 0.59, особенно в европейской сессии, где минимальный спред и стабильность создают идеальные условия для арбитража. Алгоритмы HFT фондам не справляются с такими дисбалансами, что открывает возможности для гибких индивидуальных стратегий.

Читать далее...
1
В описании рассматривается сложность реализации системы репликации с использованием индикаторов в MQL5. Было выявлено, что использование статических handle для доступа к данным индикатора в MetaTrader 5 может привести к нестабильной работе, особенно при смене таймфрейма. Решение этой проблемы возможно через динамическое обновление handle.

Код был модифицирован для обеспечения корректной работы через обновление handle в режиме реального времени. Это позволяет поддерживать актуальность данных, считанных из буфера индикатора. Рассмотрены изменения в заголовочном файле C_Replay.mqh, которые включают удаление устаревших частей и улучшение функций инициализации.

Основное внимание было уделено тому, как избежать ошибок, связанных с изменением таймфрейма и, как следствие, изменения идентификатора handle, делая работу сервиса более устойчивой.

Читать далее...
22👍1
Абстрагирование проектного кода для создания независимой библиотечной и проектной частей требует тщательного анализа и изменений кода. Недавние корректировки касались перехода от стратегий "SimpleVolumes" к "SimpleCandles", модификаций CDatabase для обработки ошибок блокировки базы данных и обновлений макросов для упрощения отладки цикла. Добавление нового параметра торговой стратегии, такого как максимальный спред, требует изменений во входных параметрах и обработке сигналов. Анализ CreateProject.mq5 продолжился с целью рефакторинга и разбиения кода на классы для упрощения реализации новых стратегий и этапов. Это подготовка к расширенному управлению проектами оптимизации.

Читать далее...
👍211
Индикатор, ранее доступный за высокую стоимость, теперь предлагается бесплатно. Он отображает 1-барные свинги Уильяма Ганна без перерисовки. Ромбы обозначают бар, который сформировал свинг пробитием максимума или минимума, облегчая визуализацию задержек. Внутренние бары, где текущий High ниже предыдущего High, и текущий Low выше предыдущего Low, индикатор игнорирует. Внешние бары анализируются на пробитие предыдущего High или Low текущей ценой Close для определения бычьего или медвежьего пробития. Бычий свинг фиксируется при определенных критериях, если текущий High и Low ниже предыдущих значений или Close ниже наивысшего Low. Медвежий свинг устанавливается, если текущий High и Low выше минимальных значений или Close выше наинизшего High. Параметры включают Alerts для уведомлений и SignalGap для настройки расстояния меток от свечи.

Читать далее...
👍42