Ставь лайки и следи за новостями
Скрипт, написанный исключительно на языке MQL5, который оценивает, насколько устойчиво преимущество стратегии к затратам на исполнение. Он считывает CSV-файл с данными «Дата, Прибыль, Объем» по закрытым сделкам и моделирует затраты по каждой сделке как фиксированную часть плюс часть, зависящую от количества лотов. Он выводит на экран стоимость, при которой сделка становится безубыточной, «запас прочности» (кратность предполагаемой реалистичной стоимости, при которой чистая прибыль достигает нуля), чистую прибыль и коэффициент прибыльности, пересчитанные с учётом предполагаемой стоимости, долю выигрышных сделок, которые из-за затрат превращаются в убыточные, а также комплексную оценку устойчивости к затратам по шкале от A+ до F с рекомендациями. Если файл отсутствует, программа генерирует воспроизводимый образец и анализирует его, благодаря чему результаты отображаются уже при первом запуске. Не требует внешних библиотек, Python или искусственного интеллекта.
Рассчитывает оптимальный размер лота для планируемой сделки исходя из вашего риска (процент от собственного капитала или фиксированная денежная сумма) и расстояния стоп-лосса (в пунктах или на определенном ценовом уровне). Учитывает условия контракта по данному инструменту — размер и стоимость тика, минимальный/максимальный объем и шаг — и рассчитывает необходимую маржу.
Экспортирует ваши закрытые позиции за настраиваемый период в файл CSV для анализа журнала в Excel или Google Sheets: время и цена открытия и закрытия (с взвешиванием по объему при частичном исполнении), объем, результат в пунктах, комиссия, своп, чистая прибыль и продолжительность сделки.
Скрипт собирает фактический спред вашего брокера из поля spread баров M1 и печатает медиану, 90-й и 99-й перцентили в единицах цены, в пунктах и в долях ATR, а также выгружает в CSV средний и максимальный спред по каждому часу суток. Нужен, чтобы тестировать стратегии против реальных издержек своего счёта, а не против "типичного" спреда из головы.
Нативный скрипт на языке MQL5, который анализирует структуру просадок счета, а не только отдельный показатель «максимальной просадки». Он считывает кривую дневного капитала (CSV-файл с датами и дневной прибылью/убытком), восстанавливает кривую отрицательного баланса и разбивает её на отдельные эпизоды просадок с указанием их глубины, продолжительности и времени восстановления. Затем он выводит показатели Ulcer Index, Pain Index, Recovery Factor и время, проведённое в зоне убыточности, а также объединяет их в единый показатель устойчивости (от A+ до F) с рекомендациями, отображаемыми на вкладке «Эксперты». Не использует внешних библиотек; если файл не найден, скрипт генерирует примерную кривую, поэтому работает сразу после установки.
Нативный скрипт на языке MQL5, который измеряет степень концентрации прибыли стратегии — является ли преимущество широким или опирается на несколько удачных сделок. Он считывает файл CSV с данными по каждой сделке (Дата, Прибыль) и выводит долю чистой прибыли, полученной от крупнейших сделок, коэффициент Джини по выигрышным сделкам, профиль концентрации, тест на выживаемость, который исключает несколько лучших сделок и пересчитывает чистую прибыль и коэффициент прибыльности, а также максимальную дневную прибыль по сравнению с настраиваемым пределом стабильности, объединенные в оценку концентрации и стабильности (от A+ до F) с рекомендациями. Если файл не найден, программа генерирует набор данных для примера, поэтому работает сразу после установки. Никаких внешних библиотек, никакого Python, никакого ИИ. Вспомогательная программа ExportTrades.mq5 записывает файл из вашей истории сделок.
Скрипт MT5 с открытым исходным кодом, который записывает в журнал и, по желанию, в файл CSV настройки символа XAUUSD/GOLD, спред, стоимость тика, размер контракта, шаг объема, уровни стопа/заморозки, своп и контекст счета.
Диагностический скрипт, который сравнивает значения SYMBOL_TRADE_TICK_VALUE, SYMBOL_TRADE_TICK_VALUE_LOSS и SYMBOL_TRADE_TICK_VALUE_PROFIT для каждого символа в окне «Market Watch». Классифицирует каждый символ по одной из четырёх категорий (ALL_EQUAL, TV_MATCHES_PROFIT, TV_MATCHES_LOSS, ALL_DIFFER) и предоставляет сводную статистику, а также рекомендацию по интерпретации результатов. Полезно для проверки, на какое свойство значения тика следует опираться при реализации определения размера лота с учетом риска в советниках. Экспортирует полный отчет по каждому символу в формат CSV в папку «MQL5/Files».
Скрипт для установки стоп-лосса на каждую открытую позицию на основе целевого уровня убытка в валюте счета (например, 50 долларов на позицию). Работает с любой валютой депозита и любыми валютными парами. Проверяет уровни стоп-лоссов и блокировки, установленные брокером. Конвертация валют осуществляется автоматически.
В конвейерах маркировки с тройным барьером в качестве порога min_ret часто используется произвольная константа (0,5–1,0 %) или устаревшее допущение о спрэде. Установка порога ниже фактической стоимости транзакции в обоих направлениях приводит к тому, что конвейер маркирует шум, обусловленный затратами, как торгуемый сигнал. В результате маркированный набор данных систематически завышает показатель «edge», и любая модель, обученная на этих метках, переобучается на артефакт схемы маркировки, а не на подлинную рыночную структуру. TransactionCostCollector.mq5 — это автономный скрипт, который решает задачу сбора данных в рамках данной проблемы.
Пример использования методов L1-фильтрации тренда в языке MQL5 для вектров float и double на модельных данных броуновского движения.
Этот скрипт служит практическим примером того, как разработчики могут программно работать с файлами с помощью MQL5. Одна из его ключевых задач - продемонстрировать эффективную организацию файлов проекта, что очень важно для разработчиков, работающих над крупными системами или стремящихся создавать переносимые, самодостаточные проекты. Концепция может быть расширена и дополнена дополнительными идеями для поддержки более сложных рабочих процессов разработки.
Это простая программа для сравнения асинхронного и синхронного закрытия. Это пример программы, поэтому не стесняйтесь модифицировать ее для собственных целей тестирования, например, добавлять условия.
Эта функция дает мне сокращенные названия таймфреймов Пример: "M1" вместо "PERIOD_M1".
Скрипт полезен для изучения структуры моделей ONNX, позволяя получить представление о входных и выходных данных, их именах и свойствах. Он особенно полезен для отладки и понимания характеристик моделей ONNX, используемых в приложениях машинного обучения.
Скрипт демонстрирует создание графического объекта "Трендовая линия по углу" (OBJ_TRENDBYANGLE) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты точки привязки (вычисляемые по времени и цене баров в процентах от размеров окна), угол наклона, цвет, стиль и толщину линии, отображение на переднем или заднем плане, выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически изменяет положение точки привязки и угол наклона линии, визуализируя процесс изменения направления трендовой линии, а в завершение удаляет созданный объект.
Скрипт демонстрирует создание графического объекта "Треугольник" (OBJ_TRIANGLE) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты трёх точек привязки (вычисляемые по времени и цене баров в процентах от размеров окна), цвет, стиль и толщину линий, режим заливки, отображение на переднем или заднем плане, выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически изменяет положение всех трёх точек треугольника, визуализируя процесс изменения формы и положения фигуры, а в завершение удаляет созданный объект.
Скрипт демонстрирует создание графического объекта "Вертикальная линия" (OBJ_VLINE) на текущем графике MetaTrader 5 с заданными параметрами: имя, координата точки привязки по времени (вычисляемая в процентах от ширины окна графика в барах), цвет, стиль и толщина линии, отображение на переднем или заднем плане, выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает вертикальную линию по графику, визуализируя процесс её перемещения, а в завершение удаляет созданный объект.
Этот скрипт собирает все буферы встроенных индикаторов MQL5 и сохраняет их в CSV-файле для анализа
Скрипт демонстрирует создание графического объекта "Канал на линейной регрессии" (OBJ_REGRESSION) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты точек привязки (вычисляемые по процентному положению относительно размеров окна графика), цвет, стиль и толщину линий, режим заливки, отображение на переднем или заднем плане, выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает канал по горизонтали, визуализируя анимацию сдвига, а в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Канал стандартного отклонения" (OBJ_STDDEVCHANNEL) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты точек привязки (вычисляемые по процентному положению относительно размеров окна графика), цвет, стиль и толщину линий, режим заливки, отображение на переднем или заднем плане, выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает канал по горизонтали, визуализируя анимацию сдвига и расширения канала, а в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Трендовая линия" (OBJ_TREND) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты точек привязки (вычисляемые по времени и цене баров), цвет, стиль и толщину линии, отображение на переднем или заднем плане, выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает точки привязки линии по вертикали и горизонтали, визуализируя процесс изменения положения трендовой линии, а в завершение удаляет созданный объект.
Скрипт демонстрирует создание графических объектов "Текст" (OBJ_TEXT) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты точки привязки (вычисляемые по времени и цене баров), шрифт, размер и цвет текста, угол наклона, способ привязки, отображение на переднем или заднем плане, выделяемость, скрытие и приоритет. После размещения объектов на графике скрипт динамически добавляет надписи с ценами High и Low видимых баров, визуализируя процесс появления текста, а в завершение удаляет все созданные надписи.
Скрипт демонстрирует создание графического объекта "Прямоугольная метка" (OBJ_RECTANGLE_LABEL) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты (в пикселях относительно выбранного угла окна графика), размеры, цвет фона, тип и стиль границы, цвет и толщина рамки, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически изменяет размеры метки, визуализируя анимацию увеличения, затем поочерёдно меняет тип границы, а в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Прямоугольник" (OBJ_RECTANGLE) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты двух точек (по времени и цене, вычисляемым в процентах от размеров окна графика), цвет, стиль и толщина линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает точки привязки прямоугольника, изменяя их положение, визуализируя анимацию перемещения и обновления информации, а в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Вилы Эндрюса" (OBJ_PITCHFORK) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты трёх точек (по времени и цене, вычисляемым в процентах от размеров окна графика), цвет, стиль и толщина линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает точки привязки вил, изменяя их положение, визуализируя анимацию перемещения и обновления информации, а в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Текстовая метка" (OBJ_LABEL) на текущем графике MetaTrader 5 с заданными параметрами: имя, положение по координатам X и Y (в пикселях относительно выбранного угла окна графика), шрифт, размер и цвет текста, угол наклона, способ привязки, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает метку по окну графика, изменяя её положение и текст, визуализируя анимацию перемещения и обновления информации, а в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Веер Ганна" (OBJ_GANNFAN) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты двух опорных точек (в процентах от размеров окна графика по времени и цене), масштаб, направление тренда, цвет, стиль и толщину линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает одну из его опорных точек, визуализируя анимацию изменения фигуры, затем меняет направление веера, и в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Сетка Ганна" (OBJ_GANNGRID) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты двух опорных точек (в процентах от размеров окна графика по времени и цене), масштаб, направление тренда, цвет, стиль и толщину линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его опорные точки, визуализируя анимацию изменения фигуры, затем меняет направление сетки, и в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Линия Ганна" (OBJ_GANNLINE) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты двух опорных точек (в процентах от размеров окна графика по времени и цене), угол наклона, масштаб, цвет, стиль и толщину линии, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его первую опорную точку по вертикали, визуализируя анимацию изменения наклона линии, затем плавно изменяет угол наклона, и в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Горизонтальная линия" (OBJ_HLINE) на текущем графике MetaTrader 5 с заданными параметрами: имя, положение по вертикали (в процентах от высоты окна графика), цвет, стиль и толщину линии, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает линию по вертикали, визуализируя анимацию изменения её положения, и в завершение удаляет объект.
Скрипт демонстрирует создание графического объекта "Канал Фибоначчи" (OBJ_FIBOCHANNEL) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты трёх точек (в процентах от размеров окна графика по времени и цене), цвет, стиль и толщину линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его опорные точки, визуализируя анимацию изменения фигуры, а затем удаляет объект.
Скрипт демонстрирует создание графического объекта "Веер Фибоначчи" (OBJ_FIBOFAN) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты двух опорных точек (в процентах от размеров окна графика по времени и цене), цвет, стиль и толщину линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его опорные точки, визуализируя анимацию изменения фигуры, а затем удаляет объект.
Скрипт демонстрирует создание графического объекта "Временные зоны Фибоначчи" (OBJ_FIBOTIMES) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты двух опорных точек (в процентах от размеров окна графика по времени и цене), цвет, стиль и толщину линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его опорные точки, визуализируя анимацию изменения фигуры, а затем удаляет объект.
Скрипт демонстрирует создание графического объекта "Дуги Фибоначчи" (OBJ_FIBOARC) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты двух точек (в процентах от размеров окна графика по времени и цене), масштаб, форма дуг (полный эллипс или половина), цвет, стиль и толщину линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его опорные точки, визуализируя анимацию изменения фигуры, а затем удаляет объект.
Это скрипт для печати всех открытых сделок и их PnL в определенное время в истории.
Скрипт демонстрирует создание графического объекта "Уровни Фибоначчи" (OBJ_FIBO) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты двух точек (в процентах от размеров окна графика по времени и цене), цвет, стиль и толщину линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его опорные точки, визуализируя анимацию изменения фигуры, а затем удаляет объект.
Скрипт демонстрирует создание графического объекта "Расширение Фибоначчи" (OBJ_EXPANSION) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты трёх точек (в процентах от размеров окна графика по времени и цене), цвет, стиль и толщину линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его опорные точки, визуализируя анимацию изменения фигуры, а затем удаляет объект.