Order order; order.action = action; order.orderType = "STP"; order.totalQuantity = quantity; order.auxPrice = stopPrice; order.account = account; order.tif = i_tif; order.outsideRth = true; order.triggerMethod = 7;//7 - Last or bid/ask function https://interactivebrokers.github.io/tws-api/trigger_method_limit.html
triggerMethod не особо что-то сильно поменял (раньше было значение по-умолчанию — Last trade)
Для начала нужно понять как вы определяете проскальзывание.
Это мягко говоря нетривиальный вопрос.
Далее смотрим "Last or bid/ask".
В разгар сессии отклонения между Last и bid/ask могут быть существенными.
Попробуйте order.triggerMethod = 4; // Bid/ask function
Ну и конечно стоп — это всегда эмуляция.
Потому что в нём есть условная составляющая на обработку которой требуется время.
А время порождает проскальзывание.