Новая статья: Рецепты MQL5 - Программируем скользящие каналы

 

На сайте mql5,com опубликована статья Рецепты MQL5 - Программируем скользящие каналы:

В данной статье представлен способ программирования системы равноудалённых каналов. Рассматриваются некоторые нюансы построения таких каналов. Приводится типизация каналов, предлагается способ универсального типа скользящих каналов. При реализации кода используется инструментарий ООП.

Как известно, канал строится по трём точкам, каждая из которых имеет ценовую и временную координаты. Для начала уделим внимание временным координатам точек, так как их последовательность влияет на тип канала. Для примера возьмём канал, основная линия которого строится по двум локальным минимумам. Третья точка будет отвечать за локальный максимум. Расположение точек может служить критерием для типизации канала.

Первый тип касается случая, когда появляется сначала минимум, потом максимум, затем снова минимум. Схематично такую ситуацию можно представить как на Рис.1.

Рис.1 Первый тип набора точек, схема

Рис.1 Первый тип набора точек, схема


Чаще всего точки, которые берутся для отображения трендовых линий канала, — это фракталы. Тогда такая точка является одновременно и фракталом, и основой для проведения прямой линии.

Попробуем обобщить и закодировать фрактальные точки с помощью ООП-инструментария.

2.1 Класс фрактальной точки

Функционал этого класса — отвечать за точку, входящую в число тех, по которым строится равноудалённый канал.

Назовём указанный класс CFractalPoint и, в лучших традициях языка MQL5, привяжем его отношением наследования к классу-интерфейсу CObject.

Класс имеет 4 члена для передачи данных:

  1. m_date — временная координата точки на графике;
  2. m_value — ценовая координата точки на графике;
  3. m_extreme_type –  тип экстремума;
  4. m_idx – индекс.


Автор: Dennis Kirichenko