Проблема с icustom

 

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

Подскажите пожалуйста.

Уже долго мучаюсь с  icustom пытаюсь вывести данные индикатора в советник. Поменял несколько индикаторов, всё одно. На тестере дело виснет, выводит только 214783647. Гуглил, решения толком не нашёл.

 вот такой код советника

int start()
{

if(newbar==Time[0])return(0);

else newbar=Time[0];
 
double aa = iCustom(NULL,0,"Pattern_Recognition_Master_v7",0,1);
double bb = iCustom(NULL,0,"Pattern_Recognition_Master_v7",1,1);


    string object_name = Bars - 1;
    ObjectCreate(object_name, OBJ_TEXT, 0, Time[1], Low[1] - 5*Point);
    ObjectSetText(object_name, aa, 9, "Arial", Red);
}

 

Индикаторы патерные. #property indicator_buffers 2. Вообще в какую сторону смотреть? 

 

Большое спасибо. 

 
Прежде всего посмотрите что выводится в буферы, через окно данных (Ctrl+D). Потом надо посмотреть какие параметры индикатору надо передать.
 

Как-то так:

if(aa!=EMPTY_VALUE && aa>0) {// есть сигнал в буфере 0 на баре 1;}

if(bb!=EMPTY_VALUE && bb>0) {// есть сигнал в буфере 1 на баре 1;}
 
evillive:
Прежде всего посмотрите что выводится в буферы, через окно данных (Ctrl+D). Потом надо посмотреть какие параметры индикатору надо передать.
В данном случае (если конечно имя переданно верно) используются умолчательные параметры индикатора.
 
artmedia70:
В данном случае (если конечно имя переданно верно) используются умолчательные параметры индикатора.

Да именно так, для простоты.

 Спасибо за быстрый ответ!

evillive:
Прежде всего посмотрите что выводится в буферы, через окно данных (Ctrl+D). 

 А там ничего интересного... в строчке индикатора просто цена.

Я может не с того конца взял вообще. Раньше работал только со встроенными индикаторами. Этот индикатор выдаёт название патерна  над релевантной свечой. Я пытаюсь получить это значение для Советника, дабы прогнать тест и учёбы ради.

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

http://pastie.org/9679185

Возможно кто-то сможет подсказать, как мне это дело реализовать.

Через icustom, через раз удаётся вывести цену больше он ничего не даёт, а обычно просто 214783647

artmedia70:

Как-то так:

 Выдаёт оба варианта ..

 
granin:

Да именно так, для простоты.

 Спасибо за быстрый ответ!

 А там ничего интересного... в строчке индикатора просто цена.

Я может не с того конца взял вообще. Раньше работал только со встроенными индикаторами. Этот индикатор выдаёт название патерна  над релевантной свечой. Я пытаюсь получить это значение для Советника, дабы прогнать тест и учёбы ради.

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

http://pastie.org/9679185

Возможно кто-то сможет подсказать, как мне это дело реализовать.

Через icustom, через раз удаётся вывести цену больше он ничего не даёт, а обычно просто 214783647

 Выдаёт оба варианта ..

Что за "оба варианта"?

Вот это: 214783647 - пустое значение - EMPTY_VALUE. Индикатор везде, где нет значений в буфере, выдаёт его. Если в буфере появилось значение, отличное от пустого и больше ноля - значит это и есть искомое значение на искомом баре. Возможно нужно в цикле искать первое встретившееся от нулевого бара и до заданного лимита - я не видел индикатор, и смотреть его некогда. Вполне вероятно может быть, что индикатор никогда на первом баре значение не выдаст (например - стандартный фрактал)

 
artmedia70:


Вот это: 214783647 - пустое значение - EMPTY_VALUE. Индикатор везде, где нет значений в буфере, выдаёт его. Если в буфере появилось значение, отличное от пустого и больше ноля - значит это и есть искомое значение на искомом баре. Возможно нужно в цикле искать первое встретившееся от нулевого бара и до заданного лимита - я не видел индикатор, и смотреть его некогда. Вполне вероятно может быть, что индикатор никогда на первом баре значение не выдаст (например - стандартный фрактал)

Спасибо ещё раз за ответ. Прогнал вот так вот

for(int x=0;x<=8; x++)  
    {
    double aa = iCustom(NULL,0,"Pattern_Recognition_Master_v8",x,1);                        
       if(aa!=EMPTY_VALUE && aa>0) Alert(aa) ;  
   }

Второй , в нужном месте, выдаёт результат, но это цена. (аналогично тому что выводится в через окно данных (Ctrl+D), в строчке индикатора). Все остальные выдают пусто.

На всякий случай и вручную прогонял, везде или 0 или  214783647.

Вот и проблема что я не знаю как вытянуть  нужное мне значение.. Я так полагаю сам индикатор передаёт как-то иначе то что мне нужно. Но я не знаю как у него это дело перехватить ...

Большое спасибо! 

 

П.С.

Кстати сам индикатор в нужном месте выдаёт свой alert.  Не знаю или можно этим воспользоватся ..

 
Преобразовать Double to String не пробовали? 
 
granin:

Спасибо ещё раз за ответ. Прогнал вот так вот

Второй , в нужном месте, выдаёт результат, но это цена. (аналогично тому что выводится в через окно данных (Ctrl+D), в строчке индикатора). Все остальные выдают пусто.

На всякий случай и вручную прогонял, везде или 0 или  214783647.

Вот и проблема что я не знаю как вытянуть  нужное мне значение.. Я так полагаю сам индикатор передаёт как-то иначе то что мне нужно. Но я не знаю как у него это дело перехватить ...

Большое спасибо! 

 

П.С.

Кстати сам индикатор в нужном месте выдаёт свой alert.  Не знаю или можно этим воспользоватся ..

Индикатор в буферах только цену и выводит, всё остальное - обьектами, так что обрабатывайте обьекты, если нужны паттерны
 
granin:

Спасибо ещё раз за ответ. Прогнал вот так вот

Второй , в нужном месте, выдаёт результат, но это цена. (аналогично тому что выводится в через окно данных (Ctrl+D), в строчке индикатора). Все остальные выдают пусто.

На всякий случай и вручную прогонял, везде или 0 или  214783647.

Вот и проблема что я не знаю как вытянуть  нужное мне значение.. Я так полагаю сам индикатор передаёт как-то иначе то что мне нужно. Но я не знаю как у него это дело перехватить ...

Большое спасибо! 

 

П.С.

Кстати сам индикатор в нужном месте выдаёт свой alert.  Не знаю или можно этим воспользоватся ..

Вы в цикле буферы перебираете? А данные берёте с первого бара? Повторюсь - индикатор я не видел, посему и спрашиваю.
 
artmedia70:
Вы в цикле буферы перебираете? А данные берёте с первого бара? Повторюсь - индикатор я не видел, посему и спрашиваю.
Артём, там 2 буфера рисуют стрелки вверх-вниз при распознавании свечной фигуры на Хай или Лоу свечи, а названия фигур выводятся обьектами на той же свече.
Причина обращения: