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

icon

Самые разнообразные статьи с примерами по созданию индикаторов и торговых роботов для платформы MetaTrader на языке MQL5 ждут вас. К каждой статье приложены исходные коды, которые вы можете открыть в редакторе MetaEditor и запустить самостоятельно.

Эти статьи будут полезны как новичкам в автоматическом трейдинге, так и подготовленным трейдерам с опытом программирования и торговли. Здесь вы найдете не только примеры, но и новые идеи.

Новая статья
последние | лучшие
preview
От начального до среднего уровня: FileSave и FileLoad

От начального до среднего уровня: FileSave и FileLoad

В сегодняшней статье рассмотрим некоторые способы работы с библиотечными функциями FileSave и FileLoad. Хотя многие считают их малоперспективными из-за некоторых ограничений или трудностей, которые они вызывают в определенных сценариях, правильное понимание того, как работают эти две функции, может сэкономить нам много работы в определенные моменты. Кроме того, они являются отличным способом работы с лог-файлами.
preview
Преодоление проблем доступности в торговых инструментах на MQL5 (Часть III): Двунаправленное голосовое взаимодействие между трейдером и советником

Преодоление проблем доступности в торговых инструментах на MQL5 (Часть III): Двунаправленное голосовое взаимодействие между трейдером и советником

Создадим локальный двунаправленный голосовой интерфейс для MetaTrader 5 с помощью WebRequest в MQL5 и двух сервисов Python. В статье реализовано автономное распознавание речи с помощью Vosk, обнаружение фразы активации, HTTP‑endpoint для получения команд и сервер преобразования текста в речь на локальном хосте. Вы подключите советника, который будет получать команды, открывать сделки и возвращать голосовые подтверждения для возможности работать без помощи рук.
preview
Разработка инструментария для анализа Price Action (Часть 68): Панель RSI с привязкой к цене на языке MQL5

Разработка инструментария для анализа Price Action (Часть 68): Панель RSI с привязкой к цене на языке MQL5

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

Модульная архитектура индикаторов в MQL5 (Часть 1): Хватит копировать и вставлять — начните писать масштабируемый, переиспользуемый код

В статье разработан объектно-ориентированный каркас для индикаторов MQL5 путем преобразования примитивного примера в пригодные для постоянного использования модули. В ней формализуется частичный пересчет буфера в OnCalculate, логика переносится в классы, вынесенные в заголовочные файлы (CAppliedPrice, CSma), а также вводятся CSubIndiBase, CIndicatorBase и реестр для централизации требований. В результате получаются переносимые компоненты, изолированные входные параметры и аккуратно организованные буферы при минимуме шаблонного кода, что ускоряет сборку новых индикаторов и упрощает их обслуживание.
preview
От начального до среднего уровня: Произвольный доступ (II)

От начального до среднего уровня: Произвольный доступ (II)

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

От начального до среднего уровня: Очереди, списки и деревья (V)

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

Автоматизация классических рыночных методов в MQL5 (Часть 2): Закон причины и следствия Вайкоффа — ценовые цели по графику "крестики-нолики"

В статье создаётся автономный советник на MQL5, реализующий полный цикл Вайкоффа: он распознаёт накопление и распределение с помощью конечного автомата, входит в рынок в точке LPS/LPSY — последней точке поддержки или последней точке предложения — и рассчитывает цели выхода по графику «крестики-нолики» в соответствии с законом причины и следствия Вайкоффа. Подробно рассматриваются размер клетки на основе ATR диапазона, разворот на одну клетку, проверка корректности целевой цены и резервная цель 2R. Читатель получает рабочий код, который можно запускать без внешних зависимостей.
preview
От начального до среднего уровня: Очереди, списки и деревья (II)

От начального до среднего уровня: Очереди, списки и деревья (II)

Это статья, которую вам, уважаемый читатель, следует внимательно изучить. Это связано с типом материала, который будет в нём изложен. Хотя мы постарались изложить материал максимально просто и познавательно, представленная здесь информация, несомненно, может показаться довольно сложной для тех, кто только начинает изучать программирование. Тем не менее, это не повод для уныния или игнорирования того, что здесь объясняется, так как эта статья установит связь между двумя совершенно разными, хотя и тесно связанными темами.
preview
Разработка инструментария для анализа Price Action (Часть 64): Синхронизация вручную построенных трендовых линий с автоматическим мониторингом

Разработка инструментария для анализа Price Action (Часть 64): Синхронизация вручную построенных трендовых линий с автоматическим мониторингом

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

Изучение Стандартной библиотеки MQL5 (Часть 3): Советник на основе канала стандартного отклонения

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

Встраивание торговой дисциплины в код (Часть 6): Построение единого фреймворка дисциплины на MQL5

В статье представлен унифицированный фреймворк обеспечения дисциплины на MQL5, которая объединяет модули белого списка символов, торговых часов и новостных фильтров, а также ежедневных лимитов сделок в рамках файла CDisciplineEngine.mqh. Объясняется централизованная проверка сделок и синхронизация состояний, выполняемые совместно дашбордом графиков и советником-принудителем. Читатели узнают, как авторизовывать ордера через единый шлюз, отслеживать разрешения в реальном времени и автоматически обеспечивать соблюдение правил на уровне всего терминала.
preview
Изучение Стандартной библиотеки MQL5 (Часть 2): Интеграция и связывание компонентов

Изучение Стандартной библиотеки MQL5 (Часть 2): Интеграция и связывание компонентов

Сегодня мы делаем важный шаг к тому, чтобы помочь каждому разработчику понять, как читать структуры классов и быстро создавать советники с помощью стандартной библиотеки MQL5. Библиотека богата и расширяема, но при этом может показаться, что вам вручили сложный набор инструментов без руководства. Здесь мы делимся и обсуждаем альтернативный алгоритм интеграции — краткий, повторяемый рабочий сценарий, демонстрирующий, как надежно связывать классы в реальных проектах.
preview
От начального до среднего уровня: Очереди, списки и деревья (I)

От начального до среднего уровня: Очереди, списки и деревья (I)

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

От начального до среднего уровня: Очереди, списки и деревья (III)

В этой статье мы сделаем следующий шаг в понимании того, что такое связный список и как он работает. Хотя содержание данной статьи может показаться довольно сложным и запутанным для новичков, я постараюсь объяснить его максимально доступным языком. Это поможет вам понять, почему и когда следует использовать связные списки.
preview
Изучение Стандартной библиотеки MQL5 (Часть 4): Создание библиотеки пользовательских сигналов

Изучение Стандартной библиотеки MQL5 (Часть 4): Создание библиотеки пользовательских сигналов

Сегодня мы используем стандартную библиотеку MQL5 для создания пользовательских классов сигналов и позволяем мастеру MQL5 собрать для нас профессиональный советник. Такой подход упрощает разработку, позволяя даже начинающим программистам создавать надежные советники без глубоких знаний в области программирования, сосредоточившись на настройке параметров и оптимизации стратегии. Давайте шаг за шагом разберем этот процесс.
preview
От начального до среднего уровня: Очереди, списки и деревья (IV)

От начального до среднего уровня: Очереди, списки и деревья (IV)

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

Система аудита счета в MQL5 (Часть 1): Проектирование пользовательского интерфейса

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

От начального до среднего уровня: Классы (I)

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

Изучение Стандартной библиотеки MQL5 (Часть 5): Мультисигнальный советник

В этом занятии мы создадим продвинутый мультисигнальный советник с использованием стандартной библиотеки MQL5. Такой подход позволяет нам органично сочетать встроенные сигналы с нашей пользовательской логикой, демонстрируя, как построить мощный и гибкий торговый алгоритм. Читайте далее.
preview
Изучение Стандартной библиотеки MQL5 (Часть 6): Оптимизация сгенерированного советника

Изучение Стандартной библиотеки MQL5 (Часть 6): Оптимизация сгенерированного советника

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

Изучение стандартной библиотеки MQL5 (Часть 7): Создание интерактивных меток позиций с помощью класса CCanvas

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