Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
Стили рисования в MQL5
Стили рисования в MQL5
В MQL4 есть 6 типов графического отображения индикаторов, а MQL5 доступно уже 18 стилей рисования. Поэтому, возможно, стоит написать статью о стилях рисования в MQL5. В данной статье мы рассмотрим подробности работы со стилями графического отображения индикаторов. Кроме того, мы создадим индикатор для иллюстрации всех этих стилей и уточним особенности графических построений.
Индикатор для построения графика "шпинделей" (веретён)
Индикатор для построения графика "шпинделей" (веретён)
Статья рассматривает построение графика "шпинделей" (spindles) или, как их еще называют, "веретён", его использование в торговых стратегиях и советниках. Вначале обсудим появление графика, его построение и связь с графиком японских свечей. Далее проанализируем реализацию индикатора в программном коде на языке MQL5. Протестируем основанный на индикаторе эксперт и сформулируем торговую стратегию.
Применение контейнеров для компоновки графического интерфейса: класс CBox
Применение контейнеров для компоновки графического интерфейса: класс CBox
В данной статье описан альтернативный метод создания графического интерфейса на основе схем компоновки и контейнеров при помощи менеджера компоновки, а именно класса CBox. Класс CBox представляет собой вспомогательное средство управления, которое действует как контейнер основных элементов управления графического интерфейса. Он упрощает составление графических панелей, а иногда и сокращает время написания кода.
Как написать индикатор в MQL5
Как написать индикатор в MQL5
Что представляет собою индикатор? Это набор вычисленных значений, которые мы хотим отобразить на экране монитора удобным для нас образом. Наборы значений представляются в программах в виде массивов. Таким образом, создание индикатора - это написание алгоритма, который обрабатывает одни массивы (массивы цен) и записывает результаты обработки в другие массивы (значения индикаторов). На примере создания индикатора True Strength Index в статье рассказывается, как писать индикаторы на MQL5
Простой пример построения индикатора с использованием нечеткой логики (Fuzzy Logic)
Простой пример построения индикатора с использованием нечеткой логики (Fuzzy Logic)
Статья посвящена вопросам практического применения концепции нечеткой логики (fuzzy logic) для анализа финансовых рынков. Предложен пример индикатора, выдающего сигналы на основе двух нечетких правил, основанных на индикаторе Envelopes. Разработанный индикатор использует несколько индикаторных буферов: 7 буферов для расчетов, 5 буферов для вывода графиков и 2 буфера цвета.
Практическая реализация цифровых фильтров на MQL5 для начинающих
Практическая реализация цифровых фильтров на MQL5 для начинающих
Идее цифровой фильтрации сигналов посвящаются достаточно объёмные темы обсуждения на форумах по построению торговых систем. В этой статье автор знакомит с процессом превращения кода более простого индикатора SMA из своей статьи "Пользовательские индикаторы в MQL5 для начинающих" в код гораздо более сложного универсального цифрового фильтра. В ней также изложены простейшие приёмы замены текста в коде и методика получения простейших навыков по исправлению ошибок программирования.
Построение каналов - взгляд изнутри и снаружи
Построение каналов - взгляд изнутри и снаружи
Наверное, не будет преувеличением сказать, что после скользящих средних каналы - самый популярный инструмент для анализа рыночной ситуации и принятия торговых решений. Не углубляясь во множество существующих стратегий использования каналов и их составных элементов, мы здесь рассмотрим математические основы и практическую реализацию индикатора, строящего канал, заданный тремя экстремумами на экране терминала.
Инструмент "Ценовая гистограмма" (Рыночный профиль) и его реализация на MQL5
Инструмент "Ценовая гистограмма" (Рыночный профиль) и его реализация на MQL5
Рыночный профиль был разработан Питером Стидлмайером (Peter Steidlmayer), который предложил использовать альтернативное представление информации как о горизонтальном, так и о вертикальном движении рынка, что дает полностью отличный набор моделей. Он предположил, что у рынка существует основной рыночный пульс, или фундаментальная модель, которая называется цикл равновесия и неравновесия (cycle of equilibrium and disequilibrium). В данной статье я сделаю попытку дать общие понятия об упрощенной модели Рыночного профиля (Market Profile) – Ценовой Гистограмме (Price Histogram) и расскажу, как реализовал данный инструмент на MQL5.
Торговая стратегия '80-20'
Торговая стратегия '80-20'
В статье описывается создание инструментов (индикатора и советника) для исследования торговой стратегии '80-20'. Правила ТС взяты из книги Линды Рашке и Лоуренса Коннорса "Биржевые секреты. Высокоэффективные стратегии краткосрочной торговли". На языке MQL5 формализованы правила этой стратегии, а созданные на ее основе индикатор и советник протестированы на современной истории рынка.
Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)
Графические интерфейсы XI: Нарисованные элементы управления (build 14.2)
В новой версии библиотеки все элементы библиотеки будут рисоваться на отдельных графических объектах типа OBJ_BITMAP_LABEL. Также продолжим описывать оптимизацию кода: рассмотрим изменения в классах, которые являются ядром библиотеки.
Графические интерфейсы XI: Поля ввода и комбо-боксы в ячейках таблицы (build 15)
Графические интерфейсы XI: Поля ввода и комбо-боксы в ячейках таблицы (build 15)
В этом обновлении библиотеки элемент "Таблица" (класс CTable) пополнится новыми опциями. Расширим линейку элементов в ячейках таблицы и на этот раз добавим в неё поля ввода и комбо-боксы. В качестве дополнения в это обновление была добавлена возможность управлять размерами окна пользователем MQL-приложения во время её выполнения.
Использование облачных хранилищ для обмена данными между терминалами
Использование облачных хранилищ для обмена данными между терминалами
Все большее распространение получают облачные технологии. К нашим услугам — как платные, так и бесплатные хранилища. Можем ли мы их использовать в трейдинге? В этой статье предлагается технология для обмена данными между терминалами с использованием облачных хранилищ.
Универсальный осциллятор с графическим интерфейсом
Универсальный осциллятор с графическим интерфейсом
В статье описывается создание универсального индикатора на основе всех осцилляторов терминала с собственным графическим интерфейсом. Это позволит быстро и удобно менять параметры каждого отдельного осциллятора прямо из окна графика (а не открывая окно свойств), сравнивать их показатели и выбирать оптимальный для себя вариант под конкретную задачу.
Статистические распределения в виде гистограмм без индикаторных буферов и массивов
Статистические распределения в виде гистограмм без индикаторных буферов и массивов
В статье рассматривается возможность создания гистограмм статистических распределений характеристик рынка с использованием графической памяти, то есть без использования индикаторных буферов и массивов. Приведены подробные примеры построения таких гистограмм и показан так называемый "скрытый" функционал графических объектов языка MQL5.
Волны Вульфа
Волны Вульфа
Графический метод, предложенный Биллом Вульфом, позволяет не только выявить фигуру и тем самым определить момент и направление входа, но и спрогнозировать цель, которую должна достигнуть цена, и время ее достижения. В статье описано, как на основе индикатора Зигзаг создать индикатор для поиска волн Вульфа и простой советник, торгующий по его сигналам.
Графические интерфейсы X: Выделение текста в многострочном поле ввода (build 13)
Графические интерфейсы X: Выделение текста в многострочном поле ввода (build 13)
В этой статье будет реализована возможность выделения текста с помощью различных клавишных комбинаций и удаление выделенного текста, по образцу того, как это сделано в любом другом текстовом редакторе. Кроме этого, продолжим оптимизировать код и подготовим классы для перехода к завершающему процессу второго этапа развития библиотеки, когда все элементы управления будут нарисованными на отдельных картинках (холстах для рисования).
Пример индикатора, строящего линии поддержки и сопротивления
Пример индикатора, строящего линии поддержки и сопротивления
В статье приводится пример реализации индикатора для построения линий поддержки и сопротивления на основе формализованных условий. Вы сможете не только применить индикатор, но и поймете, насколько просто это реализовать. Теперь вы сможете сами сформулировать те условия для построения линий, которые посчитаете нужными, немного изменив код индикатора под свои нужды.
Графические интерфейсы X: Алгоритм переноса слов в многострочном поле ввода (build 12)
Графические интерфейсы X: Алгоритм переноса слов в многострочном поле ввода (build 12)
Продолжим развивать элемент "Многострочное поле ввода". Наша задача на этот раз — сделать автоматический перенос слов на следующую строку в случае переполнения по ширине поля ввода или же обратный перенос на предыдущую строку, если появляется такая возможность.
Универсальный тренд с графическим интерфейсом
Универсальный тренд с графическим интерфейсом
В статье на основе ряда стандартных индикаторов создается универсальный трендовый индикатор. Разрабатывается графический интерфейс для выбора типа индикатора и настройки его параметров. Индикатор отображается в отдельном окне с рядами разноцветных значков.
Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11)
Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11)
Продолжаем добавлять в нарисованную таблицу новые возможности: сортировку данных, управление количеством столбцов и строк, установку типа ячеек таблицы для закрепления в них элементов управления.
Секвента ДеМарка (TD SEQUENTIAL) с использованием искусственного интеллекта
Секвента ДеМарка (TD SEQUENTIAL) с использованием искусственного интеллекта
В этой статье я расскажу, как с помощью "скрещивания" одной очень известной стратегии и нейронной сети можно успешно заниматься трейдингом. Речь пойдет о стратегии Томаса Демарка "Секвента" с применением системы искусственного интеллекта. Работать будем ТОЛЬКО по первой части стратегии, используя сигналы "Установка" и "Пересечение".
Рецепты MQL5 - Торговые сигналы пивотов
Рецепты MQL5 - Торговые сигналы пивотов
В статье представлен процесс разработки и реализации класса-сигнальщика на основе пивотов — разворотных уровней. На базе этого класса строится стратегия с использованием Стандартной библиотеки. Рассматриваются возможности развития стратегии пивотов посредством добавления фильтров.
Графические интерфейсы X: Обновления для нарисованной таблицы и оптимизация кода (build 10)
Графические интерфейсы X: Обновления для нарисованной таблицы и оптимизация кода (build 10)
Продолжаем дополнять нарисованную таблицу (CCanvasTable) новыми возможностями. Теперь в таблице появятся: подсветка строк при наведении курсора мыши; возможность добавлять массив картинок для каждой ячейки и метод для их переключения; возможность задать или изменить текст в ячейках во время выполнения программы и многое другое.
Универсальный канал с графическим интерфейсом
Универсальный канал с графическим интерфейсом
Все индикаторы каналов представляют собой три линии: центральную, верхнюю и нижнюю. Центральная линия по принципу своего построения идентична скользящей средней, и в большинстве случаев для построения канала используется именно скользящая средняя. Верхняя и нижняя линия располагаются на одинаковом расстоянии от центральной линии. Это расстояние может определяться просто в пунктах, в процентах от цены (индикатор Envelopes), может использоваться значение стандартной девиации (полосы Боллинджера), может — значение индикатора ATR (канал Кельтнера).
3D-моделирование на MQL5
3D-моделирование на MQL5
Временной ряд — это динамическая система, в которой значения некоторой случайной величины поступают последовательно — непрерывно или через некоторые промежутки времени. Переход от плоского к объёмному анализу рынка позволяет по-новому взглянуть на сложные процессы и явления, интересующие исследователя. В статье описаны функции визуализации для 3-D представления двумерных данных.
Графические интерфейсы X: Новые возможности для нарисованной таблицы (build 9)
Графические интерфейсы X: Новые возможности для нарисованной таблицы (build 9)
До сегодняшнего дня самым развитым типом таблиц из всех представленных в библиотеке был тип CTable. Эта таблица собирается из полей ввода типа OBJ_EDIT, и дальнейшее её развитие уже проблематично. Поэтому с точки зрения максимальных возможностей даже на текущем этапе развития библиотеки, лучше развивать нарисованную таблицу типа CCanvasTable. Текущая её версия совсем безжизненна, но начиная с этой статьи, мы будем пытаться это исправить.
Графические интерфейсы X: Элемент "Стандартный график" (build 4)
Графические интерфейсы X: Элемент "Стандартный график" (build 4)
На этот раз мы рассмотрим такой элемент графического интерфейса, как Стандартный график. С его помощью можно будет создавать массивы объектов-графиков с возможностью синхронизированной горизонтальной прокрутки. Кроме этого, продолжим оптимизировать код библиотеки для уменьшения потребления ресурсов процессора.
Графические интерфейсы X: Текстовое поле ввода, слайдер картинок и простые элементы управления (build 5)
Графические интерфейсы X: Текстовое поле ввода, слайдер картинок и простые элементы управления (build 5)
В этой статье будут рассматриваться новые элементы управления: «Текстовое поле ввода», «Слайдер картинок», а также простые дополнительные элементы: «Текстовая метка» и «Картинка». Библиотека продолжает развиваться, и кроме добавления новых элементов управления, дорабатываются и ранее созданные.
Графические интерфейсы X: Элемент "Время", элемент "Список из чекбоксов" и сортировка таблицы (build 6)
Графические интерфейсы X: Элемент "Время", элемент "Список из чекбоксов" и сортировка таблицы (build 6)
Продолжаем развивать библиотеку для создания графических интерфейсов. На этот раз будут представлены такие элементы, как «Время» и «Список из чекбоксов». Кроме этого, в класс таблицы типа CTable добавлена возможность сортировать данные по возрастанию и убыванию.
Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)
Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)
Код библиотеки нуждается в оптимизации: он должен быть более упорядоченным, а значит — более читаемым и понятным для изучения. Кроме этого, продолжим развивать элементы управления, созданные ранее: списки, таблицы и полосы прокрутки.
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)
В предыдущей главе восьмой части серии о графических интерфейсах рассматривались элементы «Статический календарь» и «Выпадающий календарь». Вторую главу посвятим не менее сложному составному элементу, такому как «Древовидный список», без которого не обходится ни одна полноценная библиотека для создания графических интерфейсов. Представленная в этой статье реализация древовидного списка содержит в себе множество гибких настроек и режимов, что позволит максимально точно настроить этот элемент управления под свои нужды.
Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 2)
Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 2)
С момента предыдущей публикации статьи этой серии, библиотека Easy And Fast пополнилась новыми возможностями. Проведена частичная оптимизация схемы и кода библиотеки, что немного сократило потребление ресурсов CPU. Некоторые повторяющиеся методы во многих классах элементов были перенесены в базовый класс CElement.
Графические интерфейсы VIII: Элемент "Календарь" (Глава 1)
Графические интерфейсы VIII: Элемент "Календарь" (Глава 1)
В восьмой части серии о создании графических интерфейсов в среде торговых терминалов MetaTrader мы рассмотрим сложные составные элементы управления: календари, древовидный список, файловый навигатор. Каждому из этих элементов будут посвящены отдельные статьи, поскольку материал довольно объемный. Итак, в первой главе этой части описывается элемент "Календарь" и его расширенная версия — "Выпадающий календарь".
Графические интерфейсы IX: Элементы "Индикатор выполнения" и "Линейный график" (Глава 2)
Графические интерфейсы IX: Элементы "Индикатор выполнения" и "Линейный график" (Глава 2)
Вторая глава девятой части серии будет посвящена элементам «Индикатор выполнения» и «Линейный график». Как всегда, будут показаны подробные примеры того, как можно использовать эти элементы в своих MQL-приложениях.
Графические интерфейсы IX: Элемент "Палитра для выбора цвета" (Глава 1)
Графические интерфейсы IX: Элемент "Палитра для выбора цвета" (Глава 1)
Этой статьей мы открываем девятую часть серии о разработке библиотеки для создания графических интерфейсов в среде торговых терминалов MetaTrader. Она состоит из двух глав, в которых представлены новые элементы управления и интерфейса: «Палитра для выбора цвета», «Кнопка для вызова цветовой палитры», «Индикатор выполнения» и «Линейный график».
Графические интерфейсы VIII: Элемент "Файловый навигатор" (Глава 3)
Графические интерфейсы VIII: Элемент "Файловый навигатор" (Глава 3)
В предыдущих главах восьмой части серии наша библиотека пополнилась несколькими классами для создания указателей для курсора мыши, календарей и древовидных списков. В настоящей статье рассмотрим элемент «Файловый навигатор», который тоже можно будет использовать в качестве части графического интерфейса MQL-приложения.
LifeHack для трейдера: индикаторы баланса, просадки, загрузки и тиков во время тестирования
LifeHack для трейдера: индикаторы баланса, просадки, загрузки и тиков во время тестирования
Как сделать тестирование более наглядным? Ответ прост: нужно использовать в тестере один или несколько индикаторов — тиковый индикатор, индикатор баланса и эквити, индикатор просадки и загрузки депозита. Это позволит визуально отслеживать или природу тиков, или изменение баланса и эквити, или просадку и загрузку депозита.