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

icon

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

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

Новая статья
последние | лучшие
Использование утверждений (assertions) при разработке программ на MQL5
Использование утверждений (assertions) при разработке программ на MQL5

Использование утверждений (assertions) при разработке программ на MQL5

В данной статье рассматриваются утверждения (assertions) в рамках языка MQL5. Даются два примера реализации механизма утверждений, а также приводятся общие рекомендации по применению утверждений.
preview
Опыт разработки торговой стратегии

Опыт разработки торговой стратегии

В этой статье мы сделаем попытку разработать собственную торговую стратегию. Любая торговая стратегия должна быть построена на основе какого-то статистического преимущества. Причем это преимущество должно существовать в течение долгого времени.
preview
Разработка торговой системы на основе осциллятора Чайкина

Разработка торговой системы на основе осциллятора Чайкина

Это новая статья из серии, в которой мы изучаем популярные технические индикаторы и учимся создавать на их основе торговые системы. В этой статье будем работать с индикатором Chaikin Oscillator — Осциллятор Чайкина.
preview
Торговые транзакции. Структуры запросов и ответов, описание и вывод в журнал

Торговые транзакции. Структуры запросов и ответов, описание и вывод в журнал

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

Нейросети — это просто (Часть 18): Ассоциативные правила

В продолжение данной серии статей предлагаю познакомиться ещё с одним типом задач из методов обучения без учителя — поиск ассоциативных правил. Данный тип задач впервые был применен в ритейле для анализа корзин покупателей. О возможностях использования подобных алгоритмов в рамках трейдинга мы и поговорим в этой статье.
Томаш Таузовски:"Мне остается лишь молиться о появлении убыточных позиций" (ATC 2010)
Томаш Таузовски:"Мне остается лишь молиться о появлении убыточных позиций" (ATC 2010)

Томаш Таузовски:"Мне остается лишь молиться о появлении убыточных позиций" (ATC 2010)

Томаш Таузовски (ttauzo) - ветеран первой десятки Чемпионата Automated Trading Championship 2010. Его эксперт уже седьмую неделю находится между пятым и седьмым местом. И это неудивительно: по мнению текущего лидера Чемпионата Бориса Одинцова ttauzo - один из самых стабильных экспертов, участвующих в соревновании.
preview
Освоение ONNX: Переломный момент для MQL5-трейдеров

Освоение ONNX: Переломный момент для MQL5-трейдеров

Погрузитесь в мир ONNX - мощного открытого формата для обмена моделями машинного обучения. Узнайте, как использование ONNX может произвести революцию в алгоритмической торговле на MQL5, позволяя трейдерам беспрепятственно интегрировать передовые модели искусственного интеллекта и поднять свои стратегии на новый уровень. Раскройте секреты кросс-платформенной совместимости и узнайте, как раскрыть весь потенциал ONNX в своей торговле на MQL5. Улучшите свою торговлю с помощью этого подробного руководства по ONNX.
preview
Популяционные алгоритмы оптимизации: Алгоритм летучих мышей (Bat algorithm - BA)

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

Сегодня изучим алгоритм летучих мышей (Bat algorithm - BA), который отличается удивительной сходимостью на гладких функциях.
Работа с таймсериями в библиотеке DoEasy (Часть 46): Мультипериодные, мультисимвольные индикаторные буферы
Работа с таймсериями в библиотеке DoEasy (Часть 46): Мультипериодные, мультисимвольные индикаторные буферы

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

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

Нейросети — это просто (Часть 17): Понижение размерности

Мы продолжаем рассмотрение моделей искусственного интеллекта. И, в частности, алгоритмов обучения без учителя. Мы уже познакомились с одним из алгоритмов кластеризации. А в этой статье я хочу поделиться с Вами вариантом решения задач понижения размерности.
preview
Популяционные алгоритмы оптимизации: Поиск косяком рыб (Fish School Search — FSS)

Популяционные алгоритмы оптимизации: Поиск косяком рыб (Fish School Search — FSS)

Поиск косяком рыб (FSS) — новый современный алгоритм оптимизации, вдохновленный поведением рыб в стае, большинство из которых, до 80%, плавают организовано в сообществе сородичей. Доказано, что объединения рыб играют важную роль в эффективности поиска пропитания и защиты от хищников.
preview
Разбираем примеры торговых стратегий в клиентском терминале

Разбираем примеры торговых стратегий в клиентском терминале

В статье рассмотрим наглядно по блок-схемам логику прилагаемых к терминалу учебных советников, расположенных в папке Experts\Free Robots, торгующих по свечным паттернам.
preview
Высокочастотная арбитражная торговая система на Python с использованием MetaTrader 5

Высокочастотная арбитражная торговая система на Python с использованием MetaTrader 5

Создаем легальную в глазах брокеров арбитражную систему, которая создает тысячи синтетических цен на рынке Форекс, анализирует их, и успешно торгует в прибыль.
Работа с таймсериями в библиотеке DoEasy (Часть 42): Класс объекта абстрактного индикаторного буфера
Работа с таймсериями в библиотеке DoEasy (Часть 42): Класс объекта абстрактного индикаторного буфера

Работа с таймсериями в библиотеке DoEasy (Часть 42): Класс объекта абстрактного индикаторного буфера

С данной статьи начнём делать классы индикаторных буферов для библиотеки DoEasy. Сегодня создадим базовый класс абстрактного буфера, который будет являться основой для создания различных типов классов индикаторных буферов.
Инфографика "Что представляет собой MetaTrader Market"
Инфографика "Что представляет собой MetaTrader Market"

Инфографика "Что представляет собой MetaTrader Market"

Несколько недель назад была опубликована отчетная инфографика по сервису "Фриланс". Тогда мы пообещали, что вскоре раскроем цифры и по Маркету. И вот теперь предлагаем ознакомиться с собранными данными.
preview
Разработка торговой системы на основе Accelerator Oscillator

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

Новая статья из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. На этот раз будем изучать индикатор Accelerator Oscillator — узнаем, как его использовать и как создавать торговые системы на его основе.
Работа с таймсериями в библиотеке DoEasy (Часть 44): Класс-коллекция объектов индикаторных буферов
Работа с таймсериями в библиотеке DoEasy (Часть 44): Класс-коллекция объектов индикаторных буферов

Работа с таймсериями в библиотеке DoEasy (Часть 44): Класс-коллекция объектов индикаторных буферов

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

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

В этой статье мы проанализируем данные по валютам, чтобы понять, почему советники могут показывать хорошие результаты на одних интервалах и при этом плохо работают на других.
Работа с сетевыми функциями, или MySQL без DLL: Часть II - программа для мониторинга изменения свойств сигналов
Работа с сетевыми функциями, или MySQL без DLL: Часть II - программа для мониторинга изменения свойств сигналов

Работа с сетевыми функциями, или MySQL без DLL: Часть II - программа для мониторинга изменения свойств сигналов

В предыдущей части статьи мы ознакомились с реализацией коннектора MySQL. В этой части мы рассмотрим его применение на примере реализации сервиса сбора свойств сигналов и программы для просмотра их изменения с течением времени. Кроме того, реализованный пример может иметь практический смысл в том случае, если пользователю нужно наблюдать изменения свойств, которые не отображаются на веб-странице сигнала.
Стать хорошим программистом (Часть 3): 5 советов, чтобы лучше программировать на MQL5
Стать хорошим программистом (Часть 3): 5 советов, чтобы лучше программировать на MQL5

Стать хорошим программистом (Часть 3): 5 советов, чтобы лучше программировать на MQL5

Статья обязательна к прочтению для всех, кто хочет улучшить свою карьеру программиста. Цель этой серии статей — помочь любому читателю, даже опытному, улучшить навыки программирования. Описанные в статье идеи работают как для начинающих MQL5-программистов, так и для профессионалов.
preview
Несколько индикаторов на графике (Часть 03): Разработка пользовательских определений

Несколько индикаторов на графике (Часть 03): Разработка пользовательских определений

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

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

В статье начнём разработку методов работы со стандартными индикаторами, что в итоге позволит создавать мультисимвольные мультипериодные стандартные индикаторы на базе классов библиотеки. Также добавим в классы таймсерий событие "Пропущенные бары" и разгрузим код основной программы, переместив из неё функции подготовки библиотеки в класс CEngine.
preview
Разработка торговой системы на основе Индекса облегчения рынка MFI от Билла Вильямса

Разработка торговой системы на основе Индекса облегчения рынка MFI от Билла Вильямса

Это новая статья из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. В этой новой статье мы рассмотрим Индекс облегчения рынка (Market Facilitation Index, MFI), разработанный Биллом Вильямсом.
Работа с таймсериями в библиотеке DoEasy (Часть 40): Индикаторы на основе библиотеки - реалтайм обновление данных
Работа с таймсериями в библиотеке DoEasy (Часть 40): Индикаторы на основе библиотеки - реалтайм обновление данных

Работа с таймсериями в библиотеке DoEasy (Часть 40): Индикаторы на основе библиотеки - реалтайм обновление данных

В статье рассмотрим создание простого мультипериодного индикатора на основе библиотеки DoEasy. Доработаем классы таймсерий для получения данных с любых таймфреймов для отображения их на текущем периоде графика.
Пишем Twitter-клиент для MetaTrader: Часть 2
Пишем Twitter-клиент для MetaTrader: Часть 2

Пишем Twitter-клиент для MetaTrader: Часть 2

Реализуем Twitter-клиент в виде MQL-класса, позволяющего отправлять твиты с картинками. Подключив всего один автономный include-файл, вы сможете публиковать твиты и выкладывать свои графики и сигналы.
preview
Нейросети — это просто (Часть 35): Модуль внутреннего любопытства (Intrinsic Curiosity Module)

Нейросети — это просто (Часть 35): Модуль внутреннего любопытства (Intrinsic Curiosity Module)

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

Нейросети — это просто (Часть 22): Обучение без учителя рекуррентных моделей

Мы продолжаем рассмотрение алгоритмов обучения без учителя. И сейчас я предлагаю обсудить особенности использования автоэнкодеров для обучения рекуррентных моделей.
preview
Нейросети — это просто (Часть 37): Разреженное внимание (Sparse Attention)

Нейросети — это просто (Часть 37): Разреженное внимание (Sparse Attention)

В предыдущей статье мы познакомились с реляционными моделями, в архитектуре которых используются механизмы внимания. Одной из особенностей указанных моделей является повышенное использование вычислительных ресурсов. В данной статье будет предложен один их механизмов уменьшения количества вычислительных операций внутри блока Self-Attention. Что позволит увеличить производительность модели в целом.
Интервью с Александром Топчило (ATC 2010)
Интервью с Александром Топчило (ATC 2010)

Интервью с Александром Топчило (ATC 2010)

Александр Топчило (Better) - победитель Чемпионата Automated Trading Championship 2007. Коньком Александра являются нейронные сети - именно нейроэксперт со значительным отрывом опередил конкурентов в Чемпионате 2007 года. Интересный собеседник и успешный разработчик экспертов рассказывает в этом интервью о своей жизни после Чемпионатов, собственном бизнесе и новых алгоритмах для создания торговых систем.
Разработка социального технологического стартапа, часть I: Публикуем сигналы MetaTrader 5 в Твиттере
Разработка социального технологического стартапа, часть I: Публикуем сигналы MetaTrader 5 в Твиттере

Разработка социального технологического стартапа, часть I: Публикуем сигналы MetaTrader 5 в Твиттере

Сегодня мы поговорим о том, как привязать терминал MetaTrader 5 к аккаунту в Твиттере для того, чтобы публиковать сигналы вашего эксперта. Мы разрабатываем Social Decision Support System (Социальную систему поддержки принятия решений), далее SDSS, в PHP на основе веб-сервиса RESTful. В основе этой идеи лежит концепция автоматической торговли или, так называемая торговля при помощи компьютеров. Мы хотим, чтобы автоматические торговые сигналы эксперта проходили через фильтры когнитивных способностей разума человека.
preview
Машинное обучение и Data Science (Часть 05): Деревья решений на примере погодных условий для игры в теннис

Машинное обучение и Data Science (Часть 05): Деревья решений на примере погодных условий для игры в теннис

Деревья решений классифицируют данные, имитируя то, каким образом размышляют люди. В этой статье посмотрим, как строить деревья и использовать их для классификации и прогнозирования данных. Основная цель алгоритма деревьев решений состоит в том, чтобы разделить выборку на данные с "примесями" и на "чистые" или близкие к узлам.
preview
Разработка торговой системы на основе Awesome Oscillator

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

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

Работа с ценами в библиотеке DoEasy (Часть 64): Стакан цен, классы объекта-снимка и объекта-серии снимков стакана цен

В статье создадим два класса - класс объекта-снимка стакана цен и класс объекта-серии снимков стакана цен и протестируем создание серии данных стакана цен.
Пишем Twitter-клиент для MetaTrader 4 и MetaTrader 5 без использования DLL
Пишем Twitter-клиент для MetaTrader 4 и MetaTrader 5 без использования DLL

Пишем Twitter-клиент для MetaTrader 4 и MetaTrader 5 без использования DLL

Хотите получать твиты или публиковать свои торговые сигналы в Твиттере? Больше не нужно искать решения — в этой серии статей мы рассмотрим, как работать с Твиттером без использования DLL. Мы вместе реализуем Tweeter API с помощью MQL. В первой статье начнем с возможностей аутентификации и авторизации в с Twitter API.
preview
Скальперский советник Ilan 3.0 Ai с машинным обучением

Скальперский советник Ilan 3.0 Ai с машинным обучением

Помните советник Ilan 1.6 Dymanic? Попробуем улучшить его с помощью машинного обучения! Реанимируем старую разработку в статье и добавляем машинное обучение с Q-таблицей. По шагам.
Интервью с Николаем Косициным: мультивалютные эксперты менее рискованны (ATC 2010)
Интервью с Николаем Косициным: мультивалютные эксперты менее рискованны (ATC 2010)

Интервью с Николаем Косициным: мультивалютные эксперты менее рискованны (ATC 2010)

Мы побеседовали с Николаем Косициным о его разработках. Он считает мультивалютники перспективным направлением и занимается разработкой именно таких экспертов. На чемпионатах Николай также выступает только с мультивалютниками. Именно его советник стал единственным мультивалютником, который вышел в победители Чемпионата за все время проведения соревнования.
preview
Как стать успешным поставщиком сигналов на MQL5.com

Как стать успешным поставщиком сигналов на MQL5.com

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

Графика в библиотеке DoEasy (Часть 89): Программное создание стандартных графических объектов. Базовый функционал

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

Причинно-следственный вывод в задачах классификации временных рядов

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

Как обнаруживать тренды и графические паттерны с помощью MQL5

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