Чистый размер тела свечи/бара - страница 4

 
Ihor Herasko:

А циклы разве запретили?

Религия не позволяет искать легких путей

 
Alexey Belyakov:

Вот! Есть наконец-то есть, те кто понимают тему! 

Да!, правильно, именно так я вначале и пытался при помощи:  (Open[1]-High[1]) + (Open[2]-High[2])

НО, предстваляете, сколько мне нужно написать таких строчек, чтобы посчитать все свечи. Минутных свечей в дне 1440 .   1440 раз написать таких строчек в коде, как-то не камильфо. 

#property strict
#property indicator_chart_window

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

   double r=0;;

   int k=iBarShift(NULL,0,iTime(NULL,PERIOD_D1,0));

   for(int i = k; i >= 1; i--)
   {
      r += MathAbs(Close[i]-Open[i])/_Point;
   }

   Comment( DoubleToStr(r,0), "\n", k );

   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Alexander Voronkov:

Вы что пишете? По глубокому убеждению вопрошающего 

r += MathAbs(Close[i]-Open[i])/_Point;

это сложение с учётом тикового объёма

Думаете, на 101-й раз он Вам поверит?

Это ему говорили и в первом, и во втором ответе в теме. Он в танке...
 
Сергей Таболин:

Вы что пишете? По глубокому убеждению вопрошающего 

это сложение с учётом тикового объёма

Думаете, на 101-й раз он Вам поверит?

))) Будем надеяться на лучшее !)

 
Alexander Voronkov:

ИМЕННО ТО ЧТО Я И ХОТЕЛ!. СПАСИБО ОГРОМНЕЙШЕЕ!!!

Горе, горе мне начинающему, начинающему программисту.Вообще не тем путём я пошёл,  и  такое нагарадил. 

 
Сергей Таболин:

Вы что пишете? По глубокому убеждению вопрошающего 

это сложение с учётом тикового объёма

Думаете, на 101-й раз он Вам поверит?

Это ему говорили и в первом, и во втором ответе в теме. Он в танке...

Возможно люк еще открыт, ну или хотя бы не заварен.)

 
Сергей Таболин:

Вы что пишете? По глубокому убеждению вопрошающего 

это сложение с учётом тикового объёма

Думаете, на 101-й раз он Вам поверит?

Это ему говорили и в первом, и во втором ответе в теме. Он в танке...

В первых сообщениях вообще не то было. 

 

for(int i = k; i >= 1; i--)

Вот в чём моя проблема была. Цикл.  Я не правильно строил цикл, и ушёл от него.  Неправильно построенный цикл, и всё, считает тиковый объём.


Просто вот так и всё, и никакого гемора:


datetime some_time=TimeCurrent();

int start()

{

double r=0;

int k=iBarShift("EURUSD",PERIOD_M1,some_time);

for(int i = k; i >= 1; i--)

{

r += MathAbs(Close[i]-Open[i])/Point;

}

Comment("Количество свечей  ",k, "\n", "Сумма размеров свечей  ",r, "\n"); 

return(0);

}


 
Alexey Belyakov:

В первых сообщениях вообще не то было. 

Было всё то же. Единственное, никто и представить себе не мог, что Вы и с циклами не знакомы...

 
Alexey Belyakov:

В первых сообщениях вообще не то было. 

то-же самое

Причина обращения: