Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Market Replay Fill Question (Enforce Immediate Fills checked vs. unchecked)
I have been running through several years of backtesting market replay in ninja trader 7. I have ran into a bit of a moral dellima with one of the critical settings (Enforce Immediate Fills). This seems to either extremely overstate or extremely understate limit orders depending on which is checked. My research has let me to believe that if checked it will simulate fills on price touch, but if unchecked it will only simulate fills on price pass-through. I doubt that the real market is this black and white but rather grey, and I also would imagine that proximity to the exchanges would dictate immediate fills to a point. So with all this in mind, my question is: Would buying a server a few blocks from the exchange get me closer to (price touch / enforce immediate fills), or is the market going to be a mix of both price touch and price pass-through either way? I like to trade emini futures so any of them would apply in this scenario. If anyone has any experience with limit orders in real trading and can speak to ninja traders fill algorithms this would be greatly appreciated.
Can you help answer these questions from other members on NexusFi?
So let me just update this by saying I have found a way to get better fills...... There called resting limit orders.
Still wondering about the server at the exchange. I bought one recently but haven't traded live with it yet. I figure it would make an impact though. .... We'll see.
Since I'm having an issue similar to the one you posted about, I wanted to clarify: are you saying that you found something called 'resting limit orders', and these are different from 'limit orders'?
Hi xplorer. Thanks for reaching out. I am happy to explain further what I mean by resting limit orders. These are technically just regular limit orders, but in algorithmic trading a resting limit order implies that they stay in place beyond the standard "On Bar Update" event. In NT you can program a trading strategy where on each bar update, the algorythm performs X,Y, or Z. And on each bar update it will re-run the code. If you place a new limit order on each bar update event, then you will always be later in the queue. But if you place a resting limit order. I.E: After you initially place the order, on future bar update events, you don't kill it and replace it with a new order... You will have a significantly better position in the queue and a higher likelihood of getting a fill that does not require a price pass-through. Resting limit orders are typically placed considerably farther away from the current price, and you just hang out there for 10-20 bars depending. If and when the price moves your way, you will have a better position vs, trying to get a fill 1-2 ticks away from the current price on every new bar update. Hope this helps a little.
I did read your original question on your post, and I may have some insight about 7 vs. 8 with regard to the fill algorythm. In addition to the enforce immediate fills and enforce partial fills, there is also a fill limit orders on touch option in 8. I am not too sure about discretionary trading, but for algo trading this is something you can turn off and on in your code. From what I understand and have seen both 7 and 8 are fairly similar in their treatment of limit orders under the same settings. The difference is that market events in 7 are recorded and played by each second, and in 8 they are recorded as granular as the actual market events occurred. So in theory 8 would have more granularity and could produce different results, but i wouldn't expect this to have more than a small difference overall.
If there is anything else I could potentially help you with let me know.