Limit orders fill assumptions
Author: daivd_leake
Creation Date: 12/20/2015 9:34 PM
profile picture



As far as I'm aware there are two assumptions on how limit order fills are backtested in WL

Using an example of a buy order these are:

(1) If a buy limit order price is > the opening price on the entry bar, the buy limit order price is updated to be the opening price of the entry bar

(2) In Properties, one can Active Limit Order Slippage so fills only occur if prices trade through a limit order price by some magnitude

So my question is, if assumption (1) occurs on a bar, will (2) still apply?

I.e., if a limit order price updates to the Opening price, does limit order slippage still apply?

Hope that makes sense!


profile picture


Hi David,

In general, the adjusted execution price always falls within what is allowed by the bar's range.
profile picture


The answer to the question is covered in the User Guide: Preferences > Slippage & Round Lots > Activate Slippage for Limit Orders... See Exception and Exception Example.
profile picture


Thanks chaps, for completeness I've paraphrased from the User Guide as follows:



If the limit price is exceeded on an opening gap, slippage will be applied to the opening price to obtain a new execution price to the extent allowed by the bar's range.

Exception Example:

Imagine that you're using 0.1% of slippage with a long position, and the market closes at 24.05... You enter a sell limit order at 24.50, so the slippage adjusted limit order price is 24.75 (25.00 - (25.00 * 10 * 0.1%))

The market gaps open to 25.00. The trade will be executed at the greater of 24.75 or the low of the bar.

So the key point is the trade is executed at the greater of the adjusted limit order price or the low of the bar. As far as I can tell though, there is an additional scenario. Lets take this example (... and thanks for bearing with me!)

A model enters a (slippage adjusted) limit order price to buy which happens to be above the market

So in effect this is a market order which will execute at the prevailing offer price

This is modelled by WL by updating the limit order price to be equal to the opening price

So far so good

The challenge is -- im assuming additional slippage is not applied to the opening price in this scenario?

So if the open also happens to be the low price, this is equivalent to having no slippage (even if slippage settings are in place


This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).