MQL5 Indicator - Is there an easy way to hide the 0th value?

 

As shown in the red box, the 0th value is the current value. I only want to show values for full D1 bars, not the currently filling bar.

As you can see, I am currently setting HistoBuffer[0] = 0., which causes all the lines to converge to 0.

One thought is to simply set the value of each to the 1st bar value, HistoBuffer[0] = HistoBuffer[1]. That would look better, but I'm wondering if there is a simple way to not show that 0th bar.

I guess I could go to DRAW_COLOR_LINE for each line, but having an extra 8 buffers seems like overkill.

PLOT_DRAW_BEGIN does something like what I want, only it works on the other end of the data.

Files:
 
PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,299792458.0);
HistoBuffer[0]=299792458.0;
This might do it.
 
Anthony Garot:

As shown in the red box, the 0th value is the current value. I only want to show values for full D1 bars, not the currently filling bar.

As you can see, I am currently setting HistoBuffer[0] = 0., which causes all the lines to converge to 0.

One thought is to simply set the value of each to the 1st bar value, HistoBuffer[0] = HistoBuffer[1]. That would look better, but I'm wondering if there is a simple way to not show that 0th bar.

I guess I could go to DRAW_COLOR_LINE for each line, but having an extra 8 buffers seems like overkill.

PLOT_DRAW_BEGIN does something like what I want, only it works on the other end of the data.

Yes. Just set them to EMPTY_VALUE or set the EmptyValue property to 0.

PlotIndexSetDouble( intIndex, PLOT_EMPTY_VALUE, 0 ); // Set Empty Value property to "0"

EDIT: Actually I take it back, because setting the EmptyValue to 0 will cause problems if it is part of a valid data. So, just set them to the EMPTY_VALUE constant instead.

HistoBuffer[ 0 ] = EMPTY_VALUE;
 
Anthony Garot:

As shown in the red box, the 0th value is the current value. I only want to show values for full D1 bars, not the currently filling bar.

As you can see, I am currently setting HistoBuffer[0] = 0., which causes all the lines to converge to 0.

One thought is to simply set the value of each to the 1st bar value, HistoBuffer[0] = HistoBuffer[1]. That would look better, but I'm wondering if there is a simple way to not show that 0th bar.

I guess I could go to DRAW_COLOR_LINE for each line, but having an extra 8 buffers seems like overkill.

PLOT_DRAW_BEGIN does something like what I want, only it works on the other end of the data.

EMPTY_VALUE or any value set as empty value with PLOT_EMPTY_VALUE.
 

@kypa @Fernando Carreiro @Alain Verleyen

Thanks guys! EMPTY_VALUE is exactly right. 


pairs[j].HistoBuffer[rates_total-1] = EMPTY_VALUE;

 
Anthony Garot:

@kypa @Fernando Carreiro @Alain Verleyen

Thanks guys! EMPTY_VALUE is exactly right. 


Seems we posted all at the same time or almost.