Обсуждение статьи "Торговые инструменты на MQL5 (Часть 35): Расширение слоя рисования на холсте — каналы, вилы, инструменты Ганна и Фибоначчи"

Опубликована статья Торговые инструменты на MQL5 (Часть 35): Расширение слоя рисования на холсте — каналы, вилы, инструменты Ганна и Фибоначчи:

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

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

Новые инструменты подразделяются на три архитектурные категории. Некоторые из них размещаются тремя щелчками, поскольку для задания их геометрии нужны три опорные точки: первые два щелчка задают базовую линию, а третий — смещение, начало проекции или вершину. В других инструментах положение одних маркеров вычисляется по положению других для сохранения геометрических инвариантов: четвёртая вершина параллельного канала вычисляется по остальным трём, конечные точки регрессионного канала определяются методом наименьших квадратов по барам во временном окне, а медианная линия вил начинается в вычисляемой точке, положение которой различается у вил Эндрюса, вил Шиффа и модифицированных вил Шиффа. Инструменты Фибоначчи добавляют третью особенность: каждый из них отображает семейство линий или дуг, задаваемых коэффициентами; эти коэффициенты, цвета и флаги видимости хранятся в самом нарисованном объекте в виде массива уровней, который движок считывает при каждой перерисовке. Эта архитектура была разработана по образцу стандартной системы веб-графиков MQL5, в которой используются инструменты с заливкой, в отличие от инструментов терминала, состоящих преимущественно из линий и не поддерживающих регулировку непрозрачности. См. иллюстрацию ниже.

Отображение объектов с заливкой на веб-графике MQL5


Автор: Allan Munene Mutiiria