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

icon

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

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

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

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

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

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

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

Работа по Накоплению/Распределению и что из этого можно сделать

Индикатор Накопления/Распределения A/D имеет одно интересное свойство - пробитие трендовой линии, построенной на графике данного индикатора с определённой долей вероятности говорит нам о скором пробое линии тренда на графике цены. Данная статья будет полезна и интересна людям, только начинающим программировать на MQL4, поэтому я постарался изложить всё в наиболее доступной для понимания форме и использовать самые простые конструкции построения кода.
Создание ручных торговых стратегий с использованием нечеткой логики
Создание ручных торговых стратегий с использованием нечеткой логики

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

В статье рассматривается возможность улучшения ручных торговых стратегий с помощью теории нечетких множеств. В качестве примера пошагово описан поиск стратегии и подбор ее параметров, а затем — применение нечеткой логики для размытия слишком формальных критериев входа в рынок. Таким образом, после модификации стратегии мы получаем гибкие условия открытия позиции, более оптимально реагирующие на рыночную ситуацию.
Секвента ДеМарка (TD SEQUENTIAL) с использованием искусственного интеллекта
Секвента ДеМарка (TD SEQUENTIAL) с использованием искусственного интеллекта

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

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

Исследование статистики повторяемости направления свечей

Цель статьи - попытаться предсказать поведение рынка на основе статистики повторяемости направления свечей в определенные промежутки времени.
Мартингейл как основа долгосрочной торговой стратегии
Мартингейл как основа долгосрочной торговой стратегии

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

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

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

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

Предсказание финансовых временных рядов

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

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

Статья показывает возможности и потенциал хорошо известного математического метода в альянсе с образным мышлением и не совсем обычным взглядом на рынок. Материал призван, с одной стороны, привлечь внимание широкого круга читателей, поскольку способен привести творческих людей к переосмыслению самой парадигмы трейдинга. А с другой стороны - послужить импульсом к альтернативным разработкам и реализациям программного кода для инструментального арсенала анализа и прогнозов.
Торговля по каналам Дончиана
Торговля по каналам Дончиана

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

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

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

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

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

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

Текстовые файлы для хранения входных параметров советников, индикаторов и скриптов

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

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

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

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

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

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

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

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

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

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

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

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

В этой статье создадим первый и самый главный элемент графических интерфейсов — форму для элементов управления. К этой форме можно будет присоединять множество различных элементов управления в любом расположении и в любых комбинациях.
Универсальный торговый эксперт: Пользовательские стратегии и вспомогательные торговые классы (Часть 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. Управление элементами интерфейса осуществляется при помощи механизма обработки событий, есть возможность гибкой настройки свойств элементов управления. Реализована работа с позициями а также возможность выставления, модификации и удаления рыночных и отложенных ордеров.
Оффлайновые графики и новый MQL4
Оффлайновые графики и новый MQL4

Оффлайновые графики и новый MQL4

В новом MQL4 изменился формат хранения исторических данных и появилась соответствующая структура MqlRates для удобного хранения значений Time, Open, Low, High, Close и Volume. За многие годы трейдеры написали на MQL4 свои программы, которые собирают и записывают собственные данные в HST-файлы для создания оффлайновых графиков. Каждый трейдер может быть уверен - все ранее скомпилированные EX4-файлы будут работать в новом терминале MetaTrader 4 так же, как и раньше.
Рецепты нейросетей
Рецепты нейросетей

Рецепты нейросетей

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

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

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

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

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

Торговля по уровням ДиНаполи

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

Наивный байесовский классификатор для сигналов набора индикаторов

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

Нечеткая логика в торговых стратегиях

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