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

icon

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

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

Новая статья
последние | лучшие
Соединение MetaTrader 5 и Python: получение и отправка данных
Соединение MetaTrader 5 и Python: получение и отправка данных

Соединение MetaTrader 5 и Python: получение и отправка данных

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

Основы программирования на MQL5 - Строки

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

Случайные леса предсказывают тренды

В статье описано использование пакета Rattle для автоматического поиска паттернов, способных предсказывать "лонги" и "шорты" для валютных пар рынка Форекс. Статья будет полезна как новичкам, так и опытным трейдерам.
Нейросеть: Самооптимизирующийся советник
Нейросеть: Самооптимизирующийся советник

Нейросеть: Самооптимизирующийся советник

Возможно ли создать советник, который согласно командам кода автоматически оптимизировал бы критерии открытия и закрытия позиций с определенной периодичностью? Что произойдет, если реализовать в советнике нейросеть (многослойный персептрон), которая, будучи модулем, анализировала бы историю и оценивала стратегию? Можно дать коду команду на ежемесячную (еженедельную, ежедневную или ежечасную) оптимизацию нейросети с последующим продолжением работы. Таким образом возможно создать самооптимизирующийся советник.
Как в MetaTrader 5 быстро разработать и отладить торговую стратегию
Как в MetaTrader 5 быстро разработать и отладить торговую стратегию

Как в MetaTrader 5 быстро разработать и отладить торговую стратегию

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

Универсальный Зигзаг

Зигзаг — один из самых популярных индикаторов среди пользователей MetaTrader 5. В статье были проанализированы возможности создания различных вариантов Зигзага. В результате мы получаем универсальный индикатор с широкими возможностями для расширения функциональности, который удобно использовать при разработке торговых советников и других индикаторов.
Универсальный торговый эксперт: Торговые режимы стратегий (Часть 1)
Универсальный торговый эксперт: Торговые режимы стратегий (Часть 1)

Универсальный торговый эксперт: Торговые режимы стратегий (Часть 1)

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

Использование WinInet.dll для обмена данными между терминалами через Интернет

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

Универсальная регрессионная модель для прогнозирования рыночной цены

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

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

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

Автоматический поиск дивергенций и конвергенций

В статье рассматриваются всевозможные виды дивергенции: простая, скрытая, расширенная, тройная, четвертная дивергенции, конвергенция, дивергенции классов A, B и C. Создается универсальный индикатор для их поиска и отображения на графике.
Связь с MetaTrader 5 через именованные каналы без применения DLL
Связь с MetaTrader 5 через именованные каналы без применения DLL

Связь с MetaTrader 5 через именованные каналы без применения DLL

Перед многими разработчиками встает одинаковая проблема - как пробиться в песочницу торгового терминала без применения небезопасных DLL. Одним из простых и безопасных методов является использование стандартных именованных каналов (Named Pipes), которые работают как обычные файловые операции. Они позволяют организовать межпроцессорное клиент-серверное взаимодействие между программами. Посмотрите практические примеры на C++ и MQL5 в виде сервера, клиента, обмен данными между ними и замер производительности.
Теория адаптивных индикаторов и ее реализация в MQL5
Теория адаптивных индикаторов и ее реализация в MQL5

Теория адаптивных индикаторов и ее реализация в MQL5

В этой статье будут описаны принципы написания адаптивных индикаторов и их реализация в MQL5. В качестве примеров рассмотрены индикаторы Adaptive Cyber Cycle, Adaptive Center of Gravity и Adaptive RVI. Все эти индикаторы были впервые представлены в книге Джона Элерса "Cybernetic Analysis for Stocks and Futures".
preview
200 usd за вашу статью по алготрейдингу!

200 usd за вашу статью по алготрейдингу!

Напишите статью и внесите свой вклад в развитие алготрейдинга. Поделитесь своим опытом в торговле и программировании, и мы заплатим вам $200. К тому же публикация на популярном сайте MQL5.com — отличный шанс для личного продвижения в профессиональной среде. Вас прочитают тысячи трейдеров. Вы сможете обсудить свои идеи с единомышленниками, получить новый опыт и монетизировать свои знания.
MQL5 для "чайников": Как проектировать и конструировать классы объектов
MQL5 для "чайников": Как проектировать и конструировать классы объектов

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

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

Создание цифровых фильтров, не запаздывающих по времени

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

Random Decision Forest в обучении с подкреплением

Random Forest (RF) с применением бэггинга — один из самых сильных методов машинного обучения, который немного уступает градиентному бустингу. В статье делается попытка разработки самообучающейся торговой системы, которая принимает решения на основании полученного опыта взаимодействия с рынком.
Прибыльные алгоритмы на трейлинг стопах
Прибыльные алгоритмы на трейлинг стопах

Прибыльные алгоритмы на трейлинг стопах

Цель этой статьи - исследование на прибыльность алгоритмов с различными входами в трейд и выходами по трейлинг стопам. В качестве входов будут использоваться случайный и обратный входы. В качестве стопов будут использованы трейлинг стоп, трейлинг тэйк. В статье будут показаны прибыльные алгоритмы с доходностью порядка 30 процентов в год.
Разработка эксперта средствами UML
Разработка эксперта средствами UML

Разработка эксперта средствами UML

В статье рассматривается создание торгового советника с помощью графического языка UML, который используется для визуального моделирования объектно-ориентированных программных систем. Основным преимуществом такого подхода является визуализация работы проектировщика. Приведен пример проектирования структуры и свойств советника при помощи программы Software Ideas Modeler.
preview
Нейросети — это просто (Часть 5): Многопоточные вычисления в OpenCL

Нейросети — это просто (Часть 5): Многопоточные вычисления в OpenCL

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

Пример разработки спредовой стратегии на фьючерсах Московской биржи

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

Как открыть мир C# из MQL5 путем экспорта неуправляемого кода

В данной статье я представил различные методы взаимодействия между кодом, написанным на MQL5, и управляемым кодом на C#. Также я подготовил несколько примеров маршалинга структур MQL5 для C# и примеров вызова экспортированных функций DLL в скриптах на MQL5. Приведенные примеры могут служить основой для дальнейших исследований аспектов написания DLL в управляемом коде. Эта статья также открывает двери для использования в MetaTrader 5 множества библиотек, уже реализованных на C#.
preview
Комбинаторика и теория вероятностей для трейдинга (Часть I): Основы

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

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

Тестирование торговых стратегий на реальных тиках

В данной статье мы покажем результаты тестирования простой торговой стратегии в 3-х режимах: "OHLC на M1", "Все тики" и "Каждый тик на основе реальных тиков" с использованием записанных тиков из истории.
Защита MQL5-программ: пароли, ключи, ограничение по времени, удаленная проверка лицензий
Защита MQL5-программ: пароли, ключи, ограничение по времени, удаленная проверка лицензий

Защита MQL5-программ: пароли, ключи, ограничение по времени, удаленная проверка лицензий

Большинство разработчиков нуждаются в защите своих кодов. В этой статье представлены несколько различных способов защиты MQL5-программ - методы обеспечения лицензирования скриптов, советников и индикаторов. Рассмотрена парольная защита, генераторы ключей, привязка к торговым счетам, ограничение по времени и удаленная проверка лицензий при помощи MQL5-RPC.
MQL5 Cloud Network ускоряет расчеты
MQL5 Cloud Network ускоряет расчеты

MQL5 Cloud Network ускоряет расчеты

Сколько ядер на вашем домашнем компьютере? И сколько компьютеров вы можете задействовать для оптимизации торговой стратегии? Мы покажем как с помощью MQL5 Cloud Network ускорить расчеты и получить для этого вычислительные мощности по всему миру одним щелчком мыши. Выражение "Время - деньги" становится актуальнее с каждым годом, и не всегда мы можем позволить себе ждать окончания важных расчетов в течение десятков часов или даже дней.
100 лучших проходов оптимизации (Часть 1). Cоздание анализатора оптимизаций
100 лучших проходов оптимизации (Часть 1). Cоздание анализатора оптимизаций

100 лучших проходов оптимизации (Часть 1). Cоздание анализатора оптимизаций

В данной статье я расскажу, как создать приложение для отбора лучших проходов оптимизаций по нескольким возможным вариантам. Данное приложение умеет фильтровать и сортировать оптимизационные результаты по множеству коэффициентов. Проходы оптимизации записываются в базу данных, поэтому вы всегда можете отобрать новые параметры робота без необходимости переоптимизирования. Вдобавок ко всему это позволяет увидеть все проходов оптимизации на едином графике, рассчитывать параметрические VaR коэффициенты и строить график нормального распределения проходов и результатов торговли конкретного выделенного варианта сочетания коэффициентов. Также строятся графики некоторых из рассчитываемых коэффициентов в динамике, начиная с момента старта оптимизации (или с выбранной даты до другой выбранной даты).
preview
Нейросети — это просто (Часть 2): Обучение и тестирование сети

Нейросети — это просто (Часть 2): Обучение и тестирование сети

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

Создание тиковых индикаторов

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

Практическое применение нейросетей в трейдинге. Переходим к практике

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

Волны Вульфа

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

Пользовательские графические элементы управления. Часть 1. Создание простого элемента управления

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

Торговля на форекс и ее базовая математика

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

Сколько длится тренд?

В статье выбираются несколько способов идентификации тренда с целью определения его длительности по отношению к флэтовому состоянию рынка. В теории считается, что соотношение тренда к флэту составляет 30% на 70%. Это нам предстоит и проверить.
preview
Как заработать, выполняя заказы трейдеров в сервисе "Фриланс"

Как заработать, выполняя заказы трейдеров в сервисе "Фриланс"

MQL5 Фриланс - это онлайн-сервис, где разработчики за денежное вознаграждение пишут для трейдеров-заказчиков торговые приложения. Сервис успешно функционирует с 2010 года: на данный момент выполнено более 100 000 работ общей стоимостью в $7 млн. Как видим, деньги здесь крутятся вполне приличные.
Сетка и мартингейл: что это такое и как их использовать?
Сетка и мартингейл: что это такое и как их использовать?

Сетка и мартингейл: что это такое и как их использовать?

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

Перенос индикаторов из MQL4 в MQL5

Статья посвящена особенностям переноса в MQL5 ценовых конструкций, используемых в индикаторах, написанных на MQL4. Для упрощения переноса индикаторных расчетов из MQL4 в MQL5 предложена библиотека функций mql4_2_mql5.mqh, применение которой рассмотрено на примере переноса индикаторов MACD, Stochastic и RSI.
Новый подход к интерпретации классической и обратной дивергенции
Новый подход к интерпретации классической и обратной дивергенции

Новый подход к интерпретации классической и обратной дивергенции

В статье рассмотрены классический метод построения дивергенции и отличный от него способ интерпретации. Этот новый метод интерпретации положен в основу торговой стратегии, которая описана в статье.
preview
Практическое применение нейросетей в трейдинге. Python (Часть I)

Практическое применение нейросетей в трейдинге. Python (Часть I)

В данной статье мы поэтапно разберем вариант реализации торговой системы на основе программирования глубоких нейронных сетей на Python. Для этого мы используем библиотеку машинного обучения TensorFlow, разработанной компанией Google. А для описания нейронных сетей используем библиотеку Keras.
Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы
Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы

Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы

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