График PairPlot на основе CGraphic для анализа зависимостей между массивами данных (таймсериями)
Часто в процессе технического анализа перед трейдерами ставится задача сравнения нескольких временных рядов. Проведение такого анализа требует соответствующих инструментов. В этой статье я предлагаю построить инструмент для графического анализа и поиска зависимостей между двумя и более временных рядов.
Технический индикатор своими руками
В этой статье мы рассмотрим алгоритмы, следуя которым можно создать свой собственный технический индикатор. Мы увидим, как с помощью очень простых начальных предположений можно получить довольно сложные и интересные результаты.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть II): Коллекция исторических ордеров и сделок
В первой статье мы начали создавать большую кроссплатформенную библиотеку, целью которой является облегчение создания программ для платформ MetaTrader 5 и MetaTrader 4. Создали абстрактный объект COrder, который является базовым объектом для хранения данных исторических ордеров и сделок, а также рыночных ордеров и позиций. Теперь мы создадим все необходимые объекты для хранения данных истории счёта в коллекциях.
Основы создания хеджирующего эксперта
В данной статье предлагается пример создания хеджирующего эксперта. Автором была выбрана пара для хеджирования - EURJPY и GBPJPY - в соответствии с собственными предпочтениями. По мнению автора, эта пара всегда движется равномерно и представляет меньше трудностей для установки хеджированного ордера.
Непрерывная скользящая оптимизация (Часть 2): Механизм создания отчета оптимизации для любого робота
Если прошлая статья повествовала о создании DLL-библиотеки, которая будет использоваться в нашем автооптимизаторе и в роботе, то продолжение будет целиком посвящено языку MQL5.
Взаимодействие между MеtaTrader 4 и MATLAB Engine (виртуальная машина MATLAB)
В данной статье рассматривается вопрос создания DLL библиотеки - обертки, которая позволит взаимодействовать MetaTrader 4 с математическим рабочим столом пакета MATLAB. Описаны "подводные камни" и пути их преодоления. Статья рассчитана на подготовленных программистов С/С++, использующих компилятор Borland C++ Builder 6.
Рецепты MQL5 - обработка пользовательских событий графика
В данной статье рассматриваются аспекты проектирования и разработки системы пользовательских событий графика в среде MQL5. Предлагается пример подхода для классификации событий. Приводится программный код событийного класса и класса-обработчика пользовательских событий.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIII): События объекта "аккаунт"
В данной статье будут рассмотрены методы работы с событиями аккаунта (счёта), позволяющие отслеживать важные события изменения свойств счёта, так или иначе влияющие на автоматическую торговлю.Некоторая часть функционала для отслеживания событий аккаунта, уже была нами создана в прошлой статье при создании коллекции объектов-аккаунтов.
Работа с таймсериями в библиотеке DoEasy (Часть 39): Индикаторы на основе библиотеки - подготовка данных и события таймсерий
В статье рассмотрим применение библиотеки DoEasy для создания мультисимвольных мультипериодных индикаторов. Подготовим классы библиотеки для работы в составе индикаторов и протестируем правильное создание таймсерий для их использования в качестве источников данных в индикаторах. Организуем создание и отсылку событий таймсерий.
Перенос кода индикатора в код эксперта. Общие схемы строения эксперта и индикаторных функций
Статья посвящена переносу кода индикатора в код эксперта и написанию экспертов, в которых отсутствуют обращения к пользовательским индикаторам, а весь программный код для расчёта нужных индикаторных значений находится внутри самого эксперта. В данной статье излагается общие схема изменения эксперта и идея построения индикаторной функции на основе пользовательского индикатора. Статья рассчитана на читателя, уже имеющего опыт программирования на языке MQL 4.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XV): Коллекция объектов-символов
В статье рассмотрим создание коллекции символов на основе базового абстрактного объекта-символа, созданного в прошлой статье. Наследники абстрактного символа будут уточнять информацию о символе, в них будет организовано определение доступности в программе свойств базового объекта-символа, и различаться такие объекты-символы будут по их принадлежности к группам.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XII): Класс объекта "аккаунт", коллекция объектов-аккаунтов
В предыдущей статье мы определили события закрытия позиций для MQL4 в библиотеке и избавились от оказавшихся невостребованными свойств ордеров. В данной статье рассмотрим создание объекта "Аккаунт", создадим коллекцию объектов-аккаунтов и подготовим функционал для отслеживания событий аккаунтов.
Графические интерфейсы V: Элемент "Список" (Глава 2)
В первой главе пятой части были разработаны классы для создания таких элементов управления, как вертикальная и горизонтальная полоса прокрутки. В этой статье применим их на практике. На этот раз создадим класс для создания элемента «Список», составной частью которого будет вертикальная полоса прокрутки.
MT4TerminalSync - система синхронизации терминалов MetaTrader 4
Данная статья относится к тематике: "Расширение возможностей MQL 4 - программ путем использования функций операционных систем, а также других средств разработки программ". Статья посвящена описанию примера программной системы, реализующей задачу синхронизации нескольких копий терминала на основе одного источника-шаблона.
Работа с ценами и Сигналами в библиотеке DoEasy (Часть 65): Коллекция стаканов и класс для работы с Сигналами MQL5.com
В статье создадим класс-коллекцию стаканов цен всех символов и начнём разработку функционала для работы с сервисом сигналов MQL5.com — создадим класс объекта-сигнала.
Передача торговых сигналов в универсальном советнике.
В статье описываются различные способы передачи торговых сигналов из сигнального модуля универсального советника в модуль управления позициями и ордерами. Рассматриваются последовательный и параллельный интерфейсы.
Несколько индикаторов на графике (Часть 01): Понимание концепций
Сегодня разберем, как можно добавить несколько индикаторов в график одновременно, не занимая при этом отдельную его область. При торговле много трейдеров чувствуют себя более уверенно, если одновременно смотрят на несколько индикаторов (например, RSI, STOCASTIC, MACD, ADX и другие), а в некоторых случаях даже на разные активы, составляющие тот или иной индекс.
Графика в библиотеке DoEasy (Часть 79): Класс объекта "Кадр анимации" и его объекты-наследники
В статье разработаем класс одного кадра анимации и его наследников. Класс будет позволять рисовать фигуры с сохранением и последующим восстановлением фона под нарисованной фигурой.
Популяционные алгоритмы оптимизации
Вводная статья об алгоритмах оптимизации (АО). Классификация. В статье предпринята попытка создать тестовый стенд (набор функций), который послужит в дальнейшем для сравнения АО между собой, и, даже, возможно, выявления самого универсального алгоритма из всех широко известных.
Популяционные алгоритмы оптимизации: Муравьиная Колония (Ant Colony Optimization - ACO)
В этот раз разберём алгоритм оптимизации Муравьиная Колония. Алгоритм очень интересный и неоднозначный. Попытка создания нового типа ACO.
Работа с таймсериями в библиотеке DoEasy (Часть 36): Объект таймсерий всех используемых периодов символа
В статье рассмотрим объединение списков объектов-баров по каждому используемому периоду символа в один объект таймсерий символа. Таким образом у нас будет для каждого символа подготовлен объект, хранящий списки всех используемых периодов таймсерии символа.
Делаем информационную панель для отображения данных в индикаторах и советниках
В статье рассмотрим создание класса информационной панели для использования её в индикаторах и советниках. Это вводная статья в небольшой серии статей с шаблонами подключения и использования стандартных индикаторов в советниках. Начнем мы с создания панели — аналога окна данных MetaTrader 5.
Прочие классы в библиотеке DoEasy (Часть 72): Отслеживание и фиксация параметров объектов-чартов в коллекции
В статье завершим работу над классами объектов-чартов и их коллекцией. Сделаем автоматическое отслеживание изменения свойств чартов и их окон, а также сохранение новых параметров в свойства объекта. Такая доработка позволит в будущем сделать событийный функционал для всей коллекции чартов.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVII): Работа с торговыми запросами - выставление отложенных ордеров
В статье продолжим работу над торговыми запросами и реализуем выставление отложенных ордеров, а также устраним найденные недочёты в работе торгового класса.
Графика в библиотеке DoEasy (Часть 78): Принципы анимации в библиотеке. Нарезка изображений
В статье определим принципы анимации, которые будем использовать в некоторых частях библиотеки, разработаем класс для копирования части изображения и вставки его в указанное место объекта-формы с сохранением и восстановлением той части фона формы, на которую будет накладываться рисунок.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить создание программ для платформы MetaTrader 5 и MetaTrader 4. В шестой части мы научили библиотеку работать с позициями на счетах с типом "неттинг". В данной части сделаем отслеживание событий срабатывания StopLimit-ордеров и подготовим функционал для отслеживания событий модификации рыночных ордеров и позиций.
Применение псевдошаблонов как альтернатива шаблонов С++
В статье описывается прием программирования, позволяющий обойтись без механизма шаблонов, при этом сохранив стиль программирования, присущий им. Рассмотрены особенности реализации шаблонов пользовательскими методами, прилагается готовый к эксплуатации код скрипта, создающий код на основе указанных шаблонов.
Ошибки начинающего трейдера при работе с клиентским терминалом MetaTrader 4
Все люди ошибаются - кто-то чаще, кто-то реже, кто-то по незнанию, кто-то по невнимательности. Вы спрашиваете - мы отвечаем: время в терминале, результаты тестирования, Print в журнал, символы, история для тестера, импорт истории, плечо, трафик, всплывающие подсказки, масштаб, неверный счет, Invalid account, пустые новости, Price changed, Not Enough Money, Market Is Closed.
Реализация трёхцветных индикаторов и некоторые возможности для максимального упрощения написания индикаторов
В этой статье автор рассматривает некоторые способы повышения информативности индикаторов для визуального трейдинга. Автор рассматривает реализацию трёхцветных индикаторов, индикаторов, для построения которых используются данные с других таймфреймов и производит дальнейшее знакомство с библиотекой индикаторов, начатое в статье " Эффективные алгоритмы усреднения с минимальным лагом и их использование в индикаторах."
Графика в библиотеке DoEasy (Часть 77): Класс объекта Тень
В статье создадим отдельный класс для объекта тени — наследника объекта графического элемента, а также добавим возможность заполнять фон объекта градиентной заливкой.
Графические интерфейсы VIII: Элемент "Файловый навигатор" (Глава 3)
В предыдущих главах восьмой части серии наша библиотека пополнилась несколькими классами для создания указателей для курсора мыши, календарей и древовидных списков. В настоящей статье рассмотрим элемент «Файловый навигатор», который тоже можно будет использовать в качестве части графического интерфейса MQL-приложения.
Графика в библиотеке DoEasy (Часть 75): Методы работы с примитивами и текстом в базовом графическом элементе
В статье продолжим развитие базового класса-графического элемента всех графических объектов библиотеки, создаваемых на основе класса Стандартной библиотеки CCanvas. Мы создадим методы для рисования графических примитивов и методы вывода текста на объект-графический элемент.
Работаем со временем (Часть 2): Функции
Научимся автоматически распознавать смещения времени у брокера и время по Гринвичу. Вместо того, чтобы обращаться к брокеру, который скорее всего даст недостаточно полный ответ (а кто захочет объяснять, куда пропал торговый час?), мы сами посмотрим, по какому времени приходят от них котировки в те недели, когда переводят часы. Но конечно же, это мы будем делать не вручную — пусть за нас работает программа.
Отправка SMS из торгового советника через Skype
В статье рассматривается способ отправки внутренних сообщений и SMS из торгового советника на мобильные телефоны через Skype .
Популяционные алгоритмы оптимизации: Искуственная Пчелиная Колония (Artificial Bee Colony - ABC)
Сегодня изучим алгоритм искусственной пчелиной колонии. Дополним наши знания новыми принципами исследования функциональных пространств. В данной статье я расскажу о моей интерпретации классического варианта алгоритма.
Биржевые данные без посредников: подключаем MetaTrader 5 к MOEX через ISS API
В статье предложено решение для интеграции MetaTrader 5 с веб-сервисом MOEX ISS. Прилагаются утилиты для автоматической генерации исходных кодов на основе справочника API и индекса основных элементов сервиса.
Работа с таймсериями в библиотеке DoEasy (Часть 45): Мультипериодные индикаторные буферы
В статье начнём доработку объектов-индикаторных буферов и класса коллекции буферов для работы в мультипериодном и мультисимвольном режимах. В данной статье рассмотрим работу объектов-буферов для получения и вывода данных с любого таймфрейма на текущий график текущего символа.
Лень - двигатель прогресса, или Как интерактивно работать с графикой
Индикатор для интерактивной работы с трендовыми линиями, Фибо-уровнями, значками, нанесенными на график вручную. Позволяет отрисовывать цветовые зоны фибо-уровней, показывает моменты пересечения ценой трендовой линии, управляет графическим объектом "Ценовая метка".
Нелинейные индикаторы
В этой статье мы сделаем попытку рассмотреть некоторые способы построения нелинейных индикаторов и их использование в трейдинге. В торговой платформе MetaTrader довольно много индикаторов, которые используют нелинейные подходы.
Язык MQL как средство разметки графического интерфейса MQL-программ (Часть 3). Дизайнер форм
В этой статье мы завершаем описание концепции построения оконного интерфейса MQL-программ с помощью конструкций языка MQL. Специальный графический редактор позволит интерактивно настраивать раскладку, состоящую из основных классов элементов GUI, и затем экспортировать её в MQL-описание для использования в вашем MQL-проекте. Представлено внутреннее устройство редактора и руководство пользователя. Исходные коды прилагаются.