MT4 flaky giving different backtest results with no changes - page 2

 
15011974:

... My backtest will not process ticks dated and time stamped before midnight of my start date 2010-03-11 or after 00:00:00 of my end date of 2011-03-11.

Therefore, any CURRENT ticks should not affect the backtest nor should it matter what day or time I do backtesting as that would defeat the purpose of backtesting. Please use some logic in your answers.

Bill H.

You do not understand how historical information is stored. It is Bid price only. When you run the backtest, the tester needs to generate both Bid AND Ask price. It needs a spread value to do that, and it uses the CURRENT spread to work out the HISTORICAL spread for each tick as it works its way through the data
 
15011974:

My backtest will not process ticks dated and time stamped before midnight of my start date 2010-03-11 or after 00:00:00 of my end date of 2011-03-11.

Therefore, any CURRENT ticks should not affect the backtest nor should it matter what day or time I do backtesting as that would defeat the purpose of backtesting.

The current ticks are irreverent.

The current SPREAD at the moment you start backtesting is not. Spread is NOT stored in history.

It matters exactly when you start. Stop arguing. Accept reality, not how you think it should work.

 
WHRoeder:

The current ticks are irreverent.

The current SPREAD at the moment you start backtesting is not. Spread is NOT stored in history.

It matters exactly when you start. Stop arguing. Accept reality, not how you think it should work.

Thank you guys for the help. I dont know about "15011974" but it was sure help to me! I thought I was just spending way too much time in front of the computer and goofing up somewhere. I was going crazy!!! Thanks again!
 
Disconect from net, than set spread on both pcs to the same value.
 
nicwaznego:
Disconect from net, than set spread on both pcs to the same value.

Correct, good advice.

The way I do this is very simple . . . click File, Login, enter a random few numbers for the Login, click Login . . . the login will fail and you will lose your connection.

To set the spread I use SpreadGenerator_v1.1.mq4 https://www.mql5.com/en/forum/113730

 

Have you downloaded the history for the back test data, or are you getting it from the server each time. I get errors in the data each time the I use a pair that has not had the data downloaded in the history center, which then effects the results. I too have found that 4-5 tests in a row give different results in this case. You should see "Mismatched chart errors" in the report however. If you check that, and you have none then this isn't it.

I have found that when I think MT4 is buggy, that yes its not accepting ANSI C, which I have been programming for the same amount of time as youself. However, after becoming more specific with including things like brackets around tests and making sure I'm not using "short hand" statements (You know the ones that are hard to read, but since its your program you can follow it) and similar things like this, that I can find the way the MT4 will provide the same results. Generally I find I have to step the code back to a simpler form.

I've got a couple of examples that work inside indicators, but don't work inside EA's, but they should.

 

CURRENT ticks will not affect the backstest. The CURRENT SPREAD WILL. Please learn to READ before you argue.

I said it twice, brewmanz said it. ACCEPT it.

 
RaptorUK:

Correct, good advice.

The way I do this is very simple . . . click File, Login, enter a random few numbers for the Login, click Login . . . the login will fail and you will lose your connection.

To set the spread I use SpreadGenerator_v1.1.mq4 https://www.mql5.com/en/forum/113730

for anything above winxp need to be set in properties as run as admin perm. for convince place file in history folder /wherever is ur *.sel file/

works perfect, do all sym in one shot.

step by step:

1st: RaptorUK:

Correct, good advice.

The way I do this is very simple . . . click File, Login, enter a random few numbers for the Login, click Login . . . the login will fail and you will lose your connection.

2nd exit.

3rd; run spreadchanger

4th: run terminal

5th: confirm ur value there

last think.... program is for 4 digit broker.... so if urs 5 ad extra digit /for spread 3 type 30/

///////////////////////////////////////////////////////////////////////////////////////////////////////////////

due to limitation on allowed file extension...... uploaded as txt.... change to exe in order to use

Files:
 

hello all,

I have also noticed that backtesting on the weekends causes different results with some EAs. I believe it is because of the Time[0] array in my case.

Thank you for informing us that SPREAD is derived at runtime.

It would be very useful to see a list of all values the strategy tester gathers at runtime from different sources (server, local host, etc). Repeatable experimentation is very important and it is impossible to control all variables when you do not know about them.

 
xanaphlaxes:
It would be very useful to see a list of all values the strategy tester gathers at runtime from different sources (server, local host, etc). Repeatable experimentation is very important and it is impossible to control all variables when you do not know about them.
The only things stored in the history files is OHLCVT. EVERYTHING else except local time (digits, spread, stoplevel, minlot, etc) comes from the server.
Reason: