Помогите вытащить данные буфера из индикатора

 

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

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

Индикатор "Divergence Petr" рисует дивергенцию по "OsMA".

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

Вот значения этих точек я и хочу использовать в своем советнике, но никак не могу достать их из индикатора.

Как я понял они должны находится в буферах Buf1 и Buf2

Пробовал такой командой:

Sc_Up = iCustom(Symbol(), 0, "Divergence Petr", 2, 0); ну и всяко уже перепробовал, помогите разобраться, какая должна быть команда в советнике?

Файлы:
 

Надо не ближе, чем на баре 2 смотреть. iCustom(Symbol(), 0, "Divergence Petr", 2, 2);

 
serega20024:

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

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

Индикатор "Divergence Petr" рисует дивергенцию по "OsMA".

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

Вот значения этих точек я и хочу использовать в своем советнике, но никак не могу достать их из индикатора.

Как я понял они должны находится в буферах Buf1 и Buf2

Пробовал такой командой:

Sc_Up = iCustom(Symbol(), 0, "Divergence Petr", 2, 0); ну и всяко уже перепробовал, помогите разобраться, какая должна быть команда в советнике?

Индикатор, на первый взгляд, только лишь отмечает на графике найденные расхождения.

Верхние экстремумы линии выбранного индикатора выводятся через буфер 1 индикатора, нижние экстремумы линии выбранного индикатора выводятся через буфер 2. Сама линия выбранного индикатора выводится через буфер 0. Если найдена дивергенция, то она отмечается линией между ближайшими экстремумами индикатора.

Никак в буферы это не выводится. Т.е., вам нужно самим определять расхождения в советнике между двумя экстремумами индикатора и соответствующим им точкам графика цены. Ну, можно ещё узнать о дивергенции по наличию трендовой линии, нарисованной индикатором. Имя её начинается с HL

 

После имени индикатора следует перечисление ВСЕХ значений индикатора заданных через extern (там их сильно много, но что делать), а потом номер буфера и смещение.

Как вариант - убрать в индикаторе на некритичных переменных слово extern, так можно сильно сократить длину строки вызова индикатора из советника.

 
ktest0:

После имени индикатора следует перечисление ВСЕХ значений индикатора заданных через extern (там их сильно много, но что делать), а потом номер буфера и смещение.

Как вариант - убрать в индикаторе на некритичных переменных слово extern, так можно сильно сократить длину строки вызова индикатора из советника.



Да ну! А вы не знали, что параметры необязательно перечислять? Если без параметров, то будут использоваться значения по умолчанию. Да и вопрос как бы не про параметры был.
 
artmedia70:

Индикатор, на первый взгляд, только лишь отмечает на графике найденные расхождения.

Верхние экстремумы линии выбранного индикатора выводятся через буфер 1 индикатора, нижние экстремумы линии выбранного индикатора выводятся через буфер 2. Сама линия выбранного индикатора выводится через буфер 0. Если найдена дивергенция, то она отмечается линией между ближайшими экстремумами индикатора.

Никак в буферы это не выводится. Т.е., вам нужно самим определять расхождения в советнике между двумя экстремумами индикатора и соответствующим им точкам графика цены. Ну, можно ещё узнать о дивергенции по наличию трендовой линии, нарисованной индикатором. Имя её начинается с HL



Где и кто про дивергенцию спрашивал? Я вот вычитал в его посте, что ему значения точек нужны.
 
Integer:

Где и кто про дивергенцию спрашивал? Я вот вычитал в его посте, что ему значения точек нужны.
Ну тогда опишите ему всю последовательность поиска этих точек. А то ж ведь будет говорить, что находит какое-то огромное число... ;)
 
Думаю уже получится. Но если что, там посмотрим.
 
Integer:

Надо не ближе, чем на баре 2 смотреть. iCustom(Symbol(), 0, "Divergence Petr", 2, 2);


Все равно он мне нулевые значения выводит.

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

 
Имя индикатора введите правильно. В имени нет пробела.
 
Integer:


Да ну! А вы не знали, что параметры необязательно перечислять? Если без параметров, то будут использоваться значения по умолчанию. Да и вопрос как бы не про параметры был.

Не знал, честно! Прикольно. Буду знать...
Причина обращения: