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

icon

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

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

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

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

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

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

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

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

В статье рассмотрим наглядно по блок-схемам логику прилагаемых к терминалу учебных советников, расположенных в папке Experts\Free Robots, торгующих по свечным паттернам.
preview
Популяционные алгоритмы оптимизации: Поиск косяком рыб (Fish School Search — FSS)

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

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

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

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

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

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

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

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

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

В статье начнём разработку методов работы со стандартными индикаторами, что в итоге позволит создавать мультисимвольные мультипериодные стандартные индикаторы на базе классов библиотеки. Также добавим в классы таймсерий событие "Пропущенные бары" и разгрузим код основной программы, переместив из неё функции подготовки библиотеки в класс CEngine.
Пишем Twitter-клиент для MetaTrader: Часть 2
Пишем Twitter-клиент для MetaTrader: Часть 2

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

Реализуем Twitter-клиент в виде MQL-класса, позволяющего отправлять твиты с картинками. Подключив всего один автономный include-файл, вы сможете публиковать твиты и выкладывать свои графики и сигналы.
preview
Разработка торговой системы на основе Accelerator Oscillator

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

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

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

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

Брейкпойнты в тестере – это возможно!

Статья посвящается программной эмуляции точки останова при прогоне на тестерe с выводом отладочной информации.
Разработка социального технологического стартапа, часть I: Публикуем сигналы MetaTrader 5 в Твиттере
Разработка социального технологического стартапа, часть I: Публикуем сигналы MetaTrader 5 в Твиттере

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

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

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

Александр Топчило (Better) - победитель Чемпионата Automated Trading Championship 2007. Коньком Александра являются нейронные сети - именно нейроэксперт со значительным отрывом опередил конкурентов в Чемпионате 2007 года. Интересный собеседник и успешный разработчик экспертов рассказывает в этом интервью о своей жизни после Чемпионатов, собственном бизнесе и новых алгоритмах для создания торговых систем.
preview
Нейросети — это просто (Часть 35): Модуль внутреннего любопытства (Intrinsic Curiosity Module)

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

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

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

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

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

В предыдущей статье мы познакомились с реляционными моделями, в архитектуре которых используются механизмы внимания. Одной из особенностей указанных моделей является повышенное использование вычислительных ресурсов. В данной статье будет предложен один их механизмов уменьшения количества вычислительных операций внутри блока Self-Attention. Что позволит увеличить производительность модели в целом.
Работа с ценами в библиотеке DoEasy (Часть 64): Стакан цен, классы объекта-снимка и объекта-серии снимков стакана цен
Работа с ценами в библиотеке DoEasy (Часть 64): Стакан цен, классы объекта-снимка и объекта-серии снимков стакана цен

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

В статье создадим два класса - класс объекта-снимка стакана цен и класс объекта-серии снимков стакана цен и протестируем создание серии данных стакана цен.
preview
Высокочастотная арбитражная торговая система на Python с использованием MetaTrader 5

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

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

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

В статье создадим два класса - класс объекта-снимка стакана цен и класс объекта-серии снимков стакана цен и протестируем создание серии данных стакана цен.
preview
Разработка торговой системы на основе Awesome Oscillator

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

Это очередная статья из серии, и в ней мы познакомимся с еще одним полезным техническим инструментом для торговли — индикатором Awesome Oscillator (AO). Узнаем, как разрабатывать торговые системы на основе показателей от этого индикатора.
Пишем 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
Разработка торговой системы на основе Индекса облегчения рынка MFI от Билла Вильямса

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

Это новая статья из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. В этой новой статье мы рассмотрим Индекс облегчения рынка (Market Facilitation Index, MFI), разработанный Биллом Вильямсом.
Интервью с Николаем Косициным: мультивалютные эксперты менее рискованны (ATC 2010)
Интервью с Николаем Косициным: мультивалютные эксперты менее рискованны (ATC 2010)

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

Мы побеседовали с Николаем Косициным о его разработках. Он считает мультивалютники перспективным направлением и занимается разработкой именно таких экспертов. На чемпионатах Николай также выступает только с мультивалютниками. Именно его советник стал единственным мультивалютником, который вышел в победители Чемпионата за все время проведения соревнования.
preview
Машинное обучение и Data Science (Часть 05): Деревья решений на примере погодных условий для игры в теннис

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

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

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

Наша библиотека теперь умеет отслеживать появление на графике клиентского терминала стандартных графических объектов, их удаление и модификацию некоторых их параметров. Но для полного "комплекта" нам, конечно же, не хватает возможности создавать стандартные графические объекты из своих программ.
Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов
Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов

Прочие классы в библиотеке DoEasy (Часть 71): События коллекции объектов-чартов

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

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

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

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

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

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

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

Мультибот в MetaTrader: запуск множества роботов с одного графика

В этой статье мы рассмотрим простой шаблон для создания универсального робота в MetaTrader, который можно использовать на нескольких графиках, но прицепив его лишь к одному графику, без необходимости настройки каждого экземпляра робота на каждом отдельном графике.
preview
Рецепты MQL5 — Сервисы

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

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

Прочие классы в библиотеке DoEasy (Часть 68): Класс объекта-окна графика и классы объектов-индикаторов в окне графика

В статье продолжим разрабатывать класс объекта-чарта. Добавим к нему список объектов-окон графика, в которых в свою очередь будут доступны списки индикаторов, размещённых в них.
preview
Дискретное преобразование Хартли

Дискретное преобразование Хартли

В этой статье мы познакомимся с одним из методов спектрального анализа и обработки сигналов - дискретным преобразованием Хартли. С его помощью можно фильтровать сигналы, анализировать их спектр и многое другое. Возможности DHT ничуть не меньше, чем у дискретного преобразования Фурье. Однако, в отличие от него, DHT использует только вещественные числа, что делает его более удобным для реализации на практике, а результаты его применения более наглядными.
Графика в библиотеке DoEasy (Часть 92): Класс памяти стандартных графических объектов. История изменения свойств объекта
Графика в библиотеке DoEasy (Часть 92): Класс памяти стандартных графических объектов. История изменения свойств объекта

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

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

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

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

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

Помните советник Ilan 1.6 Dymanic? Попробуем улучшить его с помощью машинного обучения! Реанимируем старую разработку в статье и добавляем машинное обучение с Q-таблицей. По шагам.
Фильтр на основании истории торговли
Фильтр на основании истории торговли

Фильтр на основании истории торговли

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

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

Торговлю по вероятностям можно сравнить с ходьбой по канату — она требует точности, баланса и четкого понимания риска. В мире трейдинга вероятность решает все. Именно от нее зависит результат — успех или неудача, прибыль или убыток. Используя возможности вероятности, трейдеры могут принимать более обоснованные решения, эффективнее управлять рисками и достигать своих финансовых целей. Неважно, опытный вы инвестор или начинающий трейдер, понимание вероятности может стать ключом к раскрытию вашего торгового потенциала. В этой статье мы познакомимся с увлекательным миром вероятностного трейдинга и покажем, как вывести игру в торговлю на новый уровень.
preview
Модель глубокого обучения GRU на Python с использованием ONNX в советнике, GRU vs LSTM

Модель глубокого обучения GRU на Python с использованием ONNX в советнике, GRU vs LSTM

Статья посвящена разработке модели глубокого обучения GRU ONNX на Python. В практической части мы реализуем эту модель в торговом советнике, а затем сравним работу модели GRU с LSTM (долгой краткосрочной памятью).