что написать что б были не вертикальные полосы, а так как у зигзага?

 


 
mario_SC--:


если  дать условие рисовать все не нули - вообще ничего не рисует 

https://www.mql5.com/ru/forum/133408

 

другой вопрос, как сделать что бы индикатор рисовал не каждый бар и по вершинам ?

 

while (bars_back_zz2>0){ //от прошлого к настоящему 
                           bars_back_zz2--;
                           if (globALL_uppers[bars_back_zz2]!=0.0) 
                           {c_hi_buf[bars_back_zz2]=globALL_uppers[bars_back_zz2];} // c_hi_buf[bars_back_zz2] - буфер 

не рисует 

если еще +это  

                           else c_hi_buf[bars_back_zz2]=0.0;// так рисует но вертикальными полосами
 
mario_SC--:

другой вопрос, как сделать что бы индикатор рисовал не каждый бар и по вершинам ?

 

не рисует 

если еще +это  

Весь код приведите

 
Vinin:

Весь код приведите

 

init 
SetIndexBuffer(0,c_hi_buf); 



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[])          
  {          
   //рисование истории
   if (prev_calculated==0)      
     while (bars_back_zz2>0){ //от прошлого к настоящему 
                           bars_back_zz2--;
                           
                           if (globALL_uppers[bars_back_zz2]!=0.0) 
                           		{c_hi_buf[bars_back_zz2]=globALL_uppers[bars_back_zz2];}
                           else c_hi_buf[bars_back_zz2]=NULL;

                            }
  }                         
все чего нет - как обычно. на таймсерию не проверяю и не выставляю, зависю от умолчаний и так работает. данные то есть, в нужное время в нужном месте точка есть. но не рисует между точками. целый день потратил на решание этого. озвучте хотя бы из за чего такое бывает если бывает часто. в init это все что я деляю по отношению к буферу . Картинку смотрели ?
 
mario_SC--:
все чего нет - как обычно. на таймсерию не проверяю и не выставляю, зависю от умолчаний и так работает. данные то есть, в нужное время в нужном месте точка есть. но не рисует между точками. целый день потратил на решание этого. озвучте хотя бы из за чего такое бывает если бывает часто. в init это все что я деляю по отношению к буферу . Картинку смотрели ?

Вы так любите секреты.

Можно обсуждать работающий код. Например этот. Мне не сложно.

 

так скажите, рисующая часть

BufferHigh[PrevPos]=EMPTY_VALUE;
BufferHigh[pos]=High[pos];

 идентична моей ?

 все ж тоже. BufferHigh[PrevPos]=EMPTY_VALUE мне не требуется, поскольку расчитываю историю, данные уже расчитано в масиве globALL_uppers.

 а не рисует

 
mario_SC--:

так скажите, рисующая часть

 идентична моей ?

 все ж тоже. BufferHigh[PrevPos]=EMPTY_VALUE мне не требуется, поскольку расчитываю историю, данные уже расчитано в масиве globALL_uppers.

 а не рисует

 

 

Постройте например индикатор по ценам открытия или закрытия. Появятся другие вопросы, которые могут привести к ответу.

 

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

if (globALL_uppers[bars_back_zz2]!=0) 
                                 {c_hi_buf[bars_back_zz2]=globALL_uppers[bars_back_zz2];}

этого должно быть достаточно, но почему же не малюет ?

 
mario_SC--:

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

этого должно быть достаточно, но почему же не малюет ?

 

 

 

Я еще раз прошу выложить полный код индикатора. Полный.
 
что вам нужно знать ? куда смотреть ? я скажу что там. алгоритм -святое)