This is just an FYI to all out there, maybe it will help some . . .
I have been testing a couple of programs, and I am always trying to minimize the differences between live and backtested results, and I have gotten my results to match fairly well.
The one thing that I might do is that in a backtested portion of my code, if I am looking to get out on a stop, I will test the high() or the low() of the bar to see if the value is higher/lower than my respective stop.
However, once the EFS is processing live data, I test only the close(), thinking that at one point the close() has to equal the high() or the low() if you are watching every single tick pass. Meaning, that for a 3 minute bar, I thought the close() at one point would equal the high() or the low().
I can not tell you how many times I have seen the high() get changed and the close() was never set to the value of the high(). The same is true with the low(). What this means is that if your stop is missed in this manner, I would get a sell in backtest since I test the high(), but not have a sell if the EFS is running live since the close() is never set to the specific value of the high() which also happens to be the stop.
I am not sure I explained this well enough, but if anyone ever has any questions, just reply to this and I can try to explain better.
Thomas
I have been testing a couple of programs, and I am always trying to minimize the differences between live and backtested results, and I have gotten my results to match fairly well.
The one thing that I might do is that in a backtested portion of my code, if I am looking to get out on a stop, I will test the high() or the low() of the bar to see if the value is higher/lower than my respective stop.
However, once the EFS is processing live data, I test only the close(), thinking that at one point the close() has to equal the high() or the low() if you are watching every single tick pass. Meaning, that for a 3 minute bar, I thought the close() at one point would equal the high() or the low().
I can not tell you how many times I have seen the high() get changed and the close() was never set to the value of the high(). The same is true with the low(). What this means is that if your stop is missed in this manner, I would get a sell in backtest since I test the high(), but not have a sell if the EFS is running live since the close() is never set to the specific value of the high() which also happens to be the stop.
I am not sure I explained this well enough, but if anyone ever has any questions, just reply to this and I can try to explain better.
Thomas
Comment