Hi all, In the previous 6 months Iâve been developing an automatic trading system in full time. The research and development are funded and Iâm preparing for testing the system in real market conditions with real money. Before that, I have to evaluate the orders fulfillment to have an assessment of the system real expectancy vs. its paper results. The index presented here is from the European market EuroStoxx (EDJSTX) but similar results are generated for the S&P. I have 2 issues I want to address here: 1. How can I evaluate the order fulfillment price both for limit and market orders? 2. Since the system usually takes very short terms positions, my main concern is whether to use market orders or limit orders. - Limit orders can miss good entering signals and important exit signals. - Market orders will fix the above but with small profit taking can lead to losses. Attached is an example of signals produced by the system. Green for Buy and Red for Sell. Thanks in advance, Cohvi.
The above attachment... (exit 2 and enter 2 are flipped) Another importent point is that the signals are produced at the close of each bar.
Most likely you will have to run a test to really find out. Initially, just from looking at the chart, it looks like you have 2-3 minutes to get a fill. I'm not familiar with the instrument but you might think about using limit orders a tick or two better in price than your signal. Adding ticks and missing a few trades can balance out in your favor......
i have never seen anyone use market orders. at worst put in limit buys above the current offer and sells below the current bid.
Maybe use market orders to exit positions - especially losers - and limit orders crossed a tick above the current inside offer to buy, crossed a tick below the inside bid to sell, when entering a position.
Thanks maxpi, rosy2 and NY0BScalper. I'll run a simulation following your recommendations. Entering positions using limit order at the price of the signal and maybe even at a one tick better price and see what comes out. Exiting positions using limit order at the price of the signal and if the price runs away then a market order. Thanks, Cohvi.
I use market orders; but my average holding period of 1 week is probably bigger than yours. I think I depends on what you are trading and on what exchange. In highly liquid stocks (i.e. AAPL or SPY) you get very low spread cost (something like 0.05%).
Hi cohvi, what are you talking about ? Forget about market orders. What's the point of making the effort to program an ats if you, then, place market orders? Always use lmt and use a timer to monitor filling, as Rosy2 is suggesting. In case timeout, cancel and repeat immediately the lmt order ;-) same for multiple trailing lmt stop or whatever. To close positions the same. You may just be a little more more tolerant and "generous" by allowing a slighly greater difference from current BID/ASK. Tommaso
While I don't have experience running a live ATS, I do have a lot of experience trading on very short timeframes, and I have a decent understanding of how markets work. When you want OUT of your position, if you are chasing with a limit that's not getting filled, you are throwing money in the garbage. If you're going to chase with a limit while the market trades against you, why not use a market initially and save yourself some time? At least to exit your positions.
I think people have more trust in limit orders and value their transparency - they fear that they may be cheated in some situations with a market order. This may be irrational. I certainly found that my system gets adequate prices and fills with market orders - having said that - my system may be more tolerant than others.