I was testing OTO order to see if my scalping algorithm will work (which works well on paper).
I submitted order (AAPL, LONG,BUY, qty=100) with stop price=125.99 and limit price 125.98 with take profit price as 126.
It created two orders:
- ID=db7275de-0717-4396-a674-725f85ee0d54 (Stop limit, stop price=125.99 , limit price=125.98)
Filled at “2021-04-05T18:32:53.72Z”
- ID=44f2fc6a-64fa-4085-802e-4c268acd79c9 (limit price=126)
Submitted at “2021-04-05T18:32:53.739913Z”
After order1 was filled, it took alpaca only like 20 milliseconds to submit order2 (trigger order) which is nice. But then it took 44 seconds to fill it.
But price reach 126.00 multiple times in these 44 seconds. I verified this by downloading historic data. There are lot of trades with price 126.00 which has no special trading condition and are reported by exchanges (e.g. not reported by TRF or executed in some dark pool).
If execution of limit order will take so long and without fairness, my scalping algorithm will simply not work and all my research and time investment to come up with algorithm is useless