Quote from opmtrader:
What I was saying is that if you have means to do so you can in fact record all levels of the order book, their prices, and their volumes, at snapshots or each and every time any of them change. I have such data but it is not for sale. A good programmer could use such data to insert his orders into the book in a backtest at a precise level and make sure all of his order was executed. Again, this takes good data and some work to accomplish.
How you can record 2nd, 3rd,..levels? I know you can
record screen shots in motion, but how you can save
them as price datas for testing?
So in case 2 you're not sure you would get filled in realtime but you could assign a probability of this of say 20%. Here's what the code would look like.
if max(market(bar:bar+5))>limitprice,
%record your trade here at limitprice
else
if max(market(bar:bar+5))==limitprice,
prob=0.20;
didwefill=rand(); %random number between 0 and 1
if didwefill <=prob,
%record your trade here at limit price
end;
end;
end;
Did you get that? See how if our random variable fell under 0.20 (20%) we allowed the fill to process, but if not we did not?
Is the codes in EL? I haven't seen max, market, bar:, prop,..
Also why is it a bad idea to use auto papertrading as a validation if you do it properly?
You mentioned "papertrader", which rised confusion for me
about manual simulation which is time consuming