Библиотеки для MetaTrader 5 с исходными кодами
Библиотеки представляют собой небольшие подпрограммы с реализованным в них функционалом, который в дальнейшем может быть использован в разработке других приложений. Однажды написанная тщательно проверенная библиотека позволяет ускорить разработку новых приложений на языке MQL5. Примером такой библиотеки может служить ALGLIB, в которой собрано множество функций численного анализа.
Исходные коды библиотек можно скачать и использовать в редакторе торговых стратегий MetaEditor. Они не могут быть запущены самостоятельно в MetaTrader 5.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Настоящий фильтр новостей из экономического календаря, который также работает при бэктестировании. Достаточно один раз экспортировать события с помощью скрипта, после чего можно блокировать открытие новых позиций во время выхода новостей как в режиме реального времени, так и в Тестере стратегий. Устраняет часовой сдвиг, связанный с переходом на летнее время, в исторических данных экономического календаря.
Оценивает каждый тип настроек вашего советника отдельно, а не объединяет их в одну кривую капитала. При инициализации восстанавливается на основе истории сделок счета, поэтому перезапуск не может стереть эти данные. Отображает нижнюю границу показателя Уилсона рядом с исходным показателем выигрышности, чтобы серия из трёх успешных сделок перестала выглядеть как преимущество.
Три механизма защиты при определении размера позиции, которые действуют по-разному; именно их путаница приводит к тому, что так много счетов оказываются полностью обнуленными: - «лестница»: один контракт на каждые X баланса, всегда применяется в качестве верхнего предела (CAP), даже при ручном определении размера лота; - floor: при балансе ниже минимального капитала торговля не ведётся; требуется новый депозит; - breaker: срабатывает при падении на X% ниже пикового значения, независимо от размера счёта, и не сбрасывается автоматически. Что решает эта библиотека, а почти ни одна другая — депозит не является прибылью, а вывод средств — убытком. Брейкер измеряет падение относительно пикового значения баланса. Без специальной обработки пополнение счёта, произведённое ВО ВРЕМЯ просадки, одновременно повышает баланс и пиковое значение, и защита перестаёт фиксировать падение именно в тот момент, когда это было бы полезно. Здесь пополнения и снятия средств смещают пиковое значение на одинаковую величину. Пиковое значение сохраняется в файле: защитный механизм, который забывает пиковое значение при перезапуске терминала, не является защитным механизмом. Демо-версия моделирует внесение средств в момент достижения дна просадки. Запустите её с включенным и выключенным внесением средств и сравните столбец «падение».
Размер позиции рассчитывается на основе суммы риска, которая определяется исходя из реальной стоимости тика данного символа, размера тика и шага объема, а не исходя из предполагаемой стоимости пипса. Объем всегда округляется в меньшую сторону, и если ваш риск меньше минимального лота, программа сообщает об этом и указывает фактическую стоимость такого лота. Терминал не требуется, поэтому логику расчёта размера позиции можно протестировать в автономном режиме — в комплект входит тестовый скрипт с 41 утверждением.
Библиотека из 24 классов MQL5, которая отслеживает соблюдение правил проп-фирмы — просадку, дневной убыток, стабильность выплат, минимальное количество торговых дней, период запрета на торговлю во время новостей — для любого счёта и закрывает все позиции при нарушении этих правил, при этом никогда не открывая собственных позиций.
Легкий класс заголовка MQL5 (.mqh), реализованный с использованием объектно-ориентированного программирования, для точного расчета стоимости одного пункта и динамического определения размера лота для всех инструментов, с функциями автоматического пересчета курсов между валютами и нормализации объемов по брокеру.
Определяет символ «gold», как бы его ни называл брокер, считывает спецификацию контракта из терминала, а не принимает её на веру, и преобразует риск в валюте счёта в размер лота, соответствующий требованиям данного брокера.
Библиотека для получения сигналов близости для индикаторов, основанных на каналах
Небольшая библиотека с минимальным количеством зависимостей, которая вводит в MQL5 тип Result в стиле Rust. Функции возвращают единый объект, содержащий либо значение, либо ошибку, вместо того чтобы полагаться на глобальное состояние GetLastError(), благодаря чему сбои отображаются явно и их невозможно игнорировать. Включает в себя ResultValue (типы значений) и Result (объекты, хранящиеся в указателях), структуру Error, макросы раннего возврата (TRY, RETURN_ON_ERROR и т. д.) и опциональные обратные вызовы Then/Match/MapError.
MQTTFive — полноценная реализация MQTT 5.0 клиента для MQL5. Возможности: • MQTT v5.0 — все типы пакетов, properties, QoS 0/1/2 • TCP + TLS через нативный MQL5 Socket API • Will-сообщения с properties (will_delay_interval, payload_format, message_expiry) • Topic Alias для исходящих PUBLISH • Flow Control (Receive Maximum) • Subscription Options (no_local, retain_as_published, retain_handling) • Бинарные и UTF-8 payload • Автоматический retry для QoS 1/2 • Ноль DLL зависимостей — чистый MQL5 Протестировано с Mosquitto 5.0 (15 тестов, все PASS). Документация: https://github.com/chekh/MQTTFive Лицензия: MIT
Объектно-ориентированная библиотека MQL5 (.mqh), которая заменяет статичные розничные модели риска на институциональные модели Volatility-Adjusted Position Sizing (VAPS) и Kelly Criterion.
Технические подробности Использует MQL5's OrderSend с TRADE_ACTION_DEAL для мгновенного закрытия рынка по текущим ценам Bid/Ask. Включает в себя допуск на проскальзывание (10 пунктов), правильное соответствие объему и сохранение магического числа. Циклы обратного хода по позициям предотвращают смещение индекса во время исполнения.
Включает класс, который проверяет комбинированный пинг терминала + задержку выполнения перед торговыми операциями. Возвращает false, если порог превышен.
Библиотека JSON, предназначенная для массового использования LLM и снижения задержек.
Если у вас есть доступ к коду эксперта, вы можете сохранять графики баланса и капитала, а также рассчитывать дополнительные критерии оптимизации, добавляя дополнительный код из этой библиотеки.
Позволяет советнику определять наличие дубликатов советников на графике в зависимости от условий.
Вычислите косинусное расстояние и сходство между двумя векторами. Косинусное расстояние равно 1-косинусу_сходства, а косинусное сходство - это умноженное на точку произведение двух векторов на их величины.
Статический класс для исправления функции TimeGMT() во время тестирования в тестере стратегий.
Исходные коды, написанные в ходе разработки библиотеки для создания мультивалютных советников, объединяющих множество экземпляров различных торговых стратегий.
Класс для доступа к местному времени для указанного местоположения, а также к информации о часовом поясе и часах местной торговой сессии.
Эта библиотека является обновленной версией библиотеки ErrorDescription.mqh, опубликованной MetaQuotes, с некоторыми включенными функциями.
Функция для преобразования времени сервера из одного часового пояса брокера в другой.
Сжатие тиковых данных для хранения в компактном виде до 3,5 раз компактнее, чем .tcs файлы MQ. И для быстрой работы с ними, т.к. на чтение 3 байт тратится меньше времени, чем на 60 байт MqlTick структуры.
Записывает тики в режиме по реальным тикам и считывает их в математическом вызывая вашу стратегию с каждым тиком.
Этот советник демонстрирует, как можно реализовать собственную стратегию хеджирования с помощью включаемого файла.
Профессиональная библиотека интеграции Telegram Bot для MetaTrader 5. Полноценное решение для отправки торговых сигналов, скриншотов, отчетов и уведомлений в режиме реального времени в каналы и группы Telegram.
Класс CDebugLogger - это гибкая и всеобъемлющая утилита для ведения журнала, предназначенная для использования в средах MQL4/5. Он позволяет разработчикам регистрировать сообщения различных уровней важности (INFO, WARNING, ERROR, DEBUG) с возможностью включения в записи журнала временных меток, сигнатур функций, имен файлов и номеров строк. Класс поддерживает запись логов как в консоль, так и в файлы, с возможностью сохранения логов в общей папке и в формате CSV. Кроме того, он предлагает функциональность для глушения журналов на основе определенных ключевых слов, что гарантирует, что конфиденциальная информация не будет записана в журнал. Этот класс идеально подходит для разработчиков, желающих внедрить надежные механизмы протоколирования в свои MQL4/5-приложения, с настраиваемыми функциями, удовлетворяющими широкий спектр потребностей в отладке и мониторинге.
Logify - это библиотека логов для MQL, предназначенная для упрощения отладки, отслеживания и мониторинга советников и индикаторов. Она предоставляет структурированные, настраиваемые и организованные журналы непосредственно на графике или в терминале, с поддержкой уровней журнала, гибких форматов и нескольких обработчиков. Легкое, элегантное решение, которое легко интегрировать в ваши MQL-проекты.