Custom Indicator: iCustom - MQL4 returns correct values, MQL5 returns incorrect values

 

Hi

To get the buffer values of a custom indicator of the last closed candle in MQL4 - which returns correct values:

for (int i = 0; i < 27; i++)
      Print(i + ": " + iCustom(Symbol(), Period(), "Currency Strength Multimeter", 250, 5, true, false, i, 1));

To get the buffer values of a custom indicator of the last closed candle in MQL5 - which returns incorrect values:

   int csmHandle = iCustom(Symbol(), Period(), "Currency Strength Multimeter", 250, 5, true, false);
   double csmBuffer[];
   for (int i = 0; i < 27; i++)
   {
      if (CopyBuffer(csmHandle, i, 1, 1, csmBuffer) < 0)
         return;
      ArraySetAsSeries(csmBuffer, true);
      Print(i + ": " + csmBuffer[0]);
   }

I've read through the documentation and I think I am doing this correctly. I would appreciate it, if someone could review this and advise if there's something I have misunderstood.

 
Sameer Shariff: I've read through the documentation and I think I am doing this correctly. I would appreciate it, if someone could review this and advise if there's something I have misunderstood.

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 (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.03.08
          How to start with MQL5 - MetaTrader 5 - General - MQL5 programming forum - Page 7 #61 2020.07.05
          How to call indicators in MQL5 - MQL5 Articles 12 March 2010