Backtesting an EA (using a fixed timeframe value) provide different results !!!

 
Hello,

1. I put a fixed value PERIOD_M15 for the timeframe parameter for all indicators.
So we must get the same result for any timeframe selected in the tester setting.
Because, the Buy/Sell conditions are based on those 3 indicators using a fixed timeframe value.
But I got different results! Why ??

diClose0=iClose(NULL,PERIOD_M15,0);
fMM=iMA(NULL,PERIOD_M15,5,0,3,2,0);
sMM=iMA(NULL,PERIOD_M15,7,0,3,2,0);

2. How to test multiple EA simultaneously on a real demo account (or on many demo account) ?
Is it possible to do it without installing many MetaTrader Terminal on the PC ?
My goal is to test few EA on a real demo account.
Then I would easily compare their performance.

Thanks.
Files:
mx.mq4  2 kb
 
to test multiple EAs you will need not multiple terminals but mutiple charts open on the same terminal even if for the same currency. Attach each EA to it's own chart.

As far as question No 1, like I said use M1 I believe it to be the most accurate.
 
1. The results would only be the same if you select the "every tick" option in the backtester and have a accuracy percentage (> 90%).

2. You can test more than one EA on a terminal, but you have to be careful. If they use the same currency pair then you may get interference because one EA may close trades from another. To avoid this, each EA can have its own magic number and test for that when checking for orders to close.
 
If you want to calculate on price open, there need to be replaced value for applied_price
fMM=iMA(NULL,PERIOD_M15,5,0,3,1,0); // instead of 2 -> 1
sMM=iMA(NULL,PERIOD_M15,7,0,3,1,0);
Constant PRICE_CLOSE = value 0, PRICE_OPEN is 1. Used value 2 is constant PRICE_HIGH.
Reason: