Close[], iClose() & live vs strategy tester.

 

Ok, I'm not sure if this is a dumb question or if it has been asked often, but here goes.

In the Metatrader terminal program, you are given DIRE warnings when you download history data that it might not match that given by the broker.

if you have a look in the folders  there is a history/downloads folder, and a history/<your brokername> folder which appears to store the separate data in either text files or .hst files

ok, I get that there are 2 sets of data, one supplied by metaquotes, another by the broker, and i understand why you might not want to trust one or the other for various reasons.

however, here is where  i get a little lost.

lets say i write an indicator or expert (or even just a script for that matter) that gets the price using Close[n]  or iClose (n).

 where is that coming from ? the broker? does it depend if it's an expert being strategy tested? what if it's a custom indicator being loaded by an expert that's being strategy tested? is that the only context that "non broker data" would be returned in an indicator using iClose() etc?

i guess what i am asking is, i want to know with absolute certainly in a live trading context, that iClose() and iBars() and iHigh() etc is referring to broker data, and only broker data. can i expect this to be the case? i get it that all bets are off if you are strategy testing, but i don't want some situation where i am comparing live data against possibly incongruous historical data, and making analytical decisions based on a discrepancy.

 I hope i have explained my question clearly enough.

Reason: