Exp_Fractal_WeightOscillator – EA MetaTrader 5

Real Author: Vladimir Khlystov

The simplest EA based on the Fractal_WeightOscillator weighted oscillator. Sells at downward crossing of the oscillator overbought level, buys at the upward crossing of oscillator oversold level. The signal is formed at the close of a bar, if the level is crossed.

The Fractal_WeightOscillator_HTF indicator in the EA is intended only for a more convenient visualization of trends in the strategy tester, in other operation modes it is inactive.

Place Fractal_WeightOscillator.ex5 and Fractal_WeightOscillator_HTF.ex5 compiled files to the <terminal_data_folder>\MQL5\Indicators.

After compilation, the Exp_Fractal_WeightOscillator.ex5 expert file contains the Fractal_WeightOscillator.ex5 and Fractal_WeightOscillator_HTF.ex5 indicators as resources, and therefore, they are not required to be present in the terminal folder for the compiled EA to work! For this purpose, the corresponding code has been added to the EA code in order to include these indicators in the expert’s executable file.

The indicator executable files have been added as resources at the global scope

//—- Include the indicators in the EA code as resources
#resource “\\Indicators\\Fractal_WeightOscillator.ex5”
#resource “\\Indicators\\Fractal_WeightOscillator_HTF.ex5”

Changed the string paths to the indicators used as resources in the block of the OnInit() function

//—- getting the Fractal_WeightOscillator handle
   InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,“::Indicators\\Fractal_WeightOscillator”,
                         e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
                         WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
   if(InpInd_Handle==INVALID_HANDLE)
     {
      Print(” Failed to get handle of the Fractal_WeightOscillator indicator”);
      return(INIT_FAILED);
     }
//—- Getting the handle of the Fractal_WeightOscillator_HTF indicator for visualization in the strategy tester
   if(MQLInfoInteger(MQL_VISUAL_MODE))
     {
      //—- getting the handle of the Fractal_WeightOscillator_HTF indicator
      int Ind_Handle=iCustom(Symbol(),Period(),“::Indicators\\Fractal_WeightOscillator_HTF”,InpInd_Timeframe,
                             e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
                             WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
      if(Ind_Handle==INVALID_HANDLE)
        {
         Print(” Failed to get the handle of the Fractal_WeightOscillator_HTF indicator”);
         return(INIT_FAILED);
        }
     }
Alternative:  CHO Smoothed Arrow 2 - indicator MetaTrader 5

Thus, the compiled executable file of the expert can be used on other trade terminals on its own without the 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

Fig. 1. Examples of deals on the chart

Testing results for 2015 on GBPUSD H6:

Fig. 2. Chart of testing results

Fig. 2. Chart of testing results


📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks