Join our fan page
- Views:
- 2618
- Rating:
- Published:
- 2018.10.25 15:57
-
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
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.
Fig. 1. Examples of trades on the chart
GBPJPY H1 testing results over the year of 2017:
Fig. 2. Test results chart
Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/21969

Iin_MA_Signal indicator in NRTR form

Trading strategy based on iAMA (Adaptive Moving Average, AMA) and iRSI (Relative Strength Index, RSI) indicators. Martingale is applied.

XRSI_Histogram_Vol_Direct indicator with the timeframe selection option available in input parameters

XCCI_Histogram_Vol_Direct indicator with the timeframe selection option available in input parameters