The code is based on the ErrorDescription library.
Library contains ErrorDescription() function with two input parameters error_code and optional parameter txt_prefix.
string ErrorDescription(int error_code,string txt_prefix="")
GetLastError() return codes can be found here https://www.mql5.com/en/docs/constants/errorswarnings/errorcodes.
OrderSend() function's retcode field values can be found in https://www.mql5.com/en/docs/constants/errorswarnings/enum_trade_return_codes.
Both tables are included in ErrorDescription() function.
LibraryTest.mq5 script can be used to check description of a known error code. Just execute script with an input error_value set to error code and it will print description. If error_value is set to -1 script will print all available error codes.
The Schaff Trend Cycle (STC) indicator detects up and down trends long before the MACD. It does this by using the same Exponential Moving Averages (EMAs), but adds a cycle component to factor currency cycle trends. Since currency cycle trends move based on a certain amount of days, this is factored into the equation of the STC indicator to give more accuracy and reliability than the MACD.MACD of average
This is a MACD that can use average for input price instead of using "pure" price. That can help in filtering some false signals, but the main purpose of this code is to show how simple some things can be done using MetaTrader 5. In addition to all usual options when it comes to this type of indicators, option to have color changes based on MACD slope change or MACD crossing signal line.