Automating for a 1 tick scalp? | Traders Hideout


futures.io - futures trading strategies, market news, trading charts and platforms


Traders Hideout


Discuss day trading practices and futures trading strategies on this forum for all markets. This forum is also for discussing and reviews for brokers, data feeds, and commercial or third party add-ons




 

Automating for a 1 tick scalp?

  #5 (permalink)

charlotte nc
 
Trading Experience: Master
Platform: ninjatrader
Broker/Data: NinjaTrader
Favorite Futures: Emini (ES, YM, NQ, ect.)
 
Posts: 388 since Jan 2015
Thanks: 71 given, 965 received

If you really want to know...

Hi Revan,

Sure this is precisely the world that HF traders play in. I have been studying this very technique as well as the mechanics of microstructure and HF market making techniques for around 2 years. I could probably field most of your questions in this space if you are serious about researching this area.

But yes, you can get filled (buy the bid / sell the ask) on the same price level. I have a few NinjaTrader strategies that do exactly this on the same price level by quoting from the bid and ask at the same time.

If you are trying to do this seriously there are a few things you will need to know.

1. You will have to go with unmanaged code. Ninjatrader managed code won't support this. This means handling all your own canceling logic to determine what was filled, unfilled, entries vs. exits, orphan orders etc.

2. You will need to be very fast. Retail traders are at an extreme disadvantage in this space. So you will need to have very optimized code and co-locate to even have close to a fighting chance.
3. You have to understand the microstructure of the ES (assuming that is what you are trading). If you don't know what this looks like or how it works, then you will write code that leads you the wrong way because all your assumptions will be wrong.
4. You will need a solid queue tracking algorythm. Again, most retail traders are at a dissadvantage here. There is already integrated queue tracking with the new MBO CME feed, but most retail platforms don't have this, so you will end up needing to develop your own logic for this. Why? If you don't know your position in the queue, then you can't play in this space. The path to get filled via limit orders is usually toxic. (You get filled only as a function of being at the end of the queue and the price level collapses immediately after your fill and you are down 1 tick instantly). If you want to mitigate this you will need to track your queue position and have a strategy / betting model that uses this.
5. You will need to understand your latency chain in full: Initialized > Submitted > Accepted > Working . You will need to know the various lags you are hitting on each leg and how to optimize these. You will also need to understand what you can and can't do in time in relation to the microstructure. Somethings work conceptually and look awesome on paper, and then you really you are too damn slow and you want throw things.... But you have to be honest with yourself and have the common sense to only take the bets you can pull off and avoid the pipe dream bets.
6. You will need to be able to work around your crappy retail data feed / platform that delivers this. This is going to be par for the course with all of them unfortunately. The level 2, level 1, and Bar related data feeds can all get over heated and lag, and if you don't know what price level you are on, you will get killed. The OnMarketData feed for example can lag the real market by as much as 2 - 3 seconds. I will pause to let that sync in. So you will need solve for this.... You can have 10,20 50 price level changes per second some times.
7. Even if you can pull this off, you will quickly find out that the math doesn't work unless you have a seat license and get on a rebate program from your broker. So you will need to pay up just to get to a proof of concept.


But yes, you can do everything you mentioned and even a few things you didn't mention.

1. Going long and short at the same time.
2. Scratching trades (paying only commissions)
3. Exiting with limit orders at a loss (Being able to use this in place of stop losses at market orders)
4. Making your 1 tick scalp on the next price level


But generally speaking you will need to code this and really really know what you are doing. I don't want to discourage you from experimenting but there is a right way and wrong way to pursue this. Even as far as I have gotten there are lots of people that would tell you I am at too much of a disadvantage using retail tools, even highly optimized.

My best advice is that you really need to see the microstructure first before you try to get into this space. Without this you are literally flying blind.

Hope some of this helps!

Ian




Revan View Post
Enter at limit *bid/ask doesn't change* exit at limit! (jokes aside anyone ever tried that?)

I'm using the dom, what's the best way to automate for a one tick scalp?

Enter at limit exit at market?

Enter at market exit at limit?


Some other complex trailing type thing? my target is 1 tick, any advice? I'm entering via my own discretion (no AI)


In the analytical world there is no such thing as art, there is only the science you know and the science you don't know. Characterizing the science you don't know as "art" is a fools game.
Visit my futures io Trade Journal Reply With Quote
The following 5 users say Thank You to iantg for this post: