Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Получи доступ к CodeBase из терминала MetaTrader 5
Не нашёл подходящий код? Закажи его в разделе Фриланс
Как написать эксперт или индикатор

Скрипты для MetaTrader 5 с исходными кодами

icon

Скрипты служат для выполнения однократного действия в MetaTrader 5 с помощью программы на MQL5, после завершения работы они сразу же удаляются с графика. Примеры таких задач - выгрузить историю торговли, создать отчет и отправить его по почте, загрузить и обработать данные из файла. Скрипты также могут использоваться для создания графического интерфейса или быстрого выполнения однотипных торговых операций, например, срочно закрыть все позиции.

Представленные скрипты можно свободно скачать и запустить в MetaTrader 5. Библиотека скриптов также доступна прямо из среды разработки MetaEditor, используйте их для изучения программирования на MQL5.

Добавить код
последние | лучшие

Диагностический скрипт, который сравнивает значения 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. Одна из его ключевых задач - продемонстрировать эффективную организацию файлов проекта, что очень важно для разработчиков, работающих над крупными системами или стремящихся создавать переносимые, самодостаточные проекты. Концепция может быть расширена и дополнена дополнительными идеями для поддержки более сложных рабочих процессов разработки.

Конвертер вербализации NeuroPro для 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 с заданными параметрами: имя, координаты трёх точек (в процентах от размеров окна графика по времени и цене), цвет, стиль и толщину линий, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его опорные точки, визуализируя анимацию изменения фигуры, а затем удаляет объект.

Скрипт демонстрирует создание графического объекта "Событие" (OBJ_EVENT) на текущем графике MetaTrader 5 с заданными параметрами: имя, дата (в процентах от ширины окна графика в барах), текст, цвет, толщина точки, режим отображения (передний/задний план), выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически перемещает его по временной шкале, визуализируя анимацию, а затем удаляет объект.

Скрипт демонстрирует создание графического объекта "Эллипс" (OBJ_ELLIPSE) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты точек (в процентах от размеров окна), цвет, стиль и толщину линий, режим заливки, порядок отображения, выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически изменяет положение его опорных точек, визуализируя анимацию, а затем удаляет объект.

Эта функция выполняет основную логику открытия сделки. Рассчитывает цену открытия, уровни тейк-профита и стоп-лосса на основе информации о символе и параметров, предоставленных пользователем. Подготавливает торговый запрос (MqlTradeRequest) с необходимой информацией, такой как символ, объем, тип ордера, отклонение, комментарий, магическое число и т. д. Вызывает функцию OrderSend для отправки запроса на операцию и получения результата. Функция SetTypeFillingBySymbol: определяет тип заполнения ордера (Fill или Kill, Immediate или Cancel, или Return) на основе политики заполнения символа. Функция GetMinTradeLevel: рассчитывает минимальный операционный уровень на основе уровня заморозки и уровня остановки символа. Корректирует минимальный уровень, чтобы убедиться, что он находится в определенных пределах, и возвращает результат.

Скрипт демонстрирует создание графического объекта "Циклические линии" (OBJ_CYCLES) на текущем графике с заданными параметрами (имя, координаты точек привязки, цвет, стиль, толщина, порядок отображения, выделяемость, скрытие и др.), размещает объект на графике, динамически перемещает его точки привязки, а затем удаляет после завершения работы.

Скрипт демонстрирует создание графического объекта "Поле ввода" (OBJ_EDIT) на текущем графике с заданными параметрами (имя, текст, шрифт, размер, цвет, положение, размеры, порядок отображения, выделяемость, скрытие и др.), размещает объект на графике, динамически изменяет его размеры и текст, а затем удаляет после завершения работы.

Скрипт демонстрирует создание графического объекта "Корректирующая волна Эллиота" (OBJ_ELLIOTWAVE3) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты точек (в процентах от размеров окна), степень волны, цвет, стиль и толщину линий, порядок отображения, выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически изменяет положение его опорных точек, визуализируя анимацию, а затем удаляет объект.

Скрипт демонстрирует создание графического объекта "Импульсная волна Эллиота" (OBJ_ELLIOTWAVE5) на текущем графике MetaTrader 5 с заданными параметрами: имя, координаты точек (в процентах от размеров окна), степень волны, цвет, стиль и толщину линий, порядок отображения, выделяемость, скрытие и приоритет. После размещения объекта на графике скрипт динамически изменяет положение его опорных точек, визуализируя анимацию, а затем удаляет объект.

123456789