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

icon

Изучайте язык программирования торговых стратегий MQL5 по опубликованным здесь статьям, большая часть которых написана вами - членами сообщества. Все статьи разделены на категории для быстрого поиска ответа по тому или иному аспекту программирования: "Интеграция", "Тестер", "Торговые стратегии" и многое другое.

Следите за новыми публикациями и участвуйте в их обсуждении на форуме!

Новая статья
последние | лучшие
MQL5: Анализ и обработка отчетов Commodity Futures Trading Commission (CFTC) в MetaTrader 5
MQL5: Анализ и обработка отчетов Commodity Futures Trading Commission (CFTC) в MetaTrader 5

MQL5: Анализ и обработка отчетов Commodity Futures Trading Commission (CFTC) в MetaTrader 5

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

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

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

Доктор Трейдлав, или Как я перестал беспокоиться и написал самообучающийся эксперт

Чуть более года назад joo дал нам в своей статье "Генетические алгоритмы - это просто!" инструмент для реализации Генетического алгоритма на MQL5. Воспользуемся же этим инструментом и напишем эксперт, который при наступлении каких-то граничных условий произведет Генетическую оптимизацию своих же параметров...
Мастер MQL5: Как научить эксперта открывать отложенные ордера по любым ценам
Мастер MQL5: Как научить эксперта открывать отложенные ордера по любым ценам

Мастер MQL5: Как научить эксперта открывать отложенные ордера по любым ценам

В статье рассмотрен способ модификации кода модуля торговых сигналов для реализации функционала выставления отложенных ордеров на произвольном расстоянии от текущей цены: это может быть цена Close или Open предыдущего бара, а может быть значение скользящей средней. Вариантов множество – главное, теперь цену открытия отложенного ордера можно выставлять любую. Данная статья станет полезной для тех, кто использует стратегии торговли отложенными ордерами.
Цветные индикаторы - создание и применение
Цветные индикаторы - создание и применение

Цветные индикаторы - создание и применение

Речь в данной статье пойдет о возможностях для создания цветных индикаторов и раскрашивания индикаторов уже существующих. С переходом на MQL5 появилась возможность представлять информацию в удобном для глаза виде. Теперь не обязательно накидывать кучу графиков с разными индикаторами и с линейкой высматривать уровни RSI и Stochastic, можно просто раскрасить свечи в разные цвета в зависимости от показаний индикаторов.
Реверсирование: снижаем максимальную просадку и тестируем другие рынки
Реверсирование: снижаем максимальную просадку и тестируем другие рынки

Реверсирование: снижаем максимальную просадку и тестируем другие рынки

В этой статье мы продолжим рассматривать тему реверсирования. Мы попробуем снизить максимальную просадку по балансу до приемлемого уровня на ранее рассмотренных инструментах. Проверим, насколько при этом снизится полученная прибыль. А также проверим, как работает реверсирование на других рынках: фондовом, сырьевом, индексах и ETF, аграрном. Внимание, статья содержит очень много картинок!
preview
Нейросети — это просто (Часть 3): Сверточные сети

Нейросети — это просто (Часть 3): Сверточные сети

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

Анализ основных характеристик временных рядов

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

Приобщаемся к объектно-ориентированному программированию в MQL5

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

Как быстро добавить панель управления к индикатору и советнику

Вы хотите добавить к своему индикатору или советнику графическую панельку для удобного и быстрого управления, но не знаете, как это сделать? В этой статье шаг за шагом я покажу как "прикрутить" панель диалога со входными параметрами к вашей MQL4/MQL5-программе.
preview
Комбинаторика и теория вероятностей для трейдинга (Часть I): Основы

Комбинаторика и теория вероятностей для трейдинга (Часть I): Основы

В данной серии статей будем искать практическое применение теории вероятностей для описания процесса торговли и ценообразования. В первой статье мы познакомимся с основами комбинаторики и теории вероятностей, и разберем первый пример применения фракталов в рамках теории вероятности.
preview
Как заработать $1 000 000 в алготрейдинге? На сервисах MQL5.com!

Как заработать $1 000 000 в алготрейдинге? На сервисах MQL5.com!

Каждый трейдер приходит на рынок с целью заработать свой первый миллион долларов. Как это сделать без большого риска и не имея стартового капитала? MQL5 сервисы дают такие возможности разработчикам и трейдерам в любой стране мира.
Секвента ДеМарка (TD SEQUENTIAL) с использованием искусственного интеллекта
Секвента ДеМарка (TD SEQUENTIAL) с использованием искусственного интеллекта

Секвента ДеМарка (TD SEQUENTIAL) с использованием искусственного интеллекта

В этой статье я расскажу, как с помощью "скрещивания" одной очень известной стратегии и нейронной сети можно успешно заниматься трейдингом. Речь пойдет о стратегии Томаса Демарка "Секвента" с применением системы искусственного интеллекта. Работать будем ТОЛЬКО по первой части стратегии, используя сигналы "Установка" и "Пересечение".
Универсальный осциллятор с графическим интерфейсом
Универсальный осциллятор с графическим интерфейсом

Универсальный осциллятор с графическим интерфейсом

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

Мартингейл как основа долгосрочной торговой стратегии

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

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

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

Торговля по каналам Дончиана

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

Быстрое тестирование торговых идей на графике

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

Создаем кроссплатформенный советник-сеточник (гридер)

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

Индикатор от индикатора в MQL5

При написании индикатора, который использует краткую форму вызова функции OnCalculate(), можно упустить то обстоятельство, что индикатор может рассчитываться не только на ценовых данных, но и на данных другого индикатора (встроенного или пользовательского - не имеет значения). Вы хотите улучшить индикатор, чтобы он правильно считался не только на ценовых данных, но и значениях другого индикатора? В этой статье мы по шагам пройдем все необходимые этапы такой модификации и выведем дополнительные полезные правила для правильного написания индикатора.
Графические интерфейсы I: Форма для элементов управления (Глава 2)
Графические интерфейсы I: Форма для элементов управления (Глава 2)

Графические интерфейсы I: Форма для элементов управления (Глава 2)

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

Прогнозирование временных рядов при помощи экспоненциального сглаживания (окончание)

В данной статье предпринимается попытка модернизации созданного ранее индикатора и кратко рассматривается метод оценки доверительных интервалов прогноза с помощью бутстрапа и квантилей. Приводится созданный в результате написания статьи прогнозирующий индикатор и скрипты, используемые для оценки погрешностей прогнозирования.
Глубокие нейросети (Часть IV). Создание, обучение и тестирование модели нейросети
Глубокие нейросети (Часть IV). Создание, обучение и тестирование модели нейросети

Глубокие нейросети (Часть IV). Создание, обучение и тестирование модели нейросети

В статье рассматриваются новые возможности пакета darch (v.0.12.0). Описаны результаты обучения глубокой нейросети с различными типами данных, структурой и последовательностью обучения. Проанализированы результаты.
Как составить Техническое задание при заказе индикатора
Как составить Техническое задание при заказе индикатора

Как составить Техническое задание при заказе индикатора

Трейдеры ищут закономерности в поведении рынка, указывающие на благоприятные моменты для совершения торговых сделок. Чаще всего первым шагом при разработке торговой системы является создание технического индикатора, который помогает увидеть на графике цен нужную ему информацию. Статья поможет вам составить Техническое задание для заказа индикатора во Фрилансе.
Универсальный торговый эксперт: Пользовательские стратегии и вспомогательные торговые классы (Часть 3)
Универсальный торговый эксперт: Пользовательские стратегии и вспомогательные торговые классы (Часть 3)

Универсальный торговый эксперт: Пользовательские стратегии и вспомогательные торговые классы (Часть 3)

В этой статье мы продолжим описание алгоритмов торгового движка CStrategy. В третьей части серии статей подробно разобраны примеры написания конкретных торговых стратегий с использованием данного подхода. Также большое внимание уделено вспомогательным алгоритмам — системе логирования эксперта и доступу к биржевым данным с помощью обычного индексатора (Close[1], Open[0] и т.п.).
Жидкий график
Жидкий график

Жидкий график

Как выглядит часовой график, у которого бары открываются со второй или с пятой минуты часа? Как выглядит перерисовывающийся график, у которого времена открытия баров изменяются каждую минуту? Какие преимущества даёт торговля по таким графикам? Ответы на эти вопросы вы найдёте в данной статье.
Работа с сокетами в MQL, или Как стать провайдером сигналов
Работа с сокетами в MQL, или Как стать провайдером сигналов

Работа с сокетами в MQL, или Как стать провайдером сигналов

Сокеты… Что вообще сейчас в нашем информационном мире может без них существовать? Впервые появившиеся в 1982 г. и практически не изменившиеся до настоящего времени, они исправно работают на нас каждую секунду. Это основа сети, нервные окончания нашей Matrix, в которой мы живем.
Копирование торговли из MetaTrader 5 в MetaTrader 4
Копирование торговли из MetaTrader 5 в MetaTrader 4

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

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

AutoElliottWaveMaker - инструмент полуавтоматической разметки волн Эллиотта в MetaTrader 5

В данной статье описывается программа AutoElliottWaveMaker - первая разработка по анализу волн Эллиотта в MetaTrader 5, которая сочетает в себе функции ручной и автоматической разметки волн. Инструмент анализа волн полностью написан на языке MQL5 и не включает сторонние библиотеки dll. Это еще раз подтверждает тот факт, что на MQL5 можно (и нужно) создавать сложные и интересные программы.
Торговая система ДиНаполи
Торговая система ДиНаполи

Торговая система ДиНаполи

В статье подробно рассматривается торговая система с использованием уровней Фибоначчи, которую разработал и описал Джо ДиНаполи. Разъясняются основные понятия и суть системы, дается иллюстрация на примере несложного индикатора.
Создание и тестирование пользовательских символов в MetaTrader 5
Создание и тестирование пользовательских символов в MetaTrader 5

Создание и тестирование пользовательских символов в MetaTrader 5

Возможность создавать собственные символы открывает новые горизонты в разработке торговых систем и анализе любых финансовых рынков. Теперь трейдеры могут строить графики и тестировать торговые стратегии на неограниченном количестве финансовых инструментов.
Генератор торговых сигналов пользовательского индикатора
Генератор торговых сигналов пользовательского индикатора

Генератор торговых сигналов пользовательского индикатора

Как сделать генератор торговых сигналов основанный на пользовательском индикаторе. Как создать пользовательский индикатор. Как получить доступ к данным пользовательского индикатора. Зачем нужна конструкция IS_PATTERN_USAGE(0) и model 0.
Разворотные паттерны: Тестируем паттерн "Двойная вершина/дно"
Разворотные паттерны: Тестируем паттерн "Двойная вершина/дно"

Разворотные паттерны: Тестируем паттерн "Двойная вершина/дно"

В практике торговли трейдеры часто ищут точки разворота трендов и тенденций, так как именно в момент зарождения тренда цена имеет наибольший потенциал движения. Именно поэтому, в практике технического анализа рассматриваются различные разворотные паттерны. Одним из наиболее известных и часто применяемых паттернов является двойная вершина/дно. В данной статье предлагается вариант машинного обнаружения паттерна, а также тестируется его доходность на исторических данных.
Взаимодействие MetaTrader 5 и MATLAB
Взаимодействие MetaTrader 5 и MATLAB

Взаимодействие MetaTrader 5 и MATLAB

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

Применение метода Монте-Карло для оптимизации торговых стратегий

Перед запуском робота на торговом счете мы обычно тестируем и оптимизируем его на истории котировок. И тут возникает резонный вопрос: как прошлые результаты на истории могут помочь нам в будущем? В статье показано применение метода Монте-Карло для построения собственных критериев оптимизации торговых стратегий. Кроме того, рассмотрены критерии устойчивости советника.
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. Протестированы результаты его работы и сделаны выводы.
preview
Почти конструктор для создания советника

Почти конструктор для создания советника

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

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

В статье рассматривается идеология и методика построения рекомендательной системы для оперативной торговли на основе объединения возможностей прогнозирования с помощью сингулярного спектрального анализа (ССА) и важного метода машинного обучения, основанного на теореме Байеса.