I know this is kind of a very open ended question but I am struggling with the following problem:
I have a futures trading system (operating on very liquid markets) that generates a prediction every hour. My current execution strategy starts with placing a limit order on the best bid or ask (depending on direction) and waiting for n minutes (currently 5) before the order switches to a market order. If within those 5min the price is moving too many ticks away, the algo immediately switches to a market order.
Let's assume for now that the best bid/ask size can usually absorb my order size.
I am constantly getting quite severe slippage of 2-4 times the spread. So I am wondering about some general approaches for improving an execution strategy.
First there would be the question on how to improve the parameters for the current execution algorithm (i.e. how long to wait, where to place the initial limit, etc.). Here, I already analyzed tick data and checked the statistics how often certain levels are hit, etc. From that I inferred the parameters for the live system. Since the live systems seems to execute worse than expected, I assume that my participating in the market is recognized and exploited.
Are there some general guidelines, books, papers that give hands-on advice on how to improve execution? Especially if some heuristics can already be learned from past tick data because testing every variation with real money is a bit expensive.
Thanks a lot!