Real live trading experience: Market Vs Limit orders

I've been developing automatic strategies ( day trading ) for quite some time. As you must know, once you have an interesting Backtest, the logic next step would be a real-time simulation, where the critical "filling" orders, could be easily, one of the most important reasons why remarkable differences found between Backtest and Real-Time.

I've listened several opinions from experts, senior members and my own experience. The conclusions are still general and rather depending on many factors, such as: the market you're trading, the instrument, day's conditions, general liquidity...etc. So I'm interested to know more experiences, point of views..etc among this community.

Let me share some personal experiences:

I've seen limit orders filled about 85% of time, and despite it doesn't sound very bad unfortunately left working order opened might cause: unsync of calculations and signals or just losing potential profitable trades; obviously this could be avoid using market orders; so as you can imagine if a period of high and fast volatility comes suddenly, market orders could help your Algo a lot.

Mostly of time, liquid markets has low spread and price variation, so Limit orders have more efficient entries than market orders, which slippage might kill your profits; but in the other hand,when market turns wild, cause not predictable "black swan" or "Fat-finger", limit order might let you in troubles.

So, I'd like to know experiences or suggestions regarding to this critical point, I'd highly appreciate your comments.

Thanks in advance
%%%%%%%%%%%%%%%%
I like market orders + limit orders;
good volume markets .................................................I did just now[7 minutes later] remember a good volume[ETF,million+/volume ] some could have gotten ripped off on my 1 year chart-LOL, market order]

BUT i also rememeber,closing out a liquid derivative with a market order[swing or position trade];
+something strange HAPPENED,, called up broker, they were polite, long story short '' dont worry about it, we're working on it ''.GOOD thing i was selling[close position] into an uptrend-TREND is FRIEND, positive slippage.Worked fine; market order with buying to close a position counter-trend ,as in buy to close short, bear market, could be a slaughter................................................
 
Last edited:
One can always use limit order with price limit higher than current quoted market. This way you can have market order with "insurance" that will not be filled far away from market if something goes wrong.
 
Hi IAS,

The reason for the "not fillings" of my Strategy is basically that the Algo takes around 400 mllscs to put an order to "working", which for fast markets is an eternity. I'm still trying to improve it, but is not easy to deal with deep technicality of software. Meanwhile protective orders will be a solution of common sense.

Thanks

I am assuming that the 400ms accounts for the network/broker latencies; time between your system places the order to the time at which the exchange places it in the order book? I use a small number, but, I guess where you are going with this.

What matching algorithm are you using for your fake oms? I am using FIFO, but CME for example uses much more complex matching algorithms; wonder if you attempted to model them... any pointers on how your matching algorithm differs from what exchanges normally use:
http://www.cmegroup.com/confluence/display/EPICSANDBOX/Matching+Algorithms

if CME executes any other matching other than FIFO, one way to get around this is to place a market order if you detect that a order below the best bid (incase of longs) gets executed...

The other issue is, trading in volatility markets requires very precise quotes, you should have already constructed your own fake order book to trade from... If I may ask, where did your got your backtest data from?

I have a list of all the news events, my backtest env stops placing trades during news events (for a few minutes) and I see that this strategy is saving me from huge losses in low liquidity instruments such as gold (in backtest)... but, thats my experience
 
Last edited:
Thanks Rohan for your interesting answer.

Unfortunately at this time, I run simple platforms: Interactivebrokers, Ninjatrader and some data backup. This configuration puts me obviously in the "Retail" sector with big Network/Broker latencies; that's why I'm trying to improve at the best my automatic strategy.

So far, my target market is Forex because its liquidity allows a better day trading for professional approach, so I don't use special books of any kind.

Volatility days are very dangerous days, so trading them will depend on your risk tolerance, still it's plenty of opportunities of course. With a well prepared strategic and some risk tolerance, trading one day of those can make you 2 or 3 months of work.

Thanks and good luck with your development phase.
 
What matching algorithm are you using for your fake oms? I am using FIFO, but CME for example uses much more complex matching algorithms; wonder if you attempted to model them... any pointers on how your matching algorithm differs from what exchanges normally use:
http://www.cmegroup.com/confluence/display/EPICSANDBOX/Matching+Algorithms


I believe you are mistaken. Almost all of the major CME contracts operate on time-price queue priority, which is FIFO. I've been wrong before though...
 
I've been running an automated algorithmic futures trading system for 2 years. On average, it trades 6 to 10 different futures markets, a few times per day. I have also found that 85% of all limit orders get filled. HOWEVER, I am not convinced that this method is more profitable than using market orders. For entries, if I did not get filled, I used to let the trade go. From testing, I have found that some of the most profitable trades were missed. Now when I don't get filled 15% of the time, I immediately enter the trade with a mkt order. For exits, I no longer use stop limit orders. I only use stop orders now. I was getting killed by missing the limit on the exits.
 
I've been running an automated algorithmic futures trading system for 2 years. On average, it trades 6 to 10 different futures markets, a few times per day. I have also found that 85% of all limit orders get filled. HOWEVER, I am not convinced that this method is more profitable than using market orders. For entries, if I did not get filled, I used to let the trade go. From testing, I have found that some of the most profitable trades were missed. Now when I don't get filled 15% of the time, I immediately enter the trade with a mkt order. For exits, I no longer use stop limit orders. I only use stop orders now. I was getting killed by missing the limit on the exits.

My personal experience and stats are pretty similar to yours, that¡s why I did the post. I'm trying to work around it but no easy.
 
I've been running an automated algorithmic futures trading system for 2 years. On average, it trades 6 to 10 different futures markets, a few times per day. I have also found that 85% of all limit orders get filled. HOWEVER, I am not convinced that this method is more profitable than using market orders. For entries, if I did not get filled, I used to let the trade go. From testing, I have found that some of the most profitable trades were missed. Now when I don't get filled 15% of the time, I immediately enter the trade with a mkt order. For exits, I no longer use stop limit orders. I only use stop orders now. I was getting killed by missing the limit on the exits.

It depends on the strategy. If you were establishing queue position and adjusting your limit orders. I have a scalping strategy in the futures market where I will get ripped if I use market orders. It really depends on your profit target, your stops, and the market conditions. Profitable strategies exist for both strategies...Its just harder to model limit order Q position, so I suspect that is why market order backtests more closely match the real world
 
You can set market if touched and trade successfully as long as you make sure that there are no gaps in the limit order book. I have seen scenarios in some markets where the price touches the entry price, but the best counter quote is a few ticks on the other side. As long as you avoid such entries, market entry should be fine.
 
Also depends on what kind of trades. If you are buying on an momentum strategy, then I suggest market order or limit price at ask. If you are buying on a mean reversion strategy, then I suggest use limit order.

If you are only in simulation mode, why don't you try both as separate strategies to see which one gives more consistent result? Maybe less trade is better, you never know.

I've also played with stop limit and market if touche order recently and I must say those are quite unpredictable, in sim anyway.
 
Back
Top