Backtesting it's a joke? - page 2

 

Not everyone gets all the ticks in forward/live testing. You and I could both have the exact same broker, logged into the exact same price server, and the ticks you get will not be the exact same ones I get. We both will get a subset of the total set of ticks.

For example I may get 15 ticks in a given M1 candle whereas you may only receive 5 ticks, and the prices for your 5 ticks might not match the prices for my 15 ticks. The broker may declare that the candle volume is 25...meaning I failed to receive at least 10 ticks (some ticks do not involve price changes) and you failed to receive at least 20 ticks.

This goes on and on minute after minute, hour after hour, day after day. No two clients are guaranteed to receive the same apparent market activity. This includes changes in spreads. The only price points we are to be confident in are the OHLC bid values for the candles, and the volume number. Not that these values will necessary be the same in our hst files or on our chart (I can have different OHLC values than you, temporarily) until we do something that triggers a chart/data refresh in our terminal (such as manually selecting chart refresh, or double clicking the dataset in history center, or changing profiles which changes charts, or changing a chart timeframe or closing/reopening our terminal, etc).

For that matter, whatever historical tick file you are using unless it comes straight from the broker and it is explicitly stated as containing 100% of all intra-candle ticks then you really have no idea the "tick quality" of the file because the person who collected the ticks may have only received 50% of the ticks (or worse) to begin with.

And regardless of all that it still has nothing to do with the quality of tick communication you (and your EA) are going to experience with your specific connection to the broker in forward/live tests.

For these reasons I personally only focus on developing EA's that can explicitly function with nothing more than OHLC data.

 

if that is true, it is an inherent fault in the mt4 protocol if you join a chat room you dont expect to find letters missing from everyones chat or if you use a messenger program it is rare to experience words missing so there is no good reason why the mt4 client/server connection should do that either unless the protocol is poorly implemented, the more i investigate mt4 and its implementation the more it appears to me that it is sloppy by design, in other words, the more innacurate it is, the better it is for the broker and the worse it is for the user i could write a list of inconsistancies and implimentation i have come across that works against the user every time, and i have not even been lookign that deeply into it, but i have yet to find anything in mt4 that has been badly implemented in any way that goes against the broker.

 

It makes the platform robust against a whole host of issues that plague synchronous communication protocols and apps that rely on them. By making MT4 platform asynchronous and capable of functioning transparently to "missing packets" the user can enjoy the same platform experience while the quality of the underlying connection fabric can fluctuate wildly.

It's only a practical issue if you wish to be a high-frequency trader (sub 1 minute) and small-pip scalper. If this is the case then sure MT4 platform is not right for you.

 

ces but other client sever apps function equally well should a missing packet occur, like chat servers for instance, my point is there is no good reason why missing packets should occur so often that your chart data would be so obviously different to mine.

If we both logged into the same chat server and stayed online for a month, im sure there would be the occasional missing chat message from some other user that yours would recieve and mine wouldnt but i would be willing to bet money it would be so rare that your chat log and mine would be almost identical, likewise there is no good reason why mt4 client application should have such large and continuous discrepencies you describe unless it is by design.

Especially when you consider chat servers are for frivolous chatter while millions of dollars are riding on mt4, it should in fact be a ridiculous excercise to even compare the two protocols, it is even more ridiculous that such a comparison is actualy valid.

 
SDC:

ces but other client sever apps function equally well should a missing packet occur, like chat servers for instance, my point is there is no good reason why missing packets should occur so often that your chart data would be so obviously different to mine. [...]

A chat server is a bad analogy. Timing isn't as important in chatting and there is no filtering involved. MT4 was designed to be a Retail client, to handle any and all kind of conditions (network, HW, etc.). It does a decent job at that.

 

Like the saying goes, the house always wins! Don't trust anyone let alone an organization when it comes to money. Brokers know that Scalping is the best method of exploiting the Forex market. They're not gonna let commercial users get away with the same method they use to trade.

Live-testing is the only way to know for sure. I'll recommend we newbies exercise caution when dealing with these guys. Start with a $25.00 micro lot and work your way up. In blackjack you always have to know How-Much you can take before that happy-sassy Pit-boss smile turns up side down. And don't think they're not gonna change to cheating dealers, engage you in meaning less conversations or my personal favorite, stand over your shoulder like they're your shadow. Oh almost forgot the stare --- I always just stare them back until they break focus lolz.

 
gordon:

A chat server is a bad analogy. Timing isn't as important in chatting and there is no filtering involved. MT4 was designed to be a Retail client, to handle any and all kind of conditions (network, HW, etc.). It does a decent job at that.


I went through the backtesting head-aches in MT4 and decided that I was best to optimise my EA on the broker that I intended on using it for. One of my observations trying on different brokers was that indicators will report different values based on the 'extra candle' thingo that some brokers have and amount of history data they provide.

I decided that I would stick with price action as much as possible and optimise for the broker I intend to run live on.

Also dont forget that Windows Vista and Windows 7 have a virtual Programfiles folder! You cannot modify your EA in the programfiles folder, instead you need to modify all your EA's in the virtualsource folder! this took me a week to figure out.

 
ubzen:

[...] Brokers know that Scalping is the best method of exploiting the Forex market. [...]

U should add the word 'IMHO' to that sentence.

 
gordon:

U should add the word 'IMHO' to that sentence.


Yep, everything I'll say on this forum is IMVHO, In My Very Humble Opinion. Those are just my observations gather thus far. Everyone should know I only have 2 Months observation on Forex at that. Reason why I feel Scalping is the Money-Maker is because it's the only technique I/Myself/Personally heard of brokers banning people for. Where there is smoke there usually fire. I didn't create that parable but it's also my opinion :). Thanks gordon for pointing out.
 

Just curious, does anybody manage to do a backtesting offline?

My old MT4 (i think Build 218) was able to do the backtesting offline but not the recent build, e.g. 225 & 226...

Reason: