Помогите организовать кусок кода

 

Идея такова:

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

1) Есть начальная точка отсчета,выставленная на фрактал (первый по счету в интересующем месте на графике).-реализовано в коде.

2) От данной точки отрисованы 2 горизонтальные линии,образующие ценовой диапазон (одна линия на пике начального фрактала, вторая выше/ниже).-реализовано в коде.

3) Однонаправленные фракталы, попавшие в определенный линиями диапазон должны посчитаться начиная с первого (на котором установлена отсчетная точка) и полученное количество должно быть передано в переменную (например SchetFractalDn).

С третьим пунктом проблема.Не знаю как реализовать этот кусок в коде,и ничего подходящего на сайте не нашел.Просьба,кто-нить помогите организовать этот счетчик фраталов.Предполагается использование стандартной iFractals.

 
   for(int n = начальна точка ; n < предел ; n++)
     {
      if(iHigh(NULL,0,iFractals(NULL, 0, MODE_UPPER, n)>нижняя цена диапазона && 
          iHigh(NULL,0,iFractals(NULL, 0, MODE_UPPER, n)<верхняя цена диапазона ) 
        {
         SchetFractalDn++;
          }
           }
Для Фракталов вверх
 
xrust:
   for(int n = начальна точка ; n < предел ; n++)
     {
      if(iHigh(NULL,0,iFractals(NULL, 0, MODE_UPPER, n)>нижняя цена диапазона && 
          iHigh(NULL,0,iFractals(NULL, 0, MODE_UPPER, n)<верхняя цена диапазона ) 
        {
         SchetFractalDn++;
          }
           }
Для Фракталов вверх

Спасибо за оклик,но данная конструкция почему-то не работает.Есть ошибка-не хватает двух скобок.Это к слову,не работает не из-за этого.

 

to rosich

То что формально работает, но не работает по Вашему заданию - понятно,
непонятно как Вы реализовали п.1, п2. и как дошли до п.3. не зная у где рынка лево а где право)))
подсказка: "Сено-Солома"

 
Korey:

to rosich

То что формально работает, но не работает по Вашему заданию - понятно,
непонятно как Вы реализовали п.1, п2. и как дошли до п.3. не зная у где рынка лево а где право)))
подсказка: "Сено-Солома"

Спасиб, за коммент.Некоторые пояснения : Прога пишется в виде индюка , т.к. придется работать с ней хоть и в ручную,но динамически,т.е. переодически перемещая начальную точку на новое интересующее нас место на чарте. Начальная точка выставляется на чарте при запуске автоматом на баре 1,а помещается на нужный фрактал вручную. Ну соответственно затем автоматически отрисовываются линии.

Кстати, спасибо и за мысль, которой не хватало  насчет "право-лево". Я когда модифицировал немного предложенный мне кусок кода, то подсчет начался, но считались все однонаправленные фракталы в истории чарта, попавшие в коридор. Терь вопрос насчет того, как можно организовать распознание право-лево в коде? Я так понимаю через функции времени. Опять же за малым опытом, сам не смогу допереть, или допру,но убью массу времени. Подсобить в данном вопросе можешь?

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

 

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

2: бороузер какой юзаеш?

 
xrust:

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

2: бороузер какой юзаеш?

Юзаю "Оперу".

 

Зашел с И-нет-эксплорера картинка пролезла. Вот собсвенно как выглядит идея графически.

 
начальная точка точка - граф.обьект, двигаеш мышью?
 
xrust:
начальная точка точка - граф.обьект, двигаеш мышью?

да.

 
ну это достаточно просто :
   if(ObjectFind("имя обьекта")=0) // найти обьект в окне текущего чарта
    {
     double time = ObjectGet( "имя обьекта",OBJPROP_TIME1) ;  //возаращает время обьекта
      int bar = iBarShift(NULL,0,time,false);   // возвращает бар по времени 
       }
  
Можно так:
    
   if(ObjectFind("имя обьекта")=0){int bar = iBarShift(NULL,0,ObjectGet( "имя обьекта",OBJPROP_TIME1),false);}

А дальше " сено - солома" :)

все это очень подробненько описано в хелпе,

"Опять же за малым опытом, сам не смогу допереть, или допру,но убью массу времени."
Опять же ОПЫТ увеличится.