It really is hard. You have to set things VERY pessimistic and then burn some money by trading live and backtesting the same day. Get to know your backtest engine and get to know your tick data. You need to know each strategy and what is a realistic setting for entries or exits.
For example, different data sets are better/worse for trading - the better data sets for trading usually produce better backtest results while the poor data for trading (IB/Sterling, etc.) publish 'snapshot' quotes every 100ms and they tend to produce worse results in backtest - which are usually more accurate. It takes a long time to compare the different tick datasets, learn the differences and know how pessimistic to set your system to know what will be a realistic approach.
I know that's a bit vague however its hard to explain - reality is you need to have some drawdown money - $5-$10k per strategy. Turn the thing on, see what it does, do some backtesting, compare backtest to actual, do some optimization, tweak code, debug, turn thing back on, draw down more $$, backtest, compare backtest to 2nd round of actual, optimize, tweak code, debug.....
Rinse & repeat.
You have to understand what type of data you have, how it is published, how it behaves in backtest vs. what happens in actual real life, etc.
Hope that helps - I'll be happy to answer more questions if I missed things.
EDIT: Market orders - never use them. Limit orders - good but either provide liquidity or prepare to not get filled. If you plan on sending limits at the bid/offer you'll be at the back of the book and get crushed. This isn't very hard to simulate its just that most people don't fully understand the markets so they don't take into account fees, spreads, fills, etc. so they come up with something that is too good to be true.
I don't know that I feel comfortable discussing my entry/exit points in backtest or real strategies but its not very hard with good tick data.
Quote from dloyer:
Winston:
Do you mind sharing a few hints? I am starting to work with tick data and have the same issue.
The standard approach to count trades that go through your price is a start, but it does not account for fills that you might get at your price.
Trades marked as TFR should probably be ignored since many are internalized broker trades or dark pools that you could never get filled on.
Modeling each exchanges order book with recorded quote data is one thing, if you can get and process the data, but that still does not account for the HF firm that will jump your bid by a penny.
I guess we could use hidden orders to minimize market impact, but we will miss fills at other exchanges since our order is hidden and cant become the NBBO and has lower priority. Same happens if we trade less than a 100 share lot. It will not move the NBBO or even be reported as a trade.
The best I could do is estimate that I would get filled on 18% or so of the trades at my price or better. I got this number from comparing model trades to live trades.