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

icon

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

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

Новая статья
последние | лучшие
preview
Градиентный бустинг в задачах трансдуктивного и активного машинного обучения

Градиентный бустинг в задачах трансдуктивного и активного машинного обучения

В данной статье вы познакомитесь с методами активного машинного обучения на реальных данных, узнаете какие плюсы и минусы они имеют. Возможно, эти методы займут свое место в вашем арсенале моделей машинного обучения. Термин трансдукции был введен Владимиром Наумовичем Вапником, изобретателем машины опорных векторов или SVM (support vector machine).
preview
Модель движения цены и ее основные положения. (Часть 3): Расчет оптимальных параметров  биржевой игры

Модель движения цены и ее основные положения. (Часть 3): Расчет оптимальных параметров биржевой игры

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

Итоги MQL5 Маркета за 1 квартал 2013 года

С момента своего основания MQL5 Маркет - магазин торговых роботов и технических индикаторов - уже привлек в свои ряды более 250 разработчиков, которые опубликовали 580 продуктов. Итоги первого квартала 2013 года показывают, что некоторые продавцы довольно успешны в MQL5 Маркете и уже получили с продаж солидную прибыль.
preview
Разработка торговой системы на основе индикатора Force Index

Разработка торговой системы на основе индикатора Force Index

Это новая статья из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. На этот раз будем изучать индикатор Индекса силы (Force Index) и будем учиться создавать на его основе торговые системы.
preview
Непрерывная скользящая оптимизация (Часть 8): Доработка программы и исправление найденных недочетов

Непрерывная скользящая оптимизация (Часть 8): Доработка программы и исправление найденных недочетов

По просьбам пользователей и читателей данного цикла статей, программа была модифицирована и теперь можно сказать, что в текущая статья содержит уже новую версию автооптимизатора. В автооптимизатор были внесены как запрашиваемые, так и новые улучшения, идеи которых пришли в момент корректировки программы.
preview
Популяционные алгоритмы оптимизации: Алгоритм обезьян (Monkey algorithm, MA)

Популяционные алгоритмы оптимизации: Алгоритм обезьян (Monkey algorithm, MA)

В этой статье рассмотрим алгоритм оптимизации "Алгоритм обезьян" (MA). Способность этих подвижных животных преодолевать сложные препятствия и добираться до самых труднодоступных вершин деревьев легли в основу идеи алгоритма MA.
Фриланс на MQL5.com - лучшее место для разработчика
Фриланс на MQL5.com - лучшее место для разработчика

Фриланс на MQL5.com - лучшее место для разработчика

Разработчикам торговых советников больше не надо искать трейдеров, которым нужны эксперты, - заказчики сами найдут вас. Более того, они уже находят разработчиков, выставляют заказы и оплачивают проделанную работу в сервисе Фриланс на MQL5.com. За 4 года существования сервиса три тысячи трейдеров оплатило свыше 10 000 выполненных работ! Причем активность трейдеров и разработчиков постоянно возрастает.
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 3)
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 3)

Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 3)

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

Показатель склонности (Propensity score) в причинно-следственном выводе

В статье рассматривается тема матчинга в причинно-следственном выводе. Матчинг используется для сопоставления похожих наблюдений в наборе данных. Это необходимо для правильного определения каузальных эффектов, избавления от предвзятости. Автор рассказывает, как это помогает в построении торговых систем на машинном обучении, которые становятся более устойчивыми на новых данных, на которых не обучались. Центральная роль отводится показателю склонности, который широко используется в причинно-следственном выводе.
preview
Популяционные алгоритмы оптимизации: Искуственная Пчелиная Колония (Artificial Bee Colony - ABC)

Популяционные алгоритмы оптимизации: Искуственная Пчелиная Колония (Artificial Bee Colony - ABC)

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

Нелинейные регрессионные модели на бирже

Нелинейные регрессионные модели на бирже: реально ли прогнозировать финансовые рынки? Попробуем создать моделеь для прогноза цен на евро-доллар, и сделать на ее основе двух роботов - на Python и MQL5.
Графика в библиотеке DoEasy (Часть 79): Класс объекта "Кадр анимации" и его объекты-наследники
Графика в библиотеке DoEasy (Часть 79): Класс объекта "Кадр анимации" и его объекты-наследники

Графика в библиотеке DoEasy (Часть 79): Класс объекта "Кадр анимации" и его объекты-наследники

В статье разработаем класс одного кадра анимации и его наследников. Класс будет позволять рисовать фигуры с сохранением и последующим восстановлением фона под нарисованной фигурой.
preview
Советы профессионального программиста (Часть III): Логирование. Подключение к системе сбора и анализа логов Seq

Советы профессионального программиста (Часть III): Логирование. Подключение к системе сбора и анализа логов Seq

Реализация класса Logger для унификации (структурирования) сообщений, выводимых в журнал эксперта. Подключение к системе сбора и анализа логов Seq. Наблюдение за сообщениями в онлайн режиме.
preview
Модель движения цены и ее основные положения (Часть 1): Простейший вариант  модели  и его  приложения

Модель движения цены и ее основные положения (Часть 1): Простейший вариант модели и его приложения

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

Передача торговых сигналов в универсальном советнике.

В статье описываются различные способы передачи торговых сигналов из сигнального модуля универсального советника в модуль управления позициями и ордерами. Рассматриваются последовательный и параллельный интерфейсы.
preview
Использование ONNX-моделей в MQL5

Использование ONNX-моделей в MQL5

ONNX (Open Neural Network Exchange) — открытый стандарт представления моделей нейронных сетей. В данной статье мы рассмотрим процесс создания модели СNN-LSTM для прогнозирования финансовых временных рядов и использование созданной ONNX-модели в MQL5-эксперте.
Прочие классы в библиотеке DoEasy (Часть 72): Отслеживание и фиксация параметров объектов-чартов в коллекции
Прочие классы в библиотеке DoEasy (Часть 72): Отслеживание и фиксация параметров объектов-чартов в коллекции

Прочие классы в библиотеке DoEasy (Часть 72): Отслеживание и фиксация параметров объектов-чартов в коллекции

В статье завершим работу над классами объектов-чартов и их коллекцией. Сделаем автоматическое отслеживание изменения свойств чартов и их окон, а также сохранение новых параметров в свойства объекта. Такая доработка позволит в будущем сделать событийный функционал для всей коллекции чартов.
preview
Машинное обучение и Data Science (Часть 26): Решающая битва в прогнозирование временных рядов — LSTM против GRU

Машинное обучение и Data Science (Часть 26): Решающая битва в прогнозирование временных рядов — LSTM против GRU

В предыдущей статье мы рассмотрели простую рекуррентную нейронную сеть, которая, несмотря на свою неспособность понимать долгосрочные зависимости в данных, смогла разработать прибыльную стратегию. В этой статье мы поговорим о долгой кратковременной памяти (Long-Short Term Memoryю LSTM) и об управляемом рекуррентном блоке (Gated Recurrent Unit, GRU). Эти два подхода были разработаны для преодоления недостатков простой рекуррентной нейронной сети.
Андрей Войтенко: "Ошибки программирования стоили мне 15 000" (ATC 2010)
Андрей Войтенко: "Ошибки программирования стоили мне 15 000" (ATC 2010)

Андрей Войтенко: "Ошибки программирования стоили мне 15 000" (ATC 2010)

Андрей Войтенко впервые принимает участие в Чемпионате Automated Trading Championship 2010, но торгует его эксперт вполне по-взрослому. Уже которую неделю советник Андрея идет в первой десятке и не собирается уступать завоеванные позиции конкурентам. В интервью разработчик рассказывает об особенностях своего эксперта, допущенных им ошибках и цене, которую пришлось за них заплатить.
Работа с таймсериями в библиотеке DoEasy (Часть 36): Объект таймсерий всех используемых периодов символа
Работа с таймсериями в библиотеке DoEasy (Часть 36): Объект таймсерий всех используемых периодов символа

Работа с таймсериями в библиотеке DoEasy (Часть 36): Объект таймсерий всех используемых периодов символа

В статье рассмотрим объединение списков объектов-баров по каждому используемому периоду символа в один объект таймсерий символа. Таким образом у нас будет для каждого символа подготовлен объект, хранящий списки всех используемых периодов таймсерии символа.
preview
Машинное обучение и Data Science (Часть 27): Сверточные нейросети (CNN) в торговых роботах для MetaTrader 5

Машинное обучение и Data Science (Часть 27): Сверточные нейросети (CNN) в торговых роботах для MetaTrader 5

Сверточные нейронные сети (CNN) используются для обнаружения закономерностей в изображениях и видео. При этом их применение намного шире. В этой статье мы рассмотрим применимость сверточных нейросетей для выявления ценных закономерностей на финансовых рынках и генерации торговых сигналов для торговых роботов в MetaTrader 5. Поговорим о том, как можно использовать этот метод глубокого машинного обучения для принятия обоснованных торговых решений.
preview
Нелинейные индикаторы

Нелинейные индикаторы

В этой статье мы сделаем попытку рассмотреть некоторые способы построения нелинейных индикаторов и их использование в трейдинге. В торговой платформе MetaTrader довольно много индикаторов, которые используют нелинейные подходы.
preview
Разработка торгового робота на Python (Часть 3): Реализация торгового алгоритма на основе модели

Разработка торгового робота на Python (Часть 3): Реализация торгового алгоритма на основе модели

Продолжаем цикл статей по созданию торгового робота на Python и MQL5. Сегодня решим задачу создания торгового алгоритма на Python.
preview
Введение в MQL5 (Часть 1): Руководство по алготрейдингу для начинающих

Введение в MQL5 (Часть 1): Руководство по алготрейдингу для начинающих

Данная статья представляет собой руководство по программированию на MQL5 для начинающих. Она открывает дверь в увлекательный мир алготрейдинга. Здесь вы познакомитесь с основами MQL5, языка программирования торговых стратегий в MetaTrader 5, который и станет проводником в мир автоматической торговли. Эта статья — от понимания основ до первых шагов в программировании — призвана раскрыть потенциал алготрейдинга для всех читателей, даже для тех, у кого совершенно нет опыта программирования. Надеюсь, вам понравится это путешествие в мир трейдинга с MQL5.
Automated Trading Championship - обратная сторона медали
Automated Trading Championship - обратная сторона медали

Automated Trading Championship - обратная сторона медали

Чемпионат Automated Trading Championship на платформе MetaTrader 4 проводится уже в третий раз и многими сегодня воспринимается как некое само собой разумеющееся ежегодное событие, которого ждут с нетерпением. Но это состязание предъявляет серьезные требования к Участникам. Именно об этом мы и хотим рассказать.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVII): Работа с торговыми запросами - выставление отложенных ордеров
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVII): Работа с торговыми запросами - выставление отложенных ордеров

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVII): Работа с торговыми запросами - выставление отложенных ордеров

В статье продолжим работу над торговыми запросами и реализуем выставление отложенных ордеров, а также устраним найденные недочёты в работе торгового класса.
preview
Разработка торговой системы на основе индикатора Williams PR

Разработка торговой системы на основе индикатора Williams PR

Новая статья из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. Пишем системы на языке MQL5 для использования в MetaTrader 5. В этой статье мы будем изучать индикатор Процентного диапазона Уильямса (Williams' %R).
preview
Как сделать любой тип Trailing Stop и подключить к советнику

Как сделать любой тип Trailing Stop и подключить к советнику

В статье рассмотрим классы для удобного создания различных трейлингов. Научимся подключать трейлинг-стоп к любому советнику.
Итоги MQL5 Маркета за 2 квартал 2013 года
Итоги MQL5 Маркета за 2 квартал 2013 года

Итоги MQL5 Маркета за 2 квартал 2013 года

За полтора года успешной работы MQL5 Маркет стал крупнейшим трейдерским магазином торговых стратегий и технических индикаторов. В нем опубликовано около 800 торговых приложений от 350 разработчиков со всего мира. При этом трейдеры уже купили и установили в свои терминалы MetaTrader 5 свыше 100 000 торговых программ.
preview
Популяционные алгоритмы оптимизации: Светлячковый алгоритм (Firefly Algorithm - FA)

Популяционные алгоритмы оптимизации: Светлячковый алгоритм (Firefly Algorithm - FA)

Рассмотрим метод оптимизации "Поиск с помощью светлячкового алгоритма" (FA). Из аутсайдера путем модификации алгоритм превратился в настоящего лидера рейтинговой таблицы.
Стать хорошим программистом (Часть 7): как стать успешным исполнителем во Фрилансе
Стать хорошим программистом (Часть 7): как стать успешным исполнителем во Фрилансе

Стать хорошим программистом (Часть 7): как стать успешным исполнителем во Фрилансе

Хотите стать успешным исполнителем во Фрилансе MQL5.Community? Тогда рекомендую почитать советы из этой статьи.
preview
Эксперименты с нейросетями (Часть 4): Шаблоны

Эксперименты с нейросетями (Часть 4): Шаблоны

Нейросети наше все. Проверяем на практике, так ли это. MetaTrader 5 как самодостаточное средство для использования нейросетей в трейдинге. Простое объяснение.
Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5
Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5

Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5

В данной статье рассматривается создание приложения, отображающего RSS-каналы. Мы также рассмотрим аспекты применения Стандартной библиотеки при создании интерактивных программ для MetaTrader 5.
preview
Готовим мультисимвольные мультипериодные индикаторы

Готовим мультисимвольные мультипериодные индикаторы

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

Разработка торговой системы на основе индикатора Alligator

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

Популяционные алгоритмы оптимизации: Дифференциальная эволюция (Differential Evolution, DE)

В этой статье поговорим об алгоритме, который демонстрирует самые противоречивые результаты из всех рассмотренных ранее, алгоритм дифференциальной эволюции (DE).
Ошибки начинающего трейдера при работе с клиентским терминалом MetaTrader 4
Ошибки начинающего трейдера при работе с клиентским терминалом MetaTrader 4

Ошибки начинающего трейдера при работе с клиентским терминалом MetaTrader 4

Все люди ошибаются - кто-то чаще, кто-то реже, кто-то по незнанию, кто-то по невнимательности. Вы спрашиваете - мы отвечаем: время в терминале, результаты тестирования, Print в журнал, символы, история для тестера, импорт истории, плечо, трафик, всплывающие подсказки, масштаб, неверный счет, Invalid account, пустые новости, Price changed, Not Enough Money, Market Is Closed.
Графические интерфейсы VIII: Элемент "Файловый навигатор" (Глава 3)
Графические интерфейсы VIII: Элемент "Файловый навигатор" (Глава 3)

Графические интерфейсы VIII: Элемент "Файловый навигатор" (Глава 3)

В предыдущих главах восьмой части серии наша библиотека пополнилась несколькими классами для создания указателей для курсора мыши, календарей и древовидных списков. В настоящей статье рассмотрим элемент «Файловый навигатор», который тоже можно будет использовать в качестве части графического интерфейса MQL-приложения.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций

Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций

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

Как работать с линиями средствами MQL5

В этой статье мы поговорим о том, как работать с наиболее важными линиями, такими как линии тренда, поддержка и сопротивление, используя средства языка MQL5.