Индиктор TMA+CG mladen - как получить значения линий канала?

 

Здравствуйте.

 

Пишу советник с использованием индикатора TMA+CG mladen. Нужно получить значения границ канала и средний линии (именно те значения, которые вижу на графике).

 

Вроде все логично, средняя линия = буфер 0, верхняя = буфер 1, нижняя =  буфер 2 (скрин кода http://prntscr.com/r9sxd4)

В советнике значения индикатора получаю на открытии нулевого бара. Гоняю в тестере для проверки. Получаю разные данные (то, что вижу на графике и то, что вижу в данных индикатора).

Например, верхняя граница http://prntscr.com/r9szk4

Нижняя граница http://prntscr.com/r9szrv

Средняя линия http://prntscr.com/r9t00l

 

Настройки индикатора http://prntscr.com/r9t05s (прописываются из советника).

В тестере котировки тестируемой валюты m15 и h4 загружены

 

Как получить реальные значения линий? Или что-то не учел?

 

Код самого индикатора прикладываю

Скриншот
Скриншот
  • prnt.sc
Снято с помощью Lightshot
Файлы:
 
JpCandle:

... Или что-то не учел?

Может не знаете, что индикатор перерисовывается.

 

В советнике значения индикатора получаю на открытии нулевого бара. Гоняю в тестере для проверки. Получаю разные данные (то, что вижу на графике и то, что вижу в данных индикатора).

Все правильно, это связано с его расчетами, он перерисовывает.  Лучше перенести индикатор в код и получать только нужные данные от него, нет смысла пересчитывать кучу баров ради получения значения текущих данных на 0м баре.

Ну а перерисовка будет всегда, такая особенность его расчетов, но разве это имеет значение? Ведь для советника важно то, что происходит в текущий момент, а не то что было несколько баров назад.

 

Да, судя по всему дело в перерисовке. Не ожидал, что разницы такие большие.

Нужны данные и на нулевом баре и несколько баров назад, чтобы определить направление канала и избежать флета. То есть советник анализирует верхнюю и нижнюю границу канала на протяжении n-ого количества баров.

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