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.
-
obv_handle = iOBV(symbol,timeframes, VOLUME_REAL); double obv_data[]; ArraySetAsSeries(obv_data, true); int datacopied = CopyBuffer(obv_handle, 0, 1, totalBars, obv_data); IndicatorRelease(obv_handle);
They all (including iCustom) return a handle (an int). You get that in OnInit. In OnTick/OnCalculate/OnStart (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) -
double max_obv = ArrayMaximum(obv_data, 0, datacopied);
ArrayMaximum does not return a double.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi, I wrote a function to get the highest obv value for the last 1000 bars.
However, I got an incorrect return. (It's returning 0)
Can anyone see the issue? Please help :