Trading by i-Regr (Regression Channel):
Â
Regression Channel: Linear Regression Channel, Quadratic (Parabolic) Regression Channel, Cubic Regression Channel.
Implemented the trend protection: if a previous day’s D1 exceeds 1500 pips (“protection size D1 bar” input) – disable trading and close all open positions.
Test period: 2016.01.01 — 2016.10.26, initial deposit — 10 000, timeframe — H1:
Â
In the below code, it is already assumed that i-Regr indicator is already in the \MQL5\Indicators\ folder:
//+——————————————————————+
//| Expert initialization function                                   |
//+——————————————————————+
int OnInit()
  {
  m_symbol.Name(Symbol());                  // sets symbol name
  m_trade.SetExpertMagicNumber(m_magic);    // sets magic number
//— create handle of the indicator i-Regr
  handle_i_Regr=iCustom(Symbol(),Period(),“i-Regr”,
                        Regr_kstd,
                        Regr_degree,
                        Regr_bars,
                        Regr_shift
                        );
//— if the handle is not created
  if(handle_i_Regr==INVALID_HANDLE)
//| Expert initialization function                                   |
//+——————————————————————+
int OnInit()
  {
  m_symbol.Name(Symbol());                  // sets symbol name
  m_trade.SetExpertMagicNumber(m_magic);    // sets magic number
//— create handle of the indicator i-Regr
  handle_i_Regr=iCustom(Symbol(),Period(),“i-Regr”,
                        Regr_kstd,
                        Regr_degree,
                        Regr_bars,
                        Regr_shift
                        );
//— if the handle is not created
  if(handle_i_Regr==INVALID_HANDLE)