Обсуждение статьи "Работа с таймсериями в библиотеке DoEasy (Часть 50): Мультипериодные мультисимвольные стандартные индикаторы со смещением"

 

Опубликована статья Работа с таймсериями в библиотеке DoEasy (Часть 50): Мультипериодные мультисимвольные стандартные индикаторы со смещением:

В статье доработаем методы библиотеки для корректного отображения мультисимвольных мультипериодных стандартных индикаторов, линии которых выводятся на график текущего символа со смещением, задаваемым в настройках. А также наведём порядок в методах работы со стандартными индикаторами и уберём в область библиотеки лишний код в итоговой программе-индикаторе.

Обработчик OnCalculate() оставим без изменений. Полный код тестового индикатора можно посмотреть в прикреплённых к статье файлах.

Скомпилируем индикатор и запустим его на графике EURUSD H1, предварительно задав в настройках использование символа EURUSD H4, зададим смещение индикаторной линии в 4 бара и выберем индикатор Bollinger Bands. Затем выберем в настройках индикатор Alligator:


Как видим, Bollinger Bands верно отображается с указанным смещением в 4 бара, а Alligator не реагирует на смещение в 4 бара — у него заданы значения по умолчанию сразу при его создании в коде OnInit(), равные этим значениям у стандартного индикатора:

//--- Многобуферные стандартные индикаторы в основном окне
      case IND_ALLIGATOR   :  success=engine.BufferCreateAlligator(InpUsedSymbols,InpPeriod,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,1);    break;

И Alligator тоже правильно отображает свои линии со стандартным смещением его линий.

Автор: Artyom Trishkin

Причина обращения: