The Exp_CGOscillator_X2 trend trading system based on the signals from two CG Oscillator indicators. The first indicator determines the direction of the slow trend based on the position of the main and signal lines. The second indicator determines the moment for opening a trade, when the lines are crossed or touched. The signal is formed when a bar is closing if two conditions are met:
- Signals of the fast and slow trend match;
- Direction of the fast trend has changed.
Input parameters of the Expert Advisor
//+-------------------------------------------------+ //| Input parameters of the EA indicator | //+-------------------------------------------------+ input string Trade="Trade management";    //+================ TRADE MANAGEMENT ================+  input double MM=0.1;              //Share of a deposit in a deal input MarginMode MMMode=LOT;      //Lot value detection method input uint    StopLoss_=1000;      //Stop Loss in points input uint    TakeProfit_=2000;    //Take Profit in points input string MustTrade="Trade permissions";    //+=============== TRADE PERMISSIONS ===============+  input int    Deviation_=10;      //Max price deviation in points input bool  BuyPosOpen=true;    //Permission to enter long positions input bool  SellPosOpen=true;    //Permission to enter short positions //+-------------------------------------------------+ //| Input parameters of the filter indicator        | //+-------------------------------------------------+ input string Filter="SLOW TREND PARAMETERS";    //+============== TREND PARAMETERS ==============+  input ENUM_TIMEFRAMES TimeFrame=PERIOD_H8;  //1 Chart period for the trend input int Length=10;// Indicator period input uint SignalBar=1; //Bar index to get receive signal input bool  BuyPosClose=true;    //Permission to exit long positions by trend input bool  SellPosClose=true;    //Permission to exit short positions by trend //+-------------------------------------------------+ //| Input parameters of the entry indicator         | //+-------------------------------------------------+ input string Input="ENTRY PARAMETERS";      //+=============== ENTRY PARAMETERS ==============+  input ENUM_TIMEFRAMES TimeFrame_=PERIOD_H1;  //2 Chart period for the entry input int Length_=10;// Indicator period input uint SignalBar_=1;//Bar index to receive an entry signal input bool  BuyPosClose_=false;    //Permission to exit long positions by signal input bool  SellPosClose_=false;    //Permission to exit short positions by signal //+-------------------------------------------------+
String variables containing text in the inputs code are included only for better visual display of the EA inputs window.
The CGOscillator_HTF indicators in the EA are intended only for a more convenient visualization of trends in the strategy tester, in other operation modes they are inactive.
In order to provide proper operation of the compiled Expert Advisor, you should add the compiled CGOscillator.ex5 and CGOscillator_HTF.ex5 indicator files to <terminal_data _folder>\MQL5\Indicators.
Note that the TradeAlgorithms.mqh library file allows using Expert Advisors with brokers who offer nonzero spread and the option of setting Stop Loss and Take Profit together with position opening. You can download more variants of the library at the following link: Trade Algorithms.
Default Expert Advisor’s input parameters have been used during the tests shown below. Stop Loss and Take Profit have not been used during the tests.
Fig. 1. Examples of deals on the chart
Testing results for 2015 on EURUSD, slow trend on H8, entry by fast trend on H1:
Fig. 2. Chart of testing results