It is very interesting.
Strategy tester uses the same data which exist in client terminal. If them is not enough, tester should initiate downloading.
How did you check bars count?
Hello, and thanks for your answers.
Actually, I checked in the log, and the strategy tester uses data with decreasing accuracy. It has M1 accuracy for the last 3 months, and then it decreases to H1 for a one year period, and then you get a D1 history for the rest of the time (not totally sure about the period details but I'm sure it decreases a lot). So it downloads the history, but very fast, too fast...
Baq, I know that the spread is not counted, but I won't say it is useless. Still looking forward for improvements in the tester, especially long term accurate history and spread for sure ;)
Hello, and thanks for your answers.
Actually, I checked in the log, and the strategy tester uses data with decreasing accuracy. It has M1 accuracy for the last 3 months, and then it decreases to H1 for a one year period, and then you get a D1 history for the rest of the time (not totally sure about the period details but I'm sure it decreases a lot). So it downloads the history, but very fast, too fast...
Baq, I know that the spread is not counted, but I won't say it is useless. Still looking forward for improvements in the tester, especially long term accurate history and spread for sure ;)
even if you get the whole history into tester, your results would be useless because spread in tester is 0 :)
if(SymbolInfoInteger(_Symbol,SYMBOL_SPREAD)==0) { Print("Server Time ",TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES)," ",_Symbol," Spread ",SymbolInfoInteger(_Symbol,SYMBOL_SPREAD)," Ask-Bid ", DoubleToString((SymbolInfoDouble(_Symbol,SYMBOL_ASK)-SymbolInfoDouble(sym,SYMBOL_BID)),_Digits)); }
I used above Print() call only when Spread=0. Agent log attached. The
test was on EA that trades H1 new bar for 4 symbols (EURUSD, USDCHF,
GBPUSD, EURCHF). Test was from 2010.01.01 to 2010.07.21. There were 6
partial days that had Spread=0.
2010.3.15 - all 4 symbols had 0
values
2010.4.16 - all 4 symbols had 0 values
2010.5.17 - all
symbols had 0 values, except EURCHF
2010.5.19 - all symbols had 0
values, except EURCHF
2010.5.20 - all symbols had 0 values, except a
few times EURCHF had correct spread value
2010.7.14 - all 4 symbols
had 0 values
I ran same EA, same test settings on 2 different demos. Attached are chart pics of Tester runs from each demo. Chart 1 had same problem with several no spread values as noted above, but with profitable test results. Chart 2 did not have this problem and did not have print outputs to logs, but was not profitable. This is a problem for me. How to know which tests is with good history data and results reliable.
MetaQuotes-Demo (Access Point 4 USA) - for both demo accounts reported below.
I used above Print() call only when Spread=0. Agent log attached. The
test was on EA that trades H1 new bar for 4 symbols (EURUSD, USDCHF,
GBPUSD, EURCHF). Test was from 2010.01.01 to 2010.07.21. There were 6
partial days that had Spread=0.
I don't know if you saw my script in some other post, spread can be calculated/gathered in many ways. The question is, which prices are used in simulated trades? My question came from comparing identical strategies in MT4 and MT5 where MT5 had far superior results. the equity chart had similar peaks and slopes but when on MT5 the line was flat, on MT4 it was going down quite significantly. It leads me to think that the spread was a big factor here.
I would recommend to code identical EA for both MT4 and MT5 and test them on data supplied by metaquotes on both. The results should be very close. The EA should be really simple.
I don't know if you saw my script in some other post, spread can be calculated/gathered in many ways. The question is, which prices are used in simulated trades? My question came from comparing identical strategies in MT4 and MT5 where MT5 had far superior results. the equity chart had similar peaks and slopes but when on MT5 the line was flat, on MT4 it was going down quite significantly. It leads me to think that the spread was a big factor here.
I would recommend to code identical EA for both MT4 and MT5 and test them on data supplied by metaquotes on both. The results should be very close. The EA should be really simple.
I need to have confidence in MT-5 platform before comparing to MT-4. There is some difference between MT-5 terminals, maybe spread, maybe different history data feeds. MetaQuotes needs to resolve this difference between different instances of same MT-5 client terminal. Not to beat up on MetaQuotes, I'm sure they have been working very hard to bring MT-5 from beta development to ready for commercial activity in order to pay the bills.
To your last point, I have coded many MT-4 EAs to MT-5, from simple MA to multi-indicator and multi-currency. The tester results have not been similar.
Ok well there has to be a way to change the spread, it is useless to test an EA without taking spread into consideration. Cannot believe the developers left this out ??
For instance my one test gave me $75000 profit in three years, but the total orders placed was 1500. At one lot and 3 pip spread my profit is now all of a sudden $30 000. This is a BIG difference
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello,
When I start the strategy tester, Metatrader downloads the history. However, I noticed that after 3 months backward, I get less bars and my tests become totally inaccurate. So I was wondering, do anyone know how I can fix this problem, or import my own history from external files?
By the way; I'm testing my EA in EURUSD M5.
Thanks