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

icon

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

В статьях подробно объясняются приложенные исходные коды, скачивайте их в редактор MetaEditor и программируйте вместе с автором в процессе чтения.

Новая статья
последние | лучшие
Способ построения уровней сопротивления и поддержки средствами MQL5
Способ построения уровней сопротивления и поддержки средствами MQL5

Способ построения уровней сопротивления и поддержки средствами MQL5

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

Рисование стрелочных индикаторов с использованием класса CCanvas

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

Трендовые линии на основе фракталов посредством MQL4 и MQL5

В статье описано решение по автоматизации построения трендовых линий на основе индикатора Fractals с помощью MQL4 и MQL5. Структура статьи представлена в сравнительном виде в рамках решения поставленной задачи с позиции двух языков. Построение трендовых линий осуществляется по двум последним известным фракталам.
Торговые идеи на основе направления и скорости движения цен
Торговые идеи на основе направления и скорости движения цен

Торговые идеи на основе направления и скорости движения цен

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

Жидкий график

Как выглядит часовой график, у которого бары открываются со второй или с пятой минуты часа? Как выглядит перерисовывающийся график, у которого времена открытия баров изменяются каждую минуту? Какие преимущества даёт торговля по таким графикам? Ответы на эти вопросы вы найдёте в данной статье.
Типичные ошибки в программах на MQL4 и методы их устранения
Типичные ошибки в программах на MQL4 и методы их устранения

Типичные ошибки в программах на MQL4 и методы их устранения

В старой версии компилятора во избежание критического завершения программ многие ошибки обрабатывались средой исполнения. Например, деление на ноль или выход за пределы массива являются критическими ошибками и обычно приводят к аварийному завершению работы программ. Новый компилятор позволяет обнаружить реальные или потенциальные источники ошибок и повысить качество кода. В этой статье мы рассмотрим возможные ошибки, возникающие при компиляции старых программ и методы их устранения.
Индикатор для построения графика "Ренко"
Индикатор для построения графика "Ренко"

Индикатор для построения графика "Ренко"

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

Рецепты MQL5 - Разработка мультивалютного индикатора для анализа расхождения цен

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

Рецепты MQL5 - Разработка мультивалютного индикатора волатильности на MQL5

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

Индикатор для построения графика "Каги"

В статье предложен вариант индикатора графика "Каги" с различными способами построения и дополнительными функциями, рассмотрен принцип построения индикатора и особенности его реализации на MQL5. Представлены наиболее популярные примеры его практического использования в торговле - стратегии торговли по смене Yin/Yang, отталкивание от линии тренда, торговля по каналам и последовательно возрастающие "плечи"/убывающие "талии".
Рецепты MQL5 - Элементы управления в подокне индикатора - Полоса прокрутки
Рецепты MQL5 - Элементы управления в подокне индикатора - Полоса прокрутки

Рецепты MQL5 - Элементы управления в подокне индикатора - Полоса прокрутки

Продолжим изучение элементов управления и на этот раз рассмотрим полосу прокрутки (scrollbar). Так же, как и в предыдущей статье "Рецепты MQL5 - Элементы управления в подокне индикатора - Кнопки", будем работать в подокне индикатора. Упомянутую статью необходимо изучить, так как в ней подробно изложена работа с событиями в функции OnChartEvent(), а здесь о них будет только поверхностное упоминание. В этой статье в качестве примера мы создадим вертикальную полосу прокрутки для большого списка всех показателей финансового инструмента, которые возможно получить средствами MQL5.
Рецепты MQL5 - Элементы управления в подокне индикатора - Кнопки
Рецепты MQL5 - Элементы управления в подокне индикатора - Кнопки

Рецепты MQL5 - Элементы управления в подокне индикатора - Кнопки

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

Рецепты MQL5 - Наблюдение за несколькими таймфреймами в одном окне

MetaTrader 5 предлагает на выбор 21 таймфрейм для анализа. На график можно также поместить специальный объект-график и уже в нем задать символ, таймфрейм и еще некоторые свойства. В этой статье рассмотрим такие графические объекты более подробно: создадим индикатор с элементами управления (кнопками), с помощью которых можно будет устанавливать в подокно сразу несколько объектов-графиков. При этом объекты-графики будут точно вписываться и автоматически подстраиваться под размер подокна при изменении размеров главного окна графика или терминала.
Расширение стандартной библиотеки MQL5 и повторное использование кода
Расширение стандартной библиотеки MQL5 и повторное использование кода

Расширение стандартной библиотеки MQL5 и повторное использование кода

Стандартная библиотека MQL5 значительно упрощает жизнь разработчика. Однако она не может удовлетворить все требования абсолютно всех разработчиков в мире, поэтому если вы хотите иметь в своем распоряжении больше пользовательских элементов, вам необходимо расширить ее. В статье описывается интеграция обычного индикатора ZigZag в стандартную библиотеку. В ходе работы мы придерживались принципов разработки, применяемых в компании MetaQuotes.
Индикатор "ЗигЗаг": новый взгляд и новые решения
Индикатор "ЗигЗаг": новый взгляд и новые решения

Индикатор "ЗигЗаг": новый взгляд и новые решения

В статье рассматривается возможность создания опережающего индикатора ЗигЗаг. Идея поиска узлов базируется на использовании индикатора Envelopes. Есть предположение, что найдётся такая комбинация входных параметров серии конвертов, при которых все узлы ЗигЗага будут находиться в пределах линий Envelopes. Следовательно, можно попробовать прогнозировать координаты нового узла.
Индикатор для построения графика "Крестики - Нолики"
Индикатор для построения графика "Крестики - Нолики"

Индикатор для построения графика "Крестики - Нолики"

Существует множество типов графиков, которые представляют информацию о текущей ситуации на рынке. Многие из них пришли к нам из далёкого прошлого, и как раз одним из таких является график "Крестики-нолики". В статье описан пример построения графика "Крестики - Нолики" в виде индикатора в реальном времени.
Отладка программ на MQL5
Отладка программ на MQL5

Отладка программ на MQL5

Эта статья ориентирована в первую очередь на программистов, которые уже изучили язык, но еще недостаточно освоились в разработке программ. Статья раскрывает практические приемы отладки программ и является объединенным опытом, не только моим, но и многих программистов, на опыте которых я учился.
Основы программирования на MQL5 - Время
Основы программирования на MQL5 - Время

Основы программирования на MQL5 - Время

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

Расчёт интегральных характеристик излучений индикаторов

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

Создай свои графические панели на MQL5

Удобство пользования MQL5-программой определяется не только её богатой функциональностью, но и продуманным графическим интерфейсом. Визуальное восприятие иногда гораздо важнее, чем быстрая и стабильная работа. Перед вами пошаговое руководство по самостоятельному созданию индикаторных панелей на основе классов Стандартной библиотеки.
Объектно-ориентированный подход к построению мультитаймфреймовых и мультивалютных панелей
Объектно-ориентированный подход к построению мультитаймфреймовых и мультивалютных панелей

Объектно-ориентированный подход к построению мультитаймфреймовых и мультивалютных панелей

В статье рассказывается об использовании объектно-ориентированного подхода для разработки для создания мультитаймфреймовых и мультивалютных панелей в MetaTrader 5. Основной целью является построение универсальной панели, которая может быть использована для отображения различных типов данных (цены, их изменения, значения индикаторов или текущее состояние условий на покупку и продажу) без изменения кода самой панели.
MQL5-RPC - Удаленный вызов процедур из MQL5: доступ к Web-сервисам и анализ данных Automated Trading Championship 2011
MQL5-RPC - Удаленный вызов процедур из MQL5: доступ к Web-сервисам и анализ данных Automated Trading Championship 2011

MQL5-RPC - Удаленный вызов процедур из MQL5: доступ к Web-сервисам и анализ данных Automated Trading Championship 2011

В этой статье описывается технология MQL5-RPC, которая позволяет осуществлять вызов удаленных процедур из MQL5. Мы разберем основы XML-PRC, ее реализацию на MQL5 и два примера ее практического использования. Первый пример - использование удаленного вызова процедур web-сервиса внешнего сайта, второй пример - клиентская часть XML-RPC сервера, который будет использован для обработки и анализа данных сайта Automated Trading Championship 2011. Если вас интересует вопрос программной реализации экспорта и анализа различных статистических характеристик участников ATC 2011, эта статья для вас.
Теория адаптивных индикаторов и ее реализация в MQL5
Теория адаптивных индикаторов и ее реализация в MQL5

Теория адаптивных индикаторов и ее реализация в MQL5

В этой статье будут описаны принципы написания адаптивных индикаторов и их реализация в MQL5. В качестве примеров рассмотрены индикаторы Adaptive Cyber Cycle, Adaptive Center of Gravity и Adaptive RVI. Все эти индикаторы были впервые представлены в книге Джона Элерса "Cybernetic Analysis for Stocks and Futures".
3 метода ускорения индикаторов на примере линейной регрессии
3 метода ускорения индикаторов на примере линейной регрессии

3 метода ускорения индикаторов на примере линейной регрессии

Рассматриваются методы оптимизации вычислительных алгоритмов индикаторов. Каждый читатель найдет себе метод по душе: описан один простой метод, один требующий серьезных познаний в математике, и еще один, для которого нужна смекалка. Реализация большинства представленных методов задействует конструкционные особенности устройства индикаторов или терминала MetaTrader 5. При этом сами методы довольно универсальны - применимы не только для ускорения расчета линейной регрессии, но и для многих других индикаторов.
Прогнозирование временных рядов в MetaTrader 5 при помощи библиотеки машинного обучения ENCOG
Прогнозирование временных рядов в MetaTrader 5 при помощи библиотеки машинного обучения ENCOG

Прогнозирование временных рядов в MetaTrader 5 при помощи библиотеки машинного обучения ENCOG

Статья посвящена использованию функционала нейронных сетей библиотеки машинного обучения ENCOG в MetaTrader 5. В качестве примера приведена реализация простого нейросетевого индикатора на основе технических индикаторов и советника, торгующего по сигналам нейросетевого индикатора. Все исходные коды, скомпилированные библиотеки и примеры обученной сети прилагаются к статье.
Индикаторы малой, промежуточной и основной тенденции
Индикаторы малой, промежуточной и основной тенденции

Индикаторы малой, промежуточной и основной тенденции

Предметом статьи является исследование возможности автоматизации торговли и анализа на основании некоторых идей из книги Джеймса Хьержика "Модель, Цена и Время. Применение теории Ганна в системах торговли" в виде индикаторов и эксперта. Не претендуя на исчерпывающую полноту, здесь исследуется только первая часть теории Ганна - Модель.
Уменьшаем расход памяти на вспомогательные индикаторы
Уменьшаем расход памяти на вспомогательные индикаторы

Уменьшаем расход памяти на вспомогательные индикаторы

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

Реализация автоматического анализа волн Эллиотта на MQL5

Одним из самых популярных методов анализа рынка является волновой анализ. Однако данный процесс является достаточно сложным, что приводит к использованию дополнительных инструментов. Одним из таких инструментов является автоматический разметчик. В данной статье рассматривается создание автоматического анализатора волн Эллиотта на языке MQL5.
Новый индикатор технического анализа Moving Mini-Max и его реализация в MQL5
Новый индикатор технического анализа Moving Mini-Max и его реализация в MQL5

Новый индикатор технического анализа Moving Mini-Max и его реализация в MQL5

В статье рассматривается новый индикатор технического анализа Moving Mini-Max, разработанный З.К. Силагадзе в 2008 году. Индикатор основан на модели туннельного эффекта, предложенного Г. Гамовым в теории альфа-распада. Описывается реализация индикатора на MQL5 и возможности его использования в торговле.
Эконометрический подход к анализу графиков
Эконометрический подход к анализу графиков

Эконометрический подход к анализу графиков

В данной статье рассматриваются эконометрические методы исследования, в частности автокорреляционный анализ и анализ условной дисперсии. Что нам даёт описанный в статье подход? Применение нелинейной GARCH-модели позволяет, во-первых, формально представить исследуемый ряд с математической точки зрения, а во-вторых, создать прогноз на заданное количество шагов.
Построение каналов - взгляд изнутри и снаружи
Построение каналов - взгляд изнутри и снаружи

Построение каналов - взгляд изнутри и снаружи

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

Параллельные вычисления в MetaTrader 5 штатными средствами

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

Работа по Накоплению/Распределению и что из этого можно сделать

Индикатор Накопления/Распределения A/D имеет одно интересное свойство - пробитие трендовой линии, построенной на графике данного индикатора с определённой долей вероятности говорит нам о скором пробое линии тренда на графике цены. Данная статья будет полезна и интересна людям, только начинающим программировать на MQL4, поэтому я постарался изложить всё в наиболее доступной для понимания форме и использовать самые простые конструкции построения кода.
Взгляни на рынок через готовые классы
Взгляни на рынок через готовые классы

Взгляни на рынок через готовые классы

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

Строим анализатор спектра

Данная статья призвана познакомить читателя с возможным вариантом использования графических объектов языка MQL5. В статье рассматривается индикатор, в котором при помощи графических объектов создана панель управления простейшим анализатором спектра. Статья рассчитана на читателя, знакомого с основами языка MQL5.
Простой пример построения индикатора с использованием нечеткой логики (Fuzzy Logic)
Простой пример построения индикатора с использованием нечеткой логики (Fuzzy Logic)

Простой пример построения индикатора с использованием нечеткой логики (Fuzzy Logic)

Статья посвящена вопросам практического применения концепции нечеткой логики (fuzzy logic) для анализа финансовых рынков. Предложен пример индикатора, выдающего сигналы на основе двух нечетких правил, основанных на индикаторе Envelopes. Разработанный индикатор использует несколько индикаторных буферов: 7 буферов для расчетов, 5 буферов для вывода графиков и 2 буфера цвета.
Построение кода индикаторов с несколькими индикаторными буферами для начинающих
Построение кода индикаторов с несколькими индикаторными буферами для начинающих

Построение кода индикаторов с несколькими индикаторными буферами для начинающих

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

Как создать свой Trailing Stop

Основное правило трейдера - дай прибыли расти, обрезай убытки! В статье рассматривается один из основных технических приемов, позволяющий следовать этому правилу - перемещение уровня защитной остановки (уровня Stoploss) вслед за растущей прибылью позиции, другими словами - скользящий стоп или трейлинг стоп (trailingstop). Приводится пошаговая процедура создания класса для трейлинг стопа на индикаторах SAR и NRTR, который каждый желающий сможет за 5 минут встроить в своего эксперта или использовать независимо для управления позициями на своем счете.
Исследование паттернов (моделей) японских свечей
Исследование паттернов (моделей) японских свечей

Исследование паттернов (моделей) японских свечей

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

Цветные индикаторы - создание и применение

Речь в данной статье пойдет о возможностях для создания цветных индикаторов и раскрашивания индикаторов уже существующих. С переходом на MQL5 появилась возможность представлять информацию в удобном для глаза виде. Теперь не обязательно накидывать кучу графиков с разными индикаторами и с линейкой высматривать уровни RSI и Stochastic, можно просто раскрасить свечи в разные цвета в зависимости от показаний индикаторов.