NexusFi: Find Your Edge


Home Menu

 





Limit Order Fill Probabilities for different Entry Types?


Discussion in NinjaTrader

Updated
      Top Posters
    1. looks_one martingjesus with 3 posts (0 thanks)
    2. looks_two iantg with 2 posts (0 thanks)
    3. looks_3 Virtuose1 with 1 posts (0 thanks)
    4. looks_4 tulanch with 1 posts (0 thanks)
    1. trending_up 2,245 views
    2. thumb_up 0 thanks given
    3. group 6 followers
    1. forum 7 posts
    2. attach_file 0 attachments




 
Search this Thread

Limit Order Fill Probabilities for different Entry Types?

  #1 (permalink)
 iantg 
charlotte nc
 
Experience: Advanced
Platform: My Own System
Broker: Optimus
Trading: Emini (ES, YM, NQ, ect.)
Posts: 408 since Jan 2015
Thanks Given: 90
Thanks Received: 1,148

I am looking for some advice from traders who have experience with limit orders in live markets. There are 4 different types of limit entries that I could use interchangeably in my NinjaTrading strategy but I believe that they would all have varying degrees of success getting filled in the real market. I was wondering if someone could confirm my thinking, or provide me with some insight as to where I may be off. Here are the types and my assumptions about the fill probabilities. (1 through 3 will use an on bar update event to reset and 4 will create a resting limit that waits N number of bars)

1. EnterLongLimit(1,GetCurrentBid,"") or EnterShortLimit(1,GetCurrentAsk,"") I assume you have 0 to 10% chance of getting filled using the current best price.

2. EnterLongLimit(1,Close[0]-2,"") EnterShortLimit(1,Close[0]+2,"") This would place an order 2 ticks away from the current price, so there would be a higher probability of getting filled here. My guess is 25% to 50%.

3. EnterLongLimit(1,Close[0]-4,"") EnterShortLimit(1,Close[0]+4,"") Same as above but you are moving further away from the current price (4 ticks) I assume this would increase your odds even further, though I have no clue by how much.

4. Resting Limits: In this case you could use the syntax for 2 or 3 above but instead of firing it on each bar update, keep it in play with something to the effect of EnterLongLimit(0, true, 1, Close[0]-1, "Long Entry"); Then add a block of code to keep this limit active until X bars then cancel and create a new limit. My assumption is that this type of resting limit if placed far enough away from the current action would likely get filled at close to 75%.

Anyway, these are just theories, and I have not been able to find any real information from NinjaTrader on the actual probibilities of success with each strategy, so I was hoping to hear from some traders out there with experience. If anyone would like examples of my code, I am happy to share.

Thanks for your input!

Ian

Visit my NexusFi Trade Journal Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
use extra computer for optimisation
NinjaTrader
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
ZombieSqueeze
Platforms and Indicators
MC PL editor upgrade
MultiCharts
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
 
  #2 (permalink)
 
martingjesus's Avatar
 martingjesus 
Madrid Spain
 
Experience: Master
Platform: Multicharts, Tradestation
Broker: Tradestation, InteractiveBrokers
Trading: Stocks
Posts: 15 since Sep 2015
Thanks Given: 10
Thanks Received: 5

Hi Ian,

If I'm understanding what you are trying to do, it works the opposite way. Let's say you have an "x" expectancy per trade buying/selling at midpoint (Bid-Ask)/2 and let's assume you could get filled 100% of times in each case.

In the first case you will have an expectancy of x +0.5 ticks.

In the second case you will have an expectancy of x +2.5 ticks.

In the third one the expectancy will be x + 4.5 ticks.

The answer is the filling rate goes down if you put prices further away from the current price.

Jesús.

Follow me on Twitter Reply With Quote
  #3 (permalink)
 
rleplae's Avatar
 rleplae 
Gits (Hooglede) Belgium
Legendary Market Wizard
 
Experience: Master
Platform: NinjaTrader, Proprietary,
Broker: Ninjabrokerage/IQfeed + Synthetic datafeed
Trading: 6A, 6B, 6C, 6E, 6J, 6S, ES, NQ, YM, AEX, CL, NG, ZB, ZN, ZC, ZS, GC
Posts: 3,003 since Sep 2013
Thanks Given: 2,442
Thanks Received: 5,863


There is not static answer to your question.

The chance for a fill will depend on :
- the instrument (it's associated liquidity
- the time of the day (cash session has more liquidity than overnight
- momentum and direction of the market
- market footprint

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #4 (permalink)
 iantg 
charlotte nc
 
Experience: Advanced
Platform: My Own System
Broker: Optimus
Trading: Emini (ES, YM, NQ, ect.)
Posts: 408 since Jan 2015
Thanks Given: 90
Thanks Received: 1,148

Thank you for the quick feedback! I appreciate everyone's input. Let me clarify my question a little bit more. What I am really curious about is cue position (Place in line). So in my 4 examples what I am really trying to understanding is where each order would be in the proverbial line. While I understand the concept of expectancy and the fact that moving limit triggers further away from the current price would result in less likely-hood to get in the first place, I meant to assume that in all cases the limit prices got hit. So with that in mind my theory is that if price would move through the limits in my examples, based on cue position I would expect to see the following:

1. Placing a getcurrentbid, or getcurrentask right on top of the action would put you in the back of the line
2. Placing a non-resting limit a little further away from the action by 1-4 ticks may get you closer to the front of the line
3. Placing a resting limit order that is far away from the action and that sits for 10 bars before it fills would put you in the front of the line.

Is this thinking correct or am I missing something. Again I am assuming that in all cases price would move through my hypothetical limits, so I am mainly speaking to cue position with this example.

any options are greatly appreciated. Thanks everyone!

Visit my NexusFi Trade Journal Started this thread Reply With Quote
  #5 (permalink)
 
martingjesus's Avatar
 martingjesus 
Madrid Spain
 
Experience: Master
Platform: Multicharts, Tradestation
Broker: Tradestation, InteractiveBrokers
Trading: Stocks
Posts: 15 since Sep 2015
Thanks Given: 10
Thanks Received: 5

You are correct, generally speaking, you will advance in the cue as time passes, so theoretically putting orders fars away from the price will get you into a better position when price comes to that level, but as rleplae said there are a lot of factors affecting this.

Follow me on Twitter Reply With Quote
  #6 (permalink)
 
martingjesus's Avatar
 martingjesus 
Madrid Spain
 
Experience: Master
Platform: Multicharts, Tradestation
Broker: Tradestation, InteractiveBrokers
Trading: Stocks
Posts: 15 since Sep 2015
Thanks Given: 10
Thanks Received: 5

But in liquid instruments you may always be in the last 20% of the cue, doesn't matter where you put the order!

Follow me on Twitter Reply With Quote
  #7 (permalink)
 
Virtuose1's Avatar
 Virtuose1 
Montreal, Qc, Canada
 
Experience: Advanced
Platform: NinjaTrader 7
Broker: Interactive Brokers
Trading: ETF
Posts: 58 since Jun 2011
Thanks Given: 142
Thanks Received: 41

Aside from the fact that your probability of being filled is proportional to how close your limit price is to the bid/ask, I think you also need to factor the extent to which you believe your buy/sell signal is time sensitive. In my case, I ended up coding my own dynamic limit order as I wanted a good balance between speed of execution and price (i.e.: not buying at the bid/ask)

Reply With Quote
  #8 (permalink)
 tulanch 
Salt Lake City, UT
 
Experience: Intermediate
Platform: SC, NT, MT
Broker: AMP
Trading: NQ ES YM Bonds
Posts: 265 since Mar 2010
Thanks Given: 50
Thanks Received: 387

the fundamental concept is FIFO first in first out

but there are numerous complications to the logic dependent on the market participants.

for example, here are two variations of an up move

strong price action up on low volume can jump price levels not clearing out the standing limit order queue leaving unfilled orders and subsequent limit orders would be queued behind them (FIFO)

strong price action up high volume can absorb (trigger) all the standing limit orders creating a vacuum/void, in which case new limit orders would be first in line per say (FIFO)

now factor in latency, size, time of day, reports, etc.... various outliners that can and do muck up simple logic, not to mention the flip side where programs play on/against these

Reply With Quote




Last Updated on February 17, 2016


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts