: Testing results :
: Download the EA :
We all know how dangerous martingale techniques are but they are the perfect example of – High Risk High Reward. I have defined a unique way of opening and closing trades based on SMA lines and use martingale technique to maximize profit. There is also a way to close the trades if they move in the negative direction based on the timing. Net-net – this may be the EA that gives you good profit but at the same time does not run havoc on your account if there are abrupt and rapid market movements.
Before you decide to give this EA a try, read the following points first:
- DO NOT RUN THIS ON LIVE ACCOUNT WITHOUT PROPER TESTING! => Note that this EA is not for the weak at heart! Even though it has some level of protection against very big losses, it will still take occasional losses.
- DO NOT RUN THIS EA ON ONLY ONE OR TWO CURRENCY PAIRS – DIVERSIFY! => I have found it to be a good idea to use the EA on multiple currencies at the same time. This way, you have a bit of a diversification going on and not at the mercy of one currency pair’s abrupt movement.
- EA WORKS ONLY ON SOME OF THE CURRENT PAIRS. Do not use currency pairs that are NOT shown in the testing results. There are some pairs like AUDJPY or NZDUSD that do not do well with this EA.
Note that in order to achieve better modelling quality, I am running smaller periods at a time but if you review the testing results on this page, there is evidence that this EA works well consistently over a long period.
Testing run on AUDUSD from 24-Feb-2016 to 23-May-2016 (modelling quality of 90% with lot size of 1 and spread assumed as 5 PIPs)
Testing run on USDCHF from 3-Feb-2016 to 2-May-2016 (modelling quality of 90% with lot size of 1 and spread assumed as 5 PIPs)
Testing run on XAGUSD ( Silver vs. US Dollar) from 1-Jan-2015 to 22-Apr-2016 (modelling quality of 57.23% with lot size of 1)
Testing run on USDCHF from 21-Jan-2016 to 20-Apr-2016 (modelling quality of 90% with spread assumed to be 5 PIPs)
Testing run on GBPNZD from 21-Jan-2016 to 20-Apr-2016 (modelling quality of 90% with spread assumed to be 5 PIPs)
Testing run on USDCHF from 10-Jan-2016 to 9-Apr-2016 (modelling quality of 88.22%)
Testing run on AUD-NZD pair from 2-Feb-2016 to 1-Apr-2016 (modelling quality of 90%)
Click here to download the Demo Version of this EA.
Contact me via the contact link on this site if you need the Live Version.
This is the most important information on this page. Do not rush into using the EA before you completely understand the settings and import parameters.
First and most important – this EA has been tested only on the H4 timeframe and has given less impressive results on any other timeframes. This EA will NOT work on any other timeframes.
Second important point – EA WORKS ONLY ON SOME OF THE CURRENT PAIRS. Do not use currency pairs that are NOT shown in the testing results. There are some pairs like AUDJPY or NZDUSD that do not do well with this EA.
Other recommended settings are as follows (click on the image to enlarge and read the details of each import parameter below the image):
Key import parameters:
MaxOrders -> Possible values – any numeric integer value from 1 to any number. This is the maximum number of orders the EA is allowed to open for the given symbol in one direction. Note that this EA does not do hedging (opening of opposite trades for the same symbol) which is not allowed in some countries anyway. So this parameter indicates how many consecutive orders the EA is allowed to open. Higher the number, higher are possibilities of profit but at the same time, higher is the risk of loss. Most recommended setting for this parameter is 3. Any higher value has lead to bigger losses.
referenceInterval -> Possible values – any numeric integer value from 1 to any number. This parameter is hard to explain. Just leave it at 100 or some smaller value.
LotSize -> Possible values – any numeric integer value from smallest lot size allowed by your trading platform (usually 0.01) to any number. This is the minimum lot size. Set this to a low value as much as possible. The EA will use this to open the first trade in given direction. The EA increases the lot size for every new trade entered in the given direction. Using high starting low is very risky. It is ok to use 0.01 for accounts with less than 10K equity and 0.1 for higher values but as much as possible, please test with 0.01 before going with higher values.
StopLoss and TakeProfit -> Possible values – any numeric integer value. These are self-explanatory. These values are in points (not in PIPS). You can experiment with various values but the idea is to have these values set to relatively high number so they are not hit in most cases. They are only for protection against very large unexpected movements. I have done most of the testing with 5000 and I will recommend you leave it at that.
SecsToClose -> Possible values – any numeric integer value from 1 to any number. This is the important value which acts as an expiry value for the trades. Each trade is closed after these many seconds elapse from the open of the trade. Most of the testing is done using 84390 seconds for this import parameter. You are most welcome to test using other values.
maxSpread -> Possible values – any numeric integer value. This indicates the maximum spread allowed by the EA. Keep in mind that this is in points and not in PIPs. For example, 50 points is 5 PIPs on regular EURUSD pair. This is a security measure against the excessive spreads some trading platforms impose at times. All my testing is done with the value of 30 (3 PIPs). Please use 30 to get the similar results like me. Please use higher values at your own risk. Note that this parameter is checked only when opening the first order in the series. For example, if the EA is going to open 3 BUY orders for the pair on one side, it will check for the spread only on the first order. Next two orders will be opened at the current spread. It is most advisable that you use a broker that gives very tight spreads.
minEquityForTakeProfit -> Any numeric value in your base currency. This import parameter has a specific purpose. If you want the EA to stop trading if a certain amount of equity is hit, you can set this value. Usually it is higher than the account balance (otherwise the EA will not open any trades). This value, when reached, triggers a circuitbreaker mechanism that closes all open orders and stops the EA from opening future trades unless the EA is restarted. Note that the value of this variable must be reset to a higher value or the equity must be reduced (by withdrawing funds) in order for the EA to start opening new trades again. If you do not understand the use of this import parameter, simply set this to a very high value and it will not interfere with your trading.
MovingPeriod and MovingShift -> Any numeric integer values from 1 to N. This is the simple moving average period and shift respectively. All testing runs so far indicate that values of 4 and 0 work the best. You are free to test with other values but results may be unexpected.
priority -> Any numeric integer values from 0 to N. This is the parameter used when you are running the EA on your account on multiple currencies at the same time. Set this to lower value for the currency you wish to give preference to. For example, if you are running this on USDCAD and EURUSD charts at the same time but you want the EA to give preference to USDCAD when opening new orders, keep the lower priority value on the USDCAD chart. However, do not use very high numbers. I typically use 0, 5, 10 and so on.