General
Originally written for myself, when I had to work with many indicators at once.
Each class consists of the multiple fields. They can be the same for all (for example, indicator handle, timeframe, period, price) and those required by the particular indicator. The class also contains functions that set and get those fields.
How to Use
Download the archive. Files with the .mqh extension (that have “cind” in the beginning of file name) should be placed to the folder with your Expert Advisor.
Files with indicator names (*.mq5) should be placed to the \MQL5\Indicators\ folder.
Indicator parameters can be set and modified using the class functions. For example:
Macd.SetSlowEma(MACD_Slow_EMA_Period); // Set the value of the slow EMA
Macd.SetSignalSma(MACD_Signal_SMA_Period); // Set the value of the signal SMA
Macd — object of the CIndMacd class.
Indicator value can be obtained by calling the corresponding function. For the “macd_histogram” indicator, it will look as follows:
double valueMacd = Macd.OutValueMacd(1); // Indicator value at the last bar
double valueSignal = Macd.OutValueSignal(1); // Signal line value at the last bar
One as the argument means that the value is taken for the last completed bar.
Conclusion
In short, this is all. If you have questions on usage – write in comments.