Использование функции icustom

 

Приветствую, уважаемые специалисты!

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

А, именно мне нужно привязать советник к моей программе-индикатору который бы, при появлении сигнала открывал бы позицию.

Перечитал много обсуждений этого вопроса, но так и не смог приметить к своей программе.

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

Мне нужно чтобы, советник открывал позиции при формировании этих условий.

Как мне закодировать icustom? Прошу помочь!

int Figura(int bar)
{
   //----------------------------------------- анализ фигур
   if (High[bar+1]<High [bar]   && Low [bar+1]>Close[bar]&&
       Open[bar+1]<Close[bar+1] && Open  [bar]>Close[bar])
   {  
       return(-1);

   }



   if (Low [bar+1]>Low  [bar]   && High[bar+1]<Close[bar]&&
       Open[bar+1]>Close[bar+1] && Open  [bar]<Close[bar])
   {  
       return(1);
   }
   return(0);
}
 
5211845:

Приветствую, уважаемые специалисты!

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

А, именно мне нужно привязать советник к моей программе-индикатору который бы, при появлении сигнала открывал бы позицию.

Перечитал много обсуждений этого вопроса, но так и не смог приметить к своей программе.

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

Мне нужно чтобы, советник открывал позиции при формировании этих условий.

Как мне закодировать icustom? Прошу помочь!

//+------------------------------------------------------------------+
int Figura(int bar)
  {
//----------------------------------------- анализ фигур
   if(High[bar+1]<High[bar] && Low[bar+1]>Close[bar] && 
      Open[bar+1]<Close[bar+1] && Open[bar]>Close[bar])
     {
      return(-1);

     }

   if(Low[bar+1]>Low[bar] && High[bar+1]<Close[bar] && 
      Open[bar+1]>Close[bar+1] && Open[bar]<Close[bar])
     {
      return(1);
     }
   return(0);
  }
//+------------------------------------------------------------------+

iCustom() используется с пользовательскими индикаторами. Где он у вас?
 

У вас почти готовая сигнальная функция,  её в советник вставить нужно и вызывать  по событию OnTick.  А сам советник собственно есть?  Внутри  функции  нужно сформировать массивы  _Open[]  _High[]  _Low[]  _Close[]  но  это отдельный  разговор.

 
Igor Kuzminets:

У вас почти готовая сигнальная функция,  её в советник вставить нужно и вызывать  по событию OnTick.  А сам советник собственно есть?  Внутри  функции  нужно сформировать массивы  _Open[]  _High[]  _Low[]  _Close[]  но  это отдельный  разговор.

 
Я извиняюсь, что не мог ответить своевременно. С советником разобрался. Смог вставить из индикатора сигнальные функции в советник и запустить. Возникла другая проблема, советник не запускается на не стандартном таймфрейме. Пытался это обсудить на форуме, но реализовать не смог.
Причина обращения: