Использование индикатора FXForecaster в советнике

 

Есть такой индикатор FXForecaster,который с хорошей точностью сигнализирует о начале тренда или его завершении по соотношению столбиков гистограммы разного цвета и положении их относительно нулевого уровня,например на барах 1 и 2.Индикатор конечно перерисовывается,но незначительно.соотношения гистграмм МА1 и МА2 в основном сохраняются.Просится сделать на его основе советник.Если судить по коду,то эти значения гистограммы индикатора должны находиться в третьем буфере для МА1(9)(фиолетовые столбики) и в четвертом буфере для МА2(45)(красные столбики).Однако попытки получения этих значений гистограммы с помощью функции iCustom()кончаются неудачей.В этих буферах на заданном баре находятся совсем другие значения,чем на гистограмме.Более того,значений, равных значениям гистограммы в каждый данный момент времени,нет ни в одном из десяти буферов индикатора.Возникает вопрос,как же все-таки можно получить значения,соответствующие гистограмме индикатора.Он же их откуда-то берет,когда чертит гистограмму.Помогите пожалуйста разобраться,кто в курсе.

Файлы:
 
striz35:

Есть такой индикатор FXForecaster,который с хорошей точностью сигнализирует о начале тренда или его завершении по соотношению столбиков гистограммы разного цвета и положении их относительно нулевого уровня.Индикатор конечно перерисовывается,но незначительно.Просится сделать на его основе советник.Если судить по коду,то эти значения гистограммы индикатора должны находиться в третьем буфере для МА1(9)(фиолетовые столбики) и в четвертом буфере для МА2(45)(красные столбики).Однако попытки получения этих значений гистограммы с помощью функции iCustom()кончаются неудачей.В этих буферах на заданном баре находятся совсем другие значения,чем на гистограмме.Более того,значений, равных значениям гистограммы в каждый данный момент времени,нет ни в одном из десяти буферов индикатора.Возникает вопрос,как же все-таки можно получить значения,соответствующие гистограмме индикатора.Он же их откуда-то берет,когда чертит гистограмму.Помогите пожалуйста разобраться,кто в курсе.


Индикатор паленый.

Не пользуйтесь суррогатами тренда. Рисуйте трендовые линии, и тогда Вы сможете открыть позицию в момент распознавания тренда. Раньше все равно не получится :(

 

Смотрел этот индикатор - это очередная переделка фишера - перерисовывает, не тратьте зря время.

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

Файлы:
 

MA2buffer[0] там ваши значения

p.s. рисует, но как бы дело ваше ))))

 
excelf:

Смотрел этот индикатор - это очередная переделка фишера - перерисовывает, не тратьте зря время.

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


Спасибо за ответ.Это очень хорошо,что можно пообщаться с автором альтернативного варианта этого индикатора и задать конкретный вопрос.Вот например пара EUR/JPY 15.05.2012 12:15 (по серверному времени),для первого бара значения индикатора,полученные с помощью ф-ции iCustom()и выведенные в окошко "Сигнал" составили: из буфера 1(МА1(13)) 0,35,из буфера 2 (МА2(45)) 0,4463. На гистограмме в тот же момент времени на том же баре №1 значения МА1(13) 0,6964 (фиолетовый столбик), МА2(45) 0,3927 (серый столбик).Как видим значения в буфере и на гистограмме, например по МА1(13), отличаются в разы.Откуда же индикатор берет эти значения для гистограммы и как их получить от него для формирования условий торговых приказов,если в буферах,по которым будто-бы строится гистограмма,на деле совсем другие значения?
 
Используйте мою версию там, думаю будет все понятно, значения индикатора в будут в 0 и 1 буфере.
 
excelf:
Используйте мою версию там, думаю будет все понятно, значения индикатора в будут в 0 и 1 буфере.


Так это и есть Ваша версия.Именно о ней идет речь.И буфер1 - это буфер с индексом 0, а буфер 2 - буфер с индексом 1.Я в своем вопросе просто употребил те названия буферов,которые Вы им дали при объявлении их массивов : buffer1[] и buffer2[], что повидимому ввело Вас в заблуждение.Поэтому повторю вопрос в уточненной формулировке.

Пара EUR/JPY 15.05.2012 12:15 (по серверному времени),для первого бара значения индикатора,полученные с помощью ф-ции iCustom()и выведенные в окошко "Сигнал" составили: из буфера с индексом 0 (МА1(13)) 0,35,из буфера с индексом 1 (МА2(45)) 0,4463. На гистограмме в тот же момент времени на том же баре №1 значения,полученные с помощью "Окна данных",составили : МА1(13) 0,6964 (фиолетовый столбик), МА2(45) 0,3927 (серый столбик).Как видим значения в буфере с индексом 0 и на гистограмме МА1(13), отличаются в разы.Откуда же индикатор берет эти значения для гистограммы и как их получить от него для формирования условий торговых приказов,если в буферах,по которым будто-бы строится гистограмма,на деле совсем другие значения?

 
striz35:


Так это и есть Ваша версия.Именно о ней идет речь.И буфер1 - это буфер с индексом 0, а буфер 2 - буфер с индексом 1.Я в своем вопросе просто употребил те названия буферов,которые Вы им дали при объявлении их массивов : buffer1[] и buffer2[], что повидимому ввело Вас в заблуждение.Поэтому повторю вопрос в уточненной формулировке.

Пара EUR/JPY 15.05.2012 12:15 (по серверному времени),для первого бара значения индикатора,полученные с помощью ф-ции iCustom()и выведенные в окошко "Сигнал" составили: из буфера с индексом 0 (МА1(13)) 0,35,из буфера с индексом 1 (МА2(45)) 0,4463. На гистограмме в тот же момент времени на том же баре №1 значения,полученные с помощью "Окна данных",составили : МА1(13) 0,6964 (фиолетовый столбик), МА2(45) 0,3927 (серый столбик).Как видим значения в буфере с индексом 0 и на гистограмме МА1(13), отличаются в разы.Откуда же индикатор берет эти значения для гистограммы и как их получить от него для формирования условий торговых приказов,если в буферах,по которым будто-бы строится гистограмма,на деле совсем другие значения?

Скорее всего это из-за перерисовки. Фишер подглядывает в последующий бар. Или другой вариант вы не правильно передаете параметры в iCustom.
 
excelf:
Скорее всего это из-за перерисовки. Фишер подглядывает в последующий бар. Или другой вариант вы не правильно передаете параметры в iCustom.


Да вроде перерисовка тут не причем.Когда наблюдаешь за перерисовкой, видиш конечно что значения в окне данных меняются(в пределах первых нескольких баров),но как на новом баре в момент его появления,так и на последующих барах значения гистограммы и буферов отличеются в разы.Значит дело не в перерисовке.Тем более,что в ф-ции init() кода четко указано,что гистограмма чертится по данным буферов 0 и 1,между тем,как уже было сказано,в каждый данный момент времени там,в буферах совсем другие значения.

А Вы сами не прорбовали получить от индикатора данные с помощью iCustom()? Что у Вас получилось? Если Вас конечно не затруднит.Набросать элементарный советник для этого дела из двух функций iCustom() и Alert() - минутное дело.Просто интересно в чем же тут заморочка.И как же в конце концов получить от индикатора данные,соответствующие значениям его гистограммы?

 
striz35:


Да вроде перерисовка тут не причем.Когда наблюдаешь за перерисовкой, видиш конечно что значения в окне данных меняются(в пределах первых нескольких баров),но как на новом баре в момент его появления,так и на последующих барах значения гистограммы и буферов отличеются в разы.Значит дело не в перерисовке.Тем более,что в ф-ции init() кода четко указано,что гистограмма чертится по данным буферов 0 и 1,между тем,как уже было сказано,в каждый данный момент времени там,в буферах совсем другие значения.

А Вы сами не прорбовали получить от индикатора данные с помощью iCustom()? Что у Вас получилось? Если Вас конечно не затруднит.Набросать элементарный советник для этого дела из двух функций iCustom() и Alert() - минутное дело.Просто интересно в чем же тут заморочка.И как же в конце концов получить от индикатора данные,соответствующие значениям его гистограммы?


Всем доброго дня. При комплимировании FXForecaster выдаёт ошибки :'SetIndexBuffer' - no one of the overloads can be applied to the function call (строка 138 столбец 4).

'SetIndexBuffer' - no one of the overloads can be applied to the function call (строка 139 столбец 4). В этих строках содержание:

SetIndexBuffer(9, SELLMA);
SetIndexBuffer(10, BUYMA);

При удалении этих строк индикатор заработал. В чём ошибка?

И второе пытался создать советник на его базе при помощи iCustom(), но данные буферов не соответствуют значениям в окне данных терминала. Как достать значения FXForecaster для советника?

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