Очередной новичок просит помощи - ПОМОГИТЕ в решении головоломки) - страница 3

 
komok писал(а) >>

Почему не весь? Весь скопировал...

Закрывающей скобки не хватало. А может и еще чего. Я же не вижу

 
 
Vinin писал(а) >>

Закрывающей скобки не хватало. А может и еще чего. Я же не вижу

Внизу надо фигурную скобку закрыть.

 
Integer писал(а) >>

Внизу надо фигурную скобку закрыть.

Да я индикатор уже выложил вроде. На предыдущей странице

 
???щас щас..... вникаю...спасибо.... Прошу всех оставаться))))))спасибо))
 

Прошу прощения - все же на работе и приходится отходить.

Не понимаю я как переменная summm может быть равна нулю...ну даже если это периодически и так, на остальных свечах индикатор должен показывать значения, но их-то нет!) или все дело в скобке внизу - сейчас буду смотреть...

 
komok >>:

Прошу прощения - все же на работе и приходится отходить.

Не понимаю я как переменная summm может быть равна нулю...ну даже если это периодически и так, на остальных свечах индикатор должен показывать значения, но их-то нет!) или все дело в скобке внизу - сейчас буду смотреть...

определенно работать будет до первой исключительной ситуации, когда high[i]==close[i]==low[i]==open[i]

 
sanyooooook >>:

определенно работать будет до первой исключительной ситуации, когда high[i]==close[i]==low[i]==open[i]

#property copyright "Komok"
#property link "http://www.metaquotes.net"
#property indicator_separate_window
#property indicator_buffers 2 // Количество буферов
#property indicator_color1 MediumBlue // Цвет первой линии (быки)
#property indicator_color2 FireBrick // Цвет второй линии (медведи)
//#property indicator_color3 Chartreuse
//-------
double PreBulls[],PreBears[],exp[]; // Объявление массивов (под буферы индикатора)
//extern int period=2, Speriod=3, Srd1=12; //периоды усреднения
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(2);
SetIndexBuffer(0,PreBulls); // Назначение массива буферу
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1);// Стиль линии
SetIndexBuffer(1,PreBears); // Назначение массива буферу
SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1);// Стиль линии


return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}


//+------------------------------------------------------------------+
int start()
{
   int i,//, // Индекс бара
   //s, //промежуточные исчисления
   Counted_bars; // Количество просчитанных баров
   double Pbl1=0, Pbr1=0; //сила быков и медведей в единицах цены
   //Vbl=0, Vbr=0; //величина объема каждых в общем
   Counted_bars=IndicatorCounted(); // Количество просчитанных баров
   i=Bars-Counted_bars-1; // Индекс первого непосчитанного
   while(i>=0) // Цикл по непосчитанным барам
   {
      Pbl1=0; Pbr1=0; //Vbl=0; Vbr=0;
      //*****вычисление сил в зависимости от типа свечи
      if (Open[i] < Close[i])
      {
         Pbl1 = (Close[i] - Open[i]) + 0.618*(Open[i] - Low[i]) + 0.372*(High[i] - Close[i]);
         Pbr1 = 0.618*(High[i] - Close[i]) + 0.372*(Open[i] - Low[i]);
         //Vbl = Volume[i]*(Pbl1/(Pbl1+Pbr1));
         //Vbr = Volume[i]*(Pbr1/(Pbl1+Pbr1));
      }

      if (Open[i] > Close[i])
      {
         Pbl1 = 0.618*(Close[i] - Low[i]) + 0.372*(High[i] - Open[i]);
         Pbr1 = (Open[i] - Close[i]) + 0.618*(High[i] - Open[i]) + 0.372*(Close[i] - Low[i]);
         //Vbl = Volume[i]*(Pbl1/(Pbl1+Pbr1));
         //Vbr = Volume[i]*(Pbr1/(Pbl1+Pbr1));
      }

      if (Open[i] == Close[i])
      {
         Pbl1 = 0.618*(Close[i] - Low[i]) + 0.372*(High[i] - Close[i]);
         Pbr1 = 0.618*(High[i] - Close[i]) + 0.372*(Close[i] - Low[i]);
         //Vbl = Volume[i]*(Pbl1/(Pbl1+Pbr1));
         //Vbr = Volume[i]*(Pbr1/(Pbl1+Pbr1));
      }
      double summm=0;
      summm=(Pbl1+Pbr1);
      //*****вычисления
//-------обходим деление на ноль-----------
      if (summm!=0)
      {
         PreBulls[i] = (Pbl1/summm)*100; //силы быков
         PreBears[i] = (Pbr1/summm)*100; //(Pbr1/summm*100); //и медведей по цене на каждой свече
      }
      else
      {
         PreBulls[i] =0; //силы быков
         PreBears[i] =0; //(Pbr1/summm*100); //и медведей по цене на каждой свече
      }
      
      //Alert ("i=", i, " Bulls=", PreBulls[i], " Bears=", PreBears[i]);
      if (summm==0) Alert("Ты дебил!)");
      i--; // Расчёт индекса следующего бара
   }
}
 

Да вот я уже тоже допер!))))

СПАСИБО всем огромное, ибо вынули мой трехдневный геморрой!)))....я даже не предполагал что свечи могут быть такими (high[i]==close[i]==low[i]==open[i])

 
komok >>:

Да вот я уже тоже допер!))))

СПАСИБО всем огромное, ибо вынули мой трехдневный геморрой!)))....я даже не предполагал что свечи могут быть такими (high[i]==close[i]==low[i]==open[i])

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


      if (summm==0) Alert("Ты дебил!)");
нее, эта строча мне определенно нравится
Причина обращения: