Quote from jason_l:
I've had even smallish legit "outlier" ticks regularly mess up automated day trading systems. The original dream of coding the "trading bot", then being able to go my day job while it traded for me was quickly crushed when I had ES executions getting triggered from prices 3 ticks away from the "actual" market![]()
Quote from jason_l:
I've had even smallish legit "outlier" ticks regularly mess up automated day trading systems. The original dream of coding the "trading bot", then being able to go my day job while it traded for me was quickly crushed when I had ES executions getting triggered from prices 3 ticks away from the "actual" market![]()
, that's right, curfew after dark...Quote from rufus_4000:
Can you be a little more specific? I trade the ES (actively) and in 14 months I have never seen a "bad tick'. I get the tick-by-tick data (I am a merc member). It is possible for ES to spike up / down 1-2 ticks due to a large fill (2000+, or a couple of 1000+ fills)), and then come back 1-2 ticks down, but that is not a "bad tick", just that the order book got pushed around a little.
I have also seen during thin or off hours that the bid / ask spread is 2-3 ticks wide, so you would see a 5 lot fill at bid, a 3 lot fill at ask, and a 10 lot fill at bid + 1 tick (for instance). But that's "normal" in a sense as well, not a "bad tick".
I am curious ... if you can get me some details, I can pull out the historical tick data.
Rufus

Quote from jason_l:
I'm not saying they were "phony" ticks.. just that every now and then there's a momentary price that comes along that's outside the "normal" spread (ie, the small spikes you mentioned).. as a discretionary trader, it might just be a quick blip that one would see before orders stepped up to fill the gap, and one could ignore it. But that split second spike was enough to "fool" some of my systems into taking action if they were monitoring the bid the or ask instead of actual executions.
ex: I had a system that monitored the bid/ask for profit target and stops. It was rather simple, when the bid went up X, it would close a long via a market order. If it went down Y, it would trigger the stop. It didn't wait for actual executions at those prices. Well, those momentary spikes would trigger my system to generate market orders to close my position prematurely. Needless to say, I realized I needed to use different logic![]()