Highs and Lows

 

I wrote a code to calculate the values of the the fractals and put them in an array. At first, I had results of weird numbers but when I added the line that makes fractal=0 when the value of the fractal is "EMPTY", I started getting results as 0 on the chart. 

My question is, why is the value empty and what can I do to avoid this? Are there any other ways to solve this problem. Please assist.

void OnTick()
{
int fractals = iFractals(_Symbol, _Period);
double fracUp[];
ArraySetAsSeries(fracUp,true);
 CopyBuffer(fractals,UPPER_LINE,2,13,fracUp);
 double fracUpValue=NormalizeDouble(fracUp[0],5);
 if(fracUpValue==EMPTY_VALUE)
      fracUpValue = 0;

   Comment("High = ",fracUpValue,"\n");
}
 
 
  1. void OnTick()
    {
    int fractals = iFractals(_Symbol, _Period);

    Perhaps you should read the manual, especially the examples.
       How To Ask Questions The Smart Way. (2004)
          How To Interpret Answers.
             RTFM and STFW: How To Tell You've Seriously Screwed Up.

    They all (including iCustom) return a handle (an int). You get that in OnInit. In OnTick/OnCalculate (after the indicator has updated its buffers), you use the handle, shift and count to get the data.
              Technical Indicators - Reference on algorithmic/automated trading language for MetaTrader 5
              Timeseries and Indicators Access / CopyBuffer - Reference on algorithmic/automated trading language for MetaTrader 5
              How to start with MQL5 - General - MQL5 programming forum - Page 3 #22 (2020)
              How to start with MQL5 - MetaTrader 5 - General - MQL5 programming forum - Page 7 #61 (2020)
              MQL5 for Newbies: Guide to Using Technical Indicators in Expert Advisors - MQL5 Articles (2010)
              How to call indicators in MQL5 - MQL5 Articles (2010)

  2.  if(fracUpValue==EMPTY_VALUE)
          fracUpValue = 0;

    MQL4 uses empty value of zero, while on the MQL5 uses EMPTY_VALUE.
              #12 (2022)

 
William Roeder #:
  1. Perhaps you should read the manual, especially the examples.
       How To Ask Questions The Smart Way. (2004)
          How To Interpret Answers.
             RTFM and STFW: How To Tell You've Seriously Screwed Up.

    They all (including iCustom) return a handle (an int). You get that in OnInit. In OnTick/OnCalculate (after the indicator has updated its buffers), you use the handle, shift and count to get the data.
              Technical Indicators - Reference on algorithmic/automated trading language for MetaTrader 5
              Timeseries and Indicators Access / CopyBuffer - Reference on algorithmic/automated trading language for MetaTrader 5
              How to start with MQL5 - General - MQL5 programming forum - Page 3 #22 (2020)
              How to start with MQL5 - MetaTrader 5 - General - MQL5 programming forum - Page 7 #61 (2020)
              MQL5 for Newbies: Guide to Using Technical Indicators in Expert Advisors - MQL5 Articles (2010)
              How to call indicators in MQL5 - MQL5 Articles (2010)

  2. MQL4 uses empty value of zero, while on the MQL5 uses EMPTY_VALUE.
              #12 (2022)

I went through the articles you sent but they were NOT HELPFUL. My question is how can I stop the value from being 0. Why is it an empty value to begin with. 
 

Remember that the "Fractal" is executed after the 3rd candle. 

0 - current

1 - second candle

2 - third candle

But for a new fractal to be generated you need the information from candlesticks 0 and 1.

iFractals - Technical Indicators

Aprendiendo a diseñar un sistema de trading con Fractals - Artículos sobre MQL5
iFractals - Technical Indicators - MQL4 Reference
iFractals - Technical Indicators - MQL4 Reference
  • docs.mql4.com
iFractals - Technical Indicators - MQL4 Reference
 
Manuel Espinosa #:

Remember that the "Fractal" is executed after the 3rd candle. 

0 - current

1 - second candle

2 - third candle

But for a new fractal to be generated you need the information from candlesticks 0 and 1.

iFractals - Technical Indicators

Aprendiendo a diseñar un sistema de trading con Fractals - Artículos sobre MQL5
Oh really?! I always thought that this 
FracUp[0]=most recent fractal
FracUp[1] = the 2nd to last fractal. 
If you thought about it. The array is supposed to be filled with data from the ifractal indicator. I think I'm wrong so what way do you think I can use to get the current,  2nd to last fractal etc.
Thank you very much for your previous response 🙂
 
Manuel Espinosa #:

Remember that the "Fractal" is executed after the 3rd candle. 

0 - current

1 - second candle

2 - third candle

But for a new fractal to be generated you need the information from candlesticks 0 and 1.

iFractals - Technical Indicators

Aprendiendo a diseñar un sistema de trading con Fractals - Artículos sobre MQL5

Thanks for the input. I've fixed the code now.

You can find the source file here https://www.mql5.com/en/code/43678 for future reference

Fractal Prices-High
Fractal Prices-High
  • www.mql5.com
Returns the price for the most recent fractal high
Reason: