Задача найти среднее значение двух буферов. - страница 2

 
А код индикатора есть? Может быть в нем три буфера, один из них с нормальными данными.
 
Fast528:
Кто может подсказать как проще найти ровную прямую у индикатора в течение 1-3 дня на H1 к примеру найти уровень индикатора когда он не менялся к примеру 5 баров?

Добавить еще один буфер с пустым значением 0.

Если значение линии равно значению на предыдущем баре, то этому буферу присваиваем значение на 1 больше, чем в предыдущем элементе. Если значение линии не равно, то 0. 

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

 
Dmitry Fedoseev:

Добавить еще один буфер с пустым значением 0.

Если значение линии равно значению на предыдущем баре, то этому буферу присваиваем значение на 1 больше, чем в предыдущем элемента. Если значение линии не равно, то 0. 

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

понял спасибо

 
Dmitry Fedoseev:
А код индикатора есть? Может быть в нем три буфера, один из них с нормальными данными.

Нет основного буфера, даже не выносил бы этот вопрос на обсуждение.

Там два независимых буфера.

Задача не простая как кажется на первый взгляд.

 
Uladzimir Izerski:

Нет основного буфера, даже не выносил бы этот вопрос на обсуждение.

Там два независимых буфера.

Задача не простая как кажется на первый взгляд.

А где посчитать надо в советнике или в индикаторе?

Если в советнике:

double aver=0;
for(int i=1;i<=10;i++){
   double v=iCustom(...,0,i);
   if(v==EMPTY_VALUE)v=iCustom(...,1,i);
   aver+=v;
}
aver/=10;

Если в индикаторе, то можно добавит буфер, и по такому принципу заполнять, потом применить iMAonArray()

 
Dmitry Fedoseev:

А где посчитать надо в советнике или в индикаторе?

Если в советнике:

Если в индикаторе, то можно добавит буфер, и по такому принципу заполнять, потом применить iMAonArray()

Посчитать надо в  индикаторе.

 
Uladzimir Izerski:

Посчитать надо в  индикаторе.

Смотря как там сделано. Добавить буфер, потом в конце цикла добавить:

double v=buf0[i];
if(v==EMPTYY_VALUE)v=buf1[i];

Потом добавить еще один цикл и в нем iMAonArray() или без цикла, если МТ5.

 
Fast528:

Кто может подсказать как проще найти ровную прямую у индикатора в течение 1-3 дня на H1 к примеру найти уровень индикатора когда он не менялся к примеру 5 баров?



Dmitry Fedoseev:

Добавить еще один буфер с пустым значением 0.

Если значение линии равно значению на предыдущем баре, то этому буферу присваиваем значение на 1 больше, чем в предыдущем элементе. Если значение линии не равно, то 0. 

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

вроде где-то близко есть в голове, но не могу сообразить, в поисковике несмог найти пример

 
Fast528:


вроде где-то близко есть в голове, но не могу сообразить, в поисковике несмог найти пример

 i=0; while(Буфер[i]==Буфер[i+1] && !IsStopped()) {i++; результат=i;}

Где то так.

 
Uladzimir Izerski:

Где то так.

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

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