Индикаторы: Protorgovka - страница 2

 
Evgeniy #:

А как сделать открытие по стрелкам? 

   double up=iCustom(NULL,0,"protorgovka",0,2);

   double dn=iCustom(NULL,0,"protorgovka",1,2);


   up==EMPTY_VALUE // открывает на каждой свече

   dn==EMPTY_VALUE // открывает на каждой свече


   up!=EMPTY_VALUE // не открывает вообще

   dn!=EMPTY_VALUE // не открывает вообще


*1 в имени убрал

попробуйте вместо  EMPTY_VALUE, 0 поставить. А вообще тут стратегия другая. Не совсем правильно сразу по стрелке заходить. Нужно дождаться, когда цена снова зайдет в зону и потом выставить отложку в направлении стрелки.

 
Интересный индикатор, 5 звезд!
 
Renat Akhtyamov #:
Интересный индикатор, 5 звезд!

спасибо

 
Evgeniy #:

А как сделать открытие по стрелкам? 

   double up=iCustom(NULL,0,"protorgovka",0,2);

   double dn=iCustom(NULL,0,"protorgovka",1,2);


   up==EMPTY_VALUE // открывает на каждой свече

   dn==EMPTY_VALUE // открывает на каждой свече


   up!=EMPTY_VALUE // не открывает вообще

   dn!=EMPTY_VALUE // не открывает вообще


*1 в имени убрал

Получилось? 
 
Roman Kutemov #:
Получилось? 

Намного проще поставить сам код нахождения проторговки в советники не заморачиваться с буферами


      j=i+1;
      double body,bodyKontr=MathAbs(open[i]-close[i])/100*Percent,upprice=0,dnprice=0;
      
      while(j<rates_total && !IsStopped())
      {
         body=high[j]-low[j];
         if (body>=bodyKontr) break;//размер свечи в проторговке меньше чем контрольная свеча
         //if (high[j]>high[i] && low[j]<low[i])
        
         //нахожим максимум и минимум коробки
         if (upprice<high[j]) upprice=high[j];
         if (dnprice==0 || dnprice>low[j]) dnprice=low[j];
        
         //размер коробки проторговки меньше чем контрольная свеча
         if ((upprice-dnprice)>=bodyKontr) break;
        
         j++;
      }
      
      if (open[i]<close[i])
      {
         //сигнал на buy  
      }
      else
      {
         //сигнал на sell
      }
 
Vladimir Khlystov #:

Намного проще поставить сам код нахождения проторговки в советники не заморачиваться с буферами


круто, 

это как я понял только выход ? без возврата ?

и нету параметра количество свечей в проторговке
 
Roman Kutemov #:

круто, 

это как я понял только выход ? без возврата ?

и нету параметра количество свечей в проторговке
rates_total
 
Vladimir Khlystov #:
Ещё вопрос, в самой первой строке j и i не надо местами поменять?
Что то не то и дальше же в коде мы j увеличиваем на единицу. 
 
Roman Kutemov #:
Ещё вопрос, в самой первой строке j и i не надо местами поменять?
Что то не то и дальше же в коде мы j увеличиваем на единицу. 

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

 
Percent

 Подскажите, что за переменная, как рассчитывается?

Вытащил в отдельную функцию.

void protorgovka()
  {
   int j,i;
   j=i+1;
   double body,bodyKontr=MathAbs(Open[i]-Close[i])/100*Percent,upprice=0,dnprice=0;

   while(j<2000 && !IsStopped()) //rates_total
     {
      body=High[j]-Low[j];
      if(body>=bodyKontr)
         break;//размер свечи в проторговке меньше чем контрольная свеча
      //if (high[j]>high[i] && low[j]<low[i])

      //нахожим максимум и минимум коробки
      if(upprice<High[j])
         upprice=High[j];
      if(dnprice==0 || dnprice>Low[j])
         dnprice=Low[j];

      //размер коробки проторговки меньше чем контрольная свеча
      if((upprice-dnprice)>=bodyKontr)
         break;

      j++;
     }

   if(Open[i]<Close[i])
     {
      //сигнал на buy
     }
   else
     {
      //сигнал на sell
     }
  }