-
#property indicator_buffers 3 #property indicator_color1 Blue // RSI #property indicator_color2 Green // ADX #property indicator_color3 Red // ADX Threshold
Where do you state what to display (arrow and character numbers? Why are you creating objects instead of using the buffers?
-
rsi_buffer[i] = iRSI(NULL, 0, rsi_length, PRICE_CLOSE); // Removed the extra index argument
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/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)
You need to go to the codebase and look at working codes.
Hi
This code is not working because it’s coded wrongly.
You don’t use indicator calculations correctly. In mt5 all those functions for indicators iRSI, iADX etc return only handles for indicator values – not values itself. So you need to define those handles in the OnInit for example:
RSI_Handle = iRSI(NULL, 0, rsi_length, PRICE_CLOSE);
And then in OnCalculate use CopyBuffer to get values properly:
rsi_buffer[i]=getRSI(i); ... double getRSI(int i){ double res[]; ResetLastError(); if(CopyBuffer(RSI_Handle, 0, i,1,res)<0 ){ Print("Error copying RSI data for buffer - error:"+IntegerToString(GetLastError())+"!!"); return(0); } return(norm(res[0])); }
Have a nice day👍📊

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use