How to fill stop loss & limit orders at target price only if it trades through?
I've read the docs on broker slippage and volume fillers. I don't understand how to use them. Example: if my emini profit target is at 2900, I would like the order to get filled only if the datafeed has a tick at 2900.25, but then I'd prefer that my fill price actually be 2900.00.
Can slippage or volume filler achieve this? If not, is it a workaround to set my profit target at 2900.01, and accept a small inaccuracy when BT fills it on tick at 2900.25?
Broker slippage docs say "slip_perc: % in absolute terms" and "slip_fixed: % in units". Is that a typo to say that slip_fixed is a percent, or can you help me understand the difference? Thank you.
Can slippage or volume filler achieve this?
Slippage, as the name indicates, can offer you slippage, i.e.: move your price away from the match price. But it does not know if a price has been crossed or not.
A volume filler will allow to get matched if enough volume is there for your order (after you have for example removed volume from the current moment), but it does not know if a price has been crossed or not.
If you have a limit order a price X, the platform will match at price X if reached. Obviously you may not get filled in real-life and that's the role a volume filler. In real life the price may actually never be crossed and you may still get matched.
If not, is it a workaround to set my profit target at 2900.01, and accept a small inaccuracy when BT fills it on tick at 2900.25?
I don't know, because I don't understand what you mean and/or what the goal would be.
slip_fixed: % in units". Is that a typo
Yes, it is obviously a typo from copy&paste.