Статьи по программированию и использованию торговых роботов на языке MQL5

icon

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

В статьях предлагаются приемы программирования, математические идеи по обработке данных, советы по созданию и заказу торговых роботов.

Новая статья
последние | лучшие
Плеер торговли на основе истории сделок
Плеер торговли на основе истории сделок

Плеер торговли на основе истории сделок

Плеер торговли. Всего два слова и пояснения не нужны. В голове всплывают мысли об удобном ящичке с кнопками. Нажал одну кнопку - играет, передвинул рычажок - изменилась скорость воспроизведения. В реальности всё почти так и есть. В данной статье я хочу представить разработку, которая проигрывает торговую историю почти как в реал-тайме. В статье так же будут затронуты вопросы, проясняющие некоторые нюансы ООП, работу с индикаторами, управления чартами.
Роль статистических распределений в работе трейдера
Роль статистических распределений в работе трейдера

Роль статистических распределений в работе трейдера

Данная статья является логическим продолжением моей статьи "Статистические распределения вероятностей в MQL5", в которой были представлены классы для работы с некоторыми статистическими теоретическими распределениями. Теперь, когда есть теоретическая база, я предлагаю непосредственно перейти к выборкам реальных данных и попробовать получить информационную пользу от этой базы.
Мастер MQL5: Новая версия
Мастер MQL5: Новая версия

Мастер MQL5: Новая версия

Статья описывает возможности, появившиеся в новой версии Мастера MQL5. Изменения в архитектуре сигналов позволяют теперь создавать торговые роботы на основе комбинации различных рыночных моделей. На конкретном примере рассматривается процедура интерактивного создания готового к торговле эксперта.
Как заказать написание советника и получить желаемый результат
Как заказать написание советника и получить желаемый результат

Как заказать написание советника и получить желаемый результат

Как правильно написать Техническое Задание? Что можно и чего нельзя ожидать от программиста при заказе советника или индикатора? Как нужно вести диалог, на какие моменты обратить внимание? Статья дает ответы на эти и многие другие вопросы, которые зачастую неочевидны для многих без самостоятельного набивания шишек.
Фильтрация сигналов на основе статистических данных о корреляции цен
Фильтрация сигналов на основе статистических данных о корреляции цен

Фильтрация сигналов на основе статистических данных о корреляции цен

Есть ли связь между поведением цены в прошлом и будущими трендами? Почему сегодня цена повторяет характер движения вчерашнего дня? Возможно ли использовать статистические данные как метод прогнозирования динамики цен? Ответ есть, и он положительный. Если вы ещё сомневаетесь, эта статья для вас. Я расскажу о том, как создать рабочий фильтр для торговой системы на MQL5, обнаружив интересную закономерность в изменении цен.
Торговый эксперт по книге Б. Вильямса "Новые измерения в биржевой торговле"
Торговый эксперт по книге Б. Вильямса "Новые измерения в биржевой торговле"

Торговый эксперт по книге Б. Вильямса "Новые измерения в биржевой торговле"

В данной статье я расскажу о создании торгового эксперта по книге Б. Вильямса "Новые измерения в биржевой торговле" для платформы MetaTrader 5 на языке MQL5. Сама стратегия хорошо известна и до сих пор вызывает споры среди трейдеров о ее работоспособности. В статье рассматриваются торговые сигналы системы Б. Вильямса, особенности их реализации и результаты тестирования на исторических данных.
Реализация индикаторов в виде классов на примере Zigzag и ATR
Реализация индикаторов в виде классов на примере Zigzag и ATR

Реализация индикаторов в виде классов на примере Zigzag и ATR

Споры о том, какой способ расчета индикаторов является оптимальным, идут постоянно. Где лучше вычислять значения индикатора - в самом индикаторе или встроить всю логику в код самого эксперта, который его использует? В статье рассматривается один из вариантов переноса кода пользовательского индикатора iCustom непосредственно в код эксперта или скрипта с оптимизацией расчетов и моделированием значения prev_calculated.
Мастер MQL5: Как написать свой модуль управления капиталом и рисками
Мастер MQL5: Как написать свой модуль управления капиталом и рисками

Мастер MQL5: Как написать свой модуль управления капиталом и рисками

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

Реализация мультивалютного режима в MetaTrader 5

Интерес к мультивалютному анализу и мультивалютной торговле существует давно. Но только с выпуском в свет терминала MetaTrader 5 и языка программирования MQL5 появилась возможность реализации полноценного мультивалютного режима. В данной статье предложен способ, позволяющий проводить анализ и обработку всех поступающих тиков по множеству финансовых инструментов. В качестве иллюстрации рассмотрен мультивалютный индикатор RSI для индекса доллара USDx.
Мастер MQL5: Как написать свой модуль торговых сигналов
Мастер MQL5: Как написать свой модуль торговых сигналов

Мастер MQL5: Как написать свой модуль торговых сигналов

Генератор торговых стратегий Мастера MQL5 значительно упрощает проверку торговых идей. В статье рассказывается о том, как написать и подключить в Мастер MQL5 свой собственный класс торговых сигналов с реализацией сигналов по пересечению ценой скользящей средней, рассматривается структура и формат описания созданного класса для Мастера MQL5.
Мастер MQL5: Создание эксперта без программирования
Мастер MQL5: Создание эксперта без программирования

Мастер MQL5: Создание эксперта без программирования

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

Параллельные вычисления в MetaTrader 5 штатными средствами

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

Как использовать торговые классы Стандартной библиотеки при написании советника

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

Создание интерактивного советника для полуавтоматической торговли с заданным риском

Некоторые трейдеры используют автоматизированные системы торговли, другие совмещают автоматическую торговлю с ручной, основанной на показаниях нескольких индикаторов. Я принадлежу ко второй группе, поэтому возникла необходимость в интерактивном инструменте для динамической оценки рисков и ценовых уровней непосредственно с графика. В данной статье мы представим способ реализации интерактивного советника для полуавтоматической торговли с заданным уровнем соотношения прибыль/риск (Reward/Risk ratio).
Копирование торговли из MetaTrader 5 в MetaTrader 4
Копирование торговли из MetaTrader 5 в MetaTrader 4

Копирование торговли из MetaTrader 5 в MetaTrader 4

Можно ли в MetaTrader 5 торговать на реале уже сегодня? Как организовать такую торговлю? Приводится теория этих вопросов и рабочие коды, при помощи которых реализуется копирование сделок из терминала MetaTrader 5 в MetaTrader 4. Статья будет полезна как разработчикам советников, так и практикующим трейдерам.
MQL5: Руководство по тестированию и оптимизации советников
MQL5: Руководство по тестированию и оптимизации советников

MQL5: Руководство по тестированию и оптимизации советников

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

Обработчик события "новый бар"

Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
Контроль наклона кривой баланса во время работы торгового эксперта
Контроль наклона кривой баланса во время работы торгового эксперта

Контроль наклона кривой баланса во время работы торгового эксперта

Найти правила для торговой системы и запрограммировать их в советнике - это еще полбеды. Необходимо каким-то образом поправлять работу эксперта в процессе накопления результатов торговли. В статье описывается один из подходов, позволяющий улучшить характеристики торгового эксперта при помощи создания обратной связи, измеряющей наклон кривой баланса депозита.
Как быстро написать советник для Automated Trading Championship 2010
Как быстро написать советник для Automated Trading Championship 2010

Как быстро написать советник для Automated Trading Championship 2010

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

20 торговых сигналов на MQL5

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

Прототип торгового робота

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

Применение функции TesterWithdrawal() для моделирования снятия прибыли

В статье рассмотрено применение функции TesterWithDrawal() для оценки рисков в торговых системах, выполняющих снятие определенной части средств в процессе работы. Наряду с этим показано, как применение данной функции влияет на алгоритм расчета просадки по средствам в тестере. Использование данной функции может быть полезным при оптимизации параметров вашего советника.
Как создать свой Trailing Stop
Как создать свой Trailing Stop

Как создать свой Trailing Stop

Основное правило трейдера - дай прибыли расти, обрезай убытки! В статье рассматривается один из основных технических приемов, позволяющий следовать этому правилу - перемещение уровня защитной остановки (уровня Stoploss) вслед за растущей прибылью позиции, другими словами - скользящий стоп или трейлинг стоп (trailingstop). Приводится пошаговая процедура создания класса для трейлинг стопа на индикаторах SAR и NRTR, который каждый желающий сможет за 5 минут встроить в своего эксперта или использовать независимо для управления позициями на своем счете.
Ограничения и проверки в экспертах
Ограничения и проверки в экспертах

Ограничения и проверки в экспертах

Можно ли торговать этим инструментом в понедельник? Хватит ли денег на открытие позиции? Какой размер убытка мы получим, если сработает Stop Loss? Как ограничить количество отложенных ордеров? Была ли выполнена торговая операция на этом баре или это было на предыдущем? Если торговый робот не может сделать подобные проверки, то любая прибыльная торговая система может превратиться в проигрышную. В этой статье показаны примеры проверок, которые пригодятся в любом эксперте.
Конкурс советников внутри советника
Конкурс советников внутри советника

Конкурс советников внутри советника

С помощью виртуальной торговли можно создать адаптивный советник, который будет выполнять включение/отключение сделок на реальном рынке. Соберите несколько стратегий в одном эксперте! Ваш мультисистемный советник будет автоматически выбирать торговую стратегию, которой стоит торговать на реальном рынке по результатам успешности виртуальных сделок. Такой метод позволяет снизить просадку и увеличить прибыльность Вашей работы на рынке. Экспериментируйте и делитесь результатами с другими! Думаю, будет интересно многим узнать о вашем портфеле стратегий.
Оптимальный метод подсчета объема совокупной позиции по заданному магическому номеру
Оптимальный метод подсчета объема совокупной позиции по заданному магическому номеру

Оптимальный метод подсчета объема совокупной позиции по заданному магическому номеру

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

Как заказать торгового робота на MQL5 и MQL4

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

Пошаговое руководство по написанию MQL5-советников для начинающих

Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
Обработка торговых событий в эксперте при помощи функции OnTrade()
Обработка торговых событий в эксперте при помощи функции OnTrade()

Обработка торговых событий в эксперте при помощи функции OnTrade()

В 5-ой версии языка MQL появилась масса нововведений, в том числе работа с событиями различных типов (события таймера, торговые события, пользовательские и т.д.). Возможность обработки событий позволяет создавать совершенно новый тип программ для автоматического и полуавтоматического трейдинга. В этой статье мы рассмотрим торговые события и напишем для функции OnTrade() код, который будет обрабатывать событие Trade.
Virtual Order Manager для управления ордерами в позициях терминала MetaTrader 5
Virtual Order Manager для управления ордерами в позициях терминала MetaTrader 5

Virtual Order Manager для управления ордерами в позициях терминала MetaTrader 5

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

Пример разработки торговой системы, основанной на различиях часовых поясов на разных континентах

Листая страницы Интернета, можно найти множество стратегий, которые вам советуют делать то или иное. Давайте заглянем внутрь и посмотрим на сам процесс составления стратегии, основанной на различиях часовых поясов на разных континентах.
Создание активных панелей управления  на MQL5 для торговли
Создание активных панелей управления  на MQL5 для торговли

Создание активных панелей управления на MQL5 для торговли

Статья посвящена разработке активных панелей управления на MQL5. Управление элементами интерфейса осуществляется при помощи механизма обработки событий, есть возможность гибкой настройки свойств элементов управления. Реализована работа с позициями а также возможность выставления, модификации и удаления рыночных и отложенных ордеров.
MQL5 для "чайников": Как проектировать и конструировать классы объектов
MQL5 для "чайников": Как проектировать и конструировать классы объектов

MQL5 для "чайников": Как проектировать и конструировать классы объектов

На примере создания программы визуального программирования показано, как проектировать и конструировать классы на MQL5. Статья предназначена для начинающих разработчиков приложений МТ5. Предлагается простая и понятная технология создания собственных классов без глубокого погружения в теорию объектно-ориентированного программирования.
Пример написания игры "Змейка" на MQL5
Пример написания игры "Змейка" на MQL5

Пример написания игры "Змейка" на MQL5

В статье рассматривается пример написания игры "Змейка". Создание игр в 5-ой версии языка MQL стало возможным, в первую очередь, благодаря обработке событий. Поддержка объектно-ориентированного программирования значительно упрощает данный процесс. Также вы узнаете особенности обработки событий, примеры работы со стандартной библиотекой MQL5 и способы периодического вызова функций.
MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах
MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах

MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах

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

Мой первый "грааль"

Рассматриваются наиболее распространённые ошибки, приводящие начинающих программистов к созданию "сверхприбыльных" при тестировании торговых систем. Приводятся примеры экспертов, показывающих на тестере фантастические результаты, а в реальной торговле приводящих к убыткам.
MQL4  как инструмент трейдера, или Advanced Technical Analysis
MQL4  как инструмент трейдера, или Advanced Technical Analysis

MQL4 как инструмент трейдера, или Advanced Technical Analysis

Торговля на рынке - это в первую очередь расчет вероятностей. А поговорка «лень – двигатель прогресса» раскрывает все краски расцвета технических индикаторов и торговых систем. И получается, что большой процент начинающих трейдеров изучают уже готовые теории торговли. Но, к сожалению или к счастью, не все законы движения рынка ещё открыты, а инструменты для анализа ценовых движений в основном существуют в виде тех самых реализованных технических индикаторов, математических и статистических пакетов. Огромное спасибо Билу Вильямсу, за его вклад в теорию движения рынков. Но, наверное, не следует останавливаться на достигнутом.
Генетические алгоритмы в MetaTrader 4. Сравнение с прямым перебором оптимизатора
Генетические алгоритмы в MetaTrader 4. Сравнение с прямым перебором оптимизатора

Генетические алгоритмы в MetaTrader 4. Сравнение с прямым перебором оптимизатора

В статье проводится сравнение скорости и результатов оптимизации советников с использованием генетических алгоритмов и прямым перебором.
Синхронизация работы экспертов, скриптов и индикаторов
Синхронизация работы экспертов, скриптов и индикаторов

Синхронизация работы экспертов, скриптов и индикаторов

Рассматриваются необходимость и общие принципы построения программного комплекса, содержащего эксперт, скрипт и индикатор.
Хранение и отображение информации
Хранение и отображение информации

Хранение и отображение информации

Статья посвящена удобным и практичным методам хранения и отображения информации. Здесь рассматриваются альтернативы стандартному логфайлу терминала и функции Comment().