Expert Advisors • Indicators • Scripts • Libraries

MQL.RobotFX.org is the biggest collection of MetaTrader expert advisors (MT5 & MT4), indicators, scripts and libraries that can be used to improve trading results, minimize risks or simply automate trading tasks

MetaTrader 5 Expert Advisor | Exp_Iin_MA_Signal_MMRec

The trading system based on the Iin_MA_Signal indicator signals with an ability to change the volume of a forthcoming trade depending on the results of the previous trades for this trading system. Trading signals are formed when a bar closes if a trend has changed (which is displayed by the indicator color label).

The block of input EA variables is added for managing volumes of opened positions:

input uint    BuyTotalMMTriger=5; // The number of the last Buy deals to calculate stop loss  input uint    BuyLossMMTriger=3;  // The number of losing Buy deals to reduce MM  input uint    SellTotalMMTriger=5;// The number of the last Sell deals to calculate stop loss  input uint    SellLossMMTriger=3; // The number of losing Sell deals to reduce MM  input double  SmallMM_=0.01;      // Share of a deposit in a deal in case of loss  input double  MM=0.1;             // Share of a deposit in a deal during normal trading  input MarginMode MMMode=LOT;      // Lot value determining method  

In case of such inputs and when selecting from the last five trades, three of which are loss-making in a single direction, the EA opens the next trade in the same direction having the volume of 0.01 lot. If there are less than three loss-making trades out of the last five ones, the position volume is 0.1.

This EA is a further refining of the Exp_Iin_MA_Signal EA. The block of EA inputs has been added to the code and the position opening/closing block has been changed:

//---- Deal execution  //---- Closing a long position by magic number     BuyPositionClose_M(BUY_Close,Symbol(),Deviation_,BuyMagic);    //---- Closing a short position by magic number       SellPositionClose_M(SELL_Close,Symbol(),Deviation_,SellMagic);       double mm;  //---- Opening a long position by magic number     if(BUY_Open)       {        mm=BuyTradeMMRecounterS(BuyMagic,BuyTotalMMTriger,BuyLossMMTriger,SmallMM_,MM); // define the long position volume depending on the results of previous deals        BuyPositionOpen_M1(BUY_Open,Symbol(),UpSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,BuyMagic);       }    //---- Opening a long position by magic number     if(SELL_Open)       {        mm=SellTradeMMRecounterS(SellMagic,SellTotalMMTriger,SellLossMMTriger,SmallMM_,MM); // define the short position volume depending on the results of previous deals        SellPositionOpen_M1(SELL_Open,Symbol(),DnSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,SellMagic);       }  

For the generated EA to operate correctly, the compiled Iin_MA_Signal.ex5 indicator file should be available in the <terminal_data_directory>\MQL5\Indicators folder.

Default Expert Advisor's input parameters without stops have been used during tests shown below.

MetaTrader Experts, Indicators, Scripts and Libraries

Fig. 1. Examples of trades on the chart

GBPJPY H1 testing results over the year of 2017:

MetaTrader Experts, Indicators, Scripts and Libraries

Fig. 2. Test results chart

21969