Exp_Iin_MA_Signal_MMRec – EA MetaTrader 5

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.

Alternative:  Auto MM - script MetaTrader 4

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>MQL5Indicators folder.

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


Fig. 1. Examples of trades on the chart

GBPJPY H1 testing results over the year of 2017:

Fig. 2. Test results chart

Fig. 2. Test results chart


https://www.mql5.com/ru/code/21969

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