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

icon

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

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

Новая статья
последние | лучшие
preview
Популяционные алгоритмы оптимизации: Алгоритм оптимизации с кукушкой (Cuckoo Optimization Algorithm — COA)

Популяционные алгоритмы оптимизации: Алгоритм оптимизации с кукушкой (Cuckoo Optimization Algorithm — COA)

Следующий алгоритм, который рассмотрим — оптимизация поиском кукушки с использованием полётов Леви. Это один из новейших алгоритмов оптимизации и новый лидер в рейтинговой таблице.
Прочие классы в библиотеке DoEasy (Часть 70): Расширение функционала и автообновление коллекции объектов-чартов
Прочие классы в библиотеке DoEasy (Часть 70): Расширение функционала и автообновление коллекции объектов-чартов

Прочие классы в библиотеке DoEasy (Часть 70): Расширение функционала и автообновление коллекции объектов-чартов

В статье расширим функционал объектов-чартов, организуем навигацию по графикам, создание скриншотов, сохранение и применение шаблонов к графикам. Также сделаем автоматическое обновление коллекции объектов-чартов, их окон и индикаторов в них.
Интервью с Валерием Мазуренко (ATC 2010)
Интервью с Валерием Мазуренко (ATC 2010)

Интервью с Валерием Мазуренко (ATC 2010)

К концу первой торговой недели на первом месте оказался Валерий Мазуренко (notused) с мультивалютным экспертом ch2010. Ранее воспринимавший трейдинг как хобби, Валерий уже полгода пытается монетизировать свое «увлечение» и написать устойчивый советник для реальной торговли. В этом интервью экспертописатель делится своими взглядами на роль математики в трейдинге и рассказывает, почему объектно-ориентированный подход отлично подходит для написания мультивалютников.
Графика в библиотеке DoEasy (Часть 91): События стандартных графических объектов в программе. История изменения имени объекта
Графика в библиотеке DoEasy (Часть 91): События стандартных графических объектов в программе. История изменения имени объекта

Графика в библиотеке DoEasy (Часть 91): События стандартных графических объектов в программе. История изменения имени объекта

В статье доработаем базовый функционал для предоставления контроля событий графических объектов из программы, работающей на основе библиотеки. Начнём создание функционала для хранения истории изменений свойств графических объектов на примере свойства "Имя объекта".
preview
Нейросети — это просто (Часть 20): Автоэнкодеры

Нейросети — это просто (Часть 20): Автоэнкодеры

Мы продолжаем изучение алгоритмов обучения без учителя. Возможно, у читателя может возникнуть вопрос об соответствии последних публикаций теме нейронных сетей. В новой статье мы возвращаемся к использованию нейронных сетей.
Работа с ценами в библиотеке DoEasy (Часть 63): Стакан цен, класс абстрактной заявки стакана цен
Работа с ценами в библиотеке DoEasy (Часть 63): Стакан цен, класс абстрактной заявки стакана цен

Работа с ценами в библиотеке DoEasy (Часть 63): Стакан цен, класс абстрактной заявки стакана цен

В статье начнём разработку функционала для работы со стаканом цен. Создадим класс объекта абстрактной заявки стакана цен и его наследников.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 5): Цепи Маркова

Возможности Мастера MQL5, которые вам нужно знать (Часть 5): Цепи Маркова

Цепи Маркова — это мощный математический инструмент, который можно использовать для моделирования и прогнозирования данных временных рядов в различных областях, включая финансы. При моделировании и прогнозировании финансовых временных рядов цепи Маркова часто используются для моделирования эволюции финансовых активов с течением времени, таких как цены акций или обменные курсы. Одними из основных преимуществ моделей цепей Маркова являются их простота и удобство использования.
Графика в библиотеке DoEasy (Часть 88): Коллекция графических объектов — двумерный динамический массив для хранения динамически изменяемых свойств объектов
Графика в библиотеке DoEasy (Часть 88): Коллекция графических объектов — двумерный динамический массив для хранения динамически изменяемых свойств объектов

Графика в библиотеке DoEasy (Часть 88): Коллекция графических объектов — двумерный динамический массив для хранения динамически изменяемых свойств объектов

В статье создадим класс динамического многомерного массива с возможностью изменения количества данных в любом измерении. На основе созданного класса создадим двумерный динамический массив для хранения динамически изменяемых некоторых свойств графических объектов.
preview
Разработка торгового советника с нуля (Часть 7): Добавляем Volume At Price (I)

Разработка торгового советника с нуля (Часть 7): Добавляем Volume At Price (I)

Это один из самых мощных индикаторов из существующих. Те, кто торгует и старается иметь определенную степень уверенности, не могут не иметь этот индикатор на своем графике. Хотя чаще всего его используют те, кто торгует, наблюдая за лентой сделок («tape reading»). Также этот индикатор могут использовать и те, кто использует только Price Action.
preview
Эксперименты с нейросетями (Часть 3): Практическое применение

Эксперименты с нейросетями (Часть 3): Практическое применение

Нейросети наше все. Проверяем на практике, так ли это. MetaTrader 5 как самодостаточное средство для использования нейросетей в трейдинге. Простое объяснение.
preview
Машинное обучение и Data Science (Часть 10): Гребневая регрессия

Машинное обучение и Data Science (Часть 10): Гребневая регрессия

Гребневая регрессия (ридж-регрессия) — это простой метод для уменьшения сложности модели и борьбы с подгонкой, которая может возникнуть в результате простой линейной регрессии.
Интервью с Берроном Паркером (ATC 2010)
Интервью с Берроном Паркером (ATC 2010)

Интервью с Берроном Паркером (ATC 2010)

На протяжении почти всей первой недели Чемпионата эксперт Беррона Паркеразанимал лидирующую позицию, не подпуская к себе конкурентов. Привлекший внимание зрителей Чемпионата разработчик рассказывает о собственном опыте написания экспертов и сложностях перехода на MQL5. Беррон утверждает, что его советник настроен на трендовый рынок и в других условиях будет слаб. Тем не менее он верит, что эксперт покажет неплохой результат по итогам соревнования.
preview
Разработка торговой системы на основе индикатора Fibonacci

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

Это продолжение серии статей, в которых мы учимся строить торговые системы на основе самых популярных индикаторов. Очередным техническим инструментом станет индикатор Фибоначчи. Давайте разберем, как написать программу по сигналам этого индикатора.
Запуск на Linux-desktop клиентского терминала MetaTrader 4 build 198
Запуск на Linux-desktop клиентского терминала MetaTrader 4 build 198

Запуск на Linux-desktop клиентского терминала MetaTrader 4 build 198

Описание пошаговой подготовки Linux-desktop с использованием неэмулятора wine для запуска на нем клиентского терминала MetaTrader 4 build 198.
preview
Популяционные алгоритмы оптимизации: Алгоритм летучих мышей (Bat algorithm - BA)

Популяционные алгоритмы оптимизации: Алгоритм летучих мышей (Bat algorithm - BA)

Сегодня изучим алгоритм летучих мышей (Bat algorithm - BA), который отличается удивительной сходимостью на гладких функциях.
Видео: Настройка MetaTrader 5 и MQL5 для простой автоматизированной торговли
Видео: Настройка MetaTrader 5 и MQL5 для простой автоматизированной торговли

Видео: Настройка MetaTrader 5 и MQL5 для простой автоматизированной торговли

В этом небольшом видеокурсе вы узнаете, как скачать, установить и настроить MetaTrader 5 для автоматизированной торговли. Вы также узнаете, как настроить график и параметры автоматизированной торговли. Вы проведете свое первое тестирование на истории и узнаете, как импортировать советника, который может самостоятельно торговать 24 часа в сутки 7 дней в неделю, избавляя вас от необходимости сидеть перед экраном.
preview
Магия временных торговых интервалов с инструментом Frames Analyzer

Магия временных торговых интервалов с инструментом Frames Analyzer

Что такое Frames Analyzer? Это подключаемый модуль к любому торговому эксперту для анализа фреймов оптимизации во время оптимизации параметров в тестере стратегий, а также вне тестера посредством чтения MQD-файла или базы данных, которая создаётся сразу после оптимизации параметров. Вы сможете делиться этими результатами оптимизации с другими пользователями, у которых есть инструмент Frames Analyzer, чтобы обсудить полученные результаты оптимизации вместе.
preview
Алгоритм докупки: математическая модель увеличения эффективности

Алгоритм докупки: математическая модель увеличения эффективности

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

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

Рассмотрим метод оптимизации "Поиск с помощью светлячкового алгоритма" (FA). Из аутсайдера путем модификации алгоритм превратился в настоящего лидера рейтинговой таблицы.
Нужны ли трейдерам услуги разработчиков?
Нужны ли трейдерам услуги разработчиков?

Нужны ли трейдерам услуги разработчиков?

Алготрейдинг становится все более популярным и востребованным, что закономерно привело к появлению спроса на экзотические алгоритмы и нестандартные задачи. Определенная часть таких сложных приложений представлена в Code Base или Маркете и их можно получить за пару кликов, но не всё в них устраивает трейдеров. В этом случае они начинают искать разработчиков, способных написать требуемое приложение, находят их во Фрилансе и выдают заказ.
Работа с таймсериями в библиотеке DoEasy (Часть 48): Мультипериодные мультисимвольные индикаторы на одном буфере в подокне
Работа с таймсериями в библиотеке DoEasy (Часть 48): Мультипериодные мультисимвольные индикаторы на одном буфере в подокне

Работа с таймсериями в библиотеке DoEasy (Часть 48): Мультипериодные мультисимвольные индикаторы на одном буфере в подокне

В статье рассмотрим пример создания мультисимвольных мультипериодных стандартных индикаторов, использующих для своих построений один индикаторный буфер, и работающих в подокне графика. Подготовим классы библиотеки для работы со стандартными индикаторами, работающими в основном окне программы, или имеющими более одного буфера для вывода своих данных.
preview
Нейросети — это просто (Часть 73): АвтоБоты прогнозирования ценового движения

Нейросети — это просто (Часть 73): АвтоБоты прогнозирования ценового движения

Мы продолжаем рассмотрения алгоритмов обучения моделей прогнозирования траекторий. И в данной статье я предлагаю Вам познакомиться с методом под названием “AutoBots”.
preview
Разработка торговой системы на основе Awesome Oscillator

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

Это очередная статья из серии, и в ней мы познакомимся с еще одним полезным техническим инструментом для торговли — индикатором Awesome Oscillator (AO). Узнаем, как разрабатывать торговые системы на основе показателей от этого индикатора.
preview
Рецепты MQL5 — Сервисы

Рецепты MQL5 — Сервисы

В статье описаны разносторонние возможности сервисов — таких MQL5-программ, для которых не нужен график привязки. Приводятся отличия сервисов от других MQL5-программ, подчёркиваются нюансы работы разработчика с сервисами. В качестве примеров читателю предложены различные задачи, охватывающие широкий спектр функционала, который может быть реализован в виде cервиса.
preview
Разработка торгового советника с нуля (Часть 23): Новая система ордеров (VI)

Разработка торгового советника с нуля (Часть 23): Новая система ордеров (VI)

Мы сделаем систему ордеров более гибкой. Здесь я покажу вам, как и где внести изменения в код, чтобы делать его более гибким, что позволит нам намного быстрее изменять лимиты позиций.
preview
Нейросети — это просто (Часть 34): Полностью параметризированная квантильная функция

Нейросети — это просто (Часть 34): Полностью параметризированная квантильная функция

Продолжаем изучение алгоритмов распределенного Q-обучения. В предыдущих статьях мы рассмотрели алгоритмы распределенного и квантильного Q-обучения. В первом мы учили вероятности заданных диапазонов значений. Во втором учили диапазоны с заданной вероятностью. И в первом, и во втором алгоритме мы использовали априорные знания одного распределения и учили другое. В данной статье мы рассмотрим алгоритм, позволяющей модели учить оба распределения.
preview
Эксперименты с нейросетями (Часть 2): Хитрая оптимизация нейросети

Эксперименты с нейросетями (Часть 2): Хитрая оптимизация нейросети

Нейросети наше все. Проверяем на практике, так ли это. MetaTrader 5 как самодостаточное средство для использования нейросетей в трейдинге. Простое объяснение.
preview
Как построить советник, работающий автоматически (Часть 05): Ручные триггеры (II)

Как построить советник, работающий автоматически (Часть 05): Ручные триггеры (II)

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

Разработка торгового советника с нуля (Часть 29): Говорящая платформа

В этой статье мы научимся, как заставить платформу MT5 говорить. А что если мы сделаем советника более веселым? Торговля на финансовых рынках часто является чрезвычайно скучным и монотонным занятием, но мы можем сделать эту работу менее утомительной. Этот проект может стать опасным, если у вас есть проблема, делающая вас зависимым, но на самом деле весь сценарий с модификациями может быть более увлекательным и менее скучным.
preview
Язык визуального программиования ДРАКОН (Drakon) — средство общения для разработчика MQL и заказчика

Язык визуального программиования ДРАКОН (Drakon) — средство общения для разработчика MQL и заказчика

ДРАКОН — язык визуального программирования, специально разработанный для упрощения взаимодействия между специалистами разных отраслей (биологами, физиками, инженерами...) с программистами в российских космических проектах (например, при создании создание комплекса "Буран"). В этой статье я расскажу о том, как ДРАКОН делает создание алгоритмов доступным и интуитивно понятным, даже если вы никогда не сталкивались с кодом, а также - как заказчику легче объяснить свои мысли при заказе торговых роботов, а программисту - совершать меньше ошибок в сложных функциях.
preview
Как построить советник, работающий автоматически (Часть 06): Виды счетов (I)

Как построить советник, работающий автоматически (Часть 06): Виды счетов (I)

Сегодня мы рассмотрим, как создать советник, который просто и безопасно работает в автоматическом режиме. Пока наш советник может работать в любой ситуации, но он ещё не готов к автоматизации, поэтому нам нужно проработать несколько моментов.
preview
Нейросети — это просто (Часть 25): Практикум Transfer Learning

Нейросети — это просто (Часть 25): Практикум Transfer Learning

В последних двух статьях мы создали инструмент, позволяющий создавать и редактировать модели нейронных сетей. И теперь пришло время оценить потенциальные возможности использования технологии Transfer Learning на практических примерах.
preview
Машинное обучение и Data Science (Часть 11): Наивный байесовский классификатор и теория вероятностей в трейдинге

Машинное обучение и Data Science (Часть 11): Наивный байесовский классификатор и теория вероятностей в трейдинге

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 1): Регрессионный анализ

Современный трейдер почти всегда сознательно или бессознательно находится в поиске новых идей. Он постоянно пробует новые стратегии, модифицирует их и отбрасывает те, что не оправдали себя. Этот исследовательский процесс требует много времени и сопряжен с ошибками. В этой серии статей я постараюсь доказать, что Мастер MQL5 является настоящей опорой трейдера. Благодаря Мастеру, трейдер экономит время при реализации своих идей. Кроме того, снижается вероятность ошибок, возникающих при дублировании кода. Вместо того чтобы тратить время на оформление кода, трейдеры претворяют в жизнь свою торговую философию.
preview
Непрерывная скользящая оптимизация (Часть 6): Логическая часть автооптимизатора и его структура

Непрерывная скользящая оптимизация (Часть 6): Логическая часть автооптимизатора и его структура

Описывая создание автоматической скользящей оптимизации, мы добрались до внутренней структуры самого автооптимизатора. Данная статья может быть полезна тем, кто пожелает сам доработать созданный проект, либо же просто желает разобраться в логики функционирования программы. В текущей статье при помощи UML диаграмм представлена внутренняя структура проекта и взаимосвязи объектов между собой. Также рассматривается процесс запуска оптимизаций, но пока без описания процесса реализации оптимизатора.
preview
Как построить советник, работающий автоматически (Часть 04): Ручные триггеры (I)

Как построить советник, работающий автоматически (Часть 04): Ручные триггеры (I)

Сегодня посмотрим, как создать советник, просто и безопасно работающий в автоматическом режиме.
preview
Графика в библиотеке DoEasy (Часть 98): Перемещаем опорные точки расширенных стандартных графических объектов

Графика в библиотеке DoEasy (Часть 98): Перемещаем опорные точки расширенных стандартных графических объектов

В статье продолжим развитие расширенных стандартных графических объектов, и создадим функционал перемещения опорных точек составных графических объектов при помощи контрольных точек управления координатами опорных точек графического объекта.
Графика в библиотеке DoEasy (Часть 85): Коллекция графических объектов - добавляем вновь создаваемые
Графика в библиотеке DoEasy (Часть 85): Коллекция графических объектов - добавляем вновь создаваемые

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

В статье закончим создание классов-наследников класса абстрактного графического объекта и начнём реализацию хранения этих объектов в классе-коллекции. В частности — создадим функционал для добавления в класс-коллекцию вновь создаваемых стандартных графических объектов.
preview
Разработка торговой системы на основе индикатора Williams PR

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

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

Система для создания МТС

Согласитесь, заманчиво звучит - Вы стали обладателем программы, которая за несколько минут может разработать Вам прибыльную МТС. Вам нужно просто ввести целевые параметры на сделку и нажать Enter. И - нате Вам, получите готовую МТС, протестированную и с положительным матожиданием выигрыша. Когда тысячи людей тратят тысячи часов времени на разработку той самой, единственной (МТС), которая "напоит, накормит и спать уложит", такие утверждения звучат, мягко говоря, неубедительно. С одной стороны, это действительно выглядит неправдоподобно... Но, на мой взгляд, эта задача вполне решаема.