I use IB TWS to trader futures, my trigger method is "Last". Recently I saw that the excecution of my stop orders got much worse than before. I did not know the reason and guessed it is just market volatility.
But today the market price drop through my SELL stop order and bounced back, and my stop order did not get triggered. I was given a shock. To find out the reason, I checked IB TWS guidebook, and found that it seems IB is now applying new definition for trigger method for "LAST"
According to the lastest guidebook on IB website, three conditions must be met as follows:
=============================================
QUOTE:
For a buy (sell) order to be triggered:
1--One last price value must be greater than (less than) or equal to the trigger price
2--The exchange or other market center where the order is to be executed must also publish (and the system must also receive) an ask price equal to or higher than, and a bid price equal to or lower than, the trigger price.
3--Last must be within the bid/ask (i.e. >=bid and <= ask) or within leeway percentage outside the bid/ask (i.e. >=bid-0.5% of last and <=ask+0.5% of last)
The Last method has leeway to trigger up to 0.5% above the ask price or up to 0.5% below the bid price. This 0.5% amount of leeway is subject to change at any time without notice.
===============================================
But I thought in previous TWS versions, only the 1st condition should be met before the stop order is triggered.
Why did IB introduce condition 2 and 3? this has only caused orders to be triggered slower, for now after condition 1 has been met, the server will wait for condition 2 and 3 to be also met before it submit the simulated stop orders to the exchange . For some fast moving markets like HSI, it means much worse execution price( ie. bigger slippage ).
Is there some IB people around here ? Please advise if it is possible to only trigger the stop order with condition 1, just as before ? Or , could you provide multiple options and let clients choose what they want for "Last" trigger method ? Thanks for any help.
But today the market price drop through my SELL stop order and bounced back, and my stop order did not get triggered. I was given a shock. To find out the reason, I checked IB TWS guidebook, and found that it seems IB is now applying new definition for trigger method for "LAST"
According to the lastest guidebook on IB website, three conditions must be met as follows:
=============================================
QUOTE:
For a buy (sell) order to be triggered:
1--One last price value must be greater than (less than) or equal to the trigger price
2--The exchange or other market center where the order is to be executed must also publish (and the system must also receive) an ask price equal to or higher than, and a bid price equal to or lower than, the trigger price.
3--Last must be within the bid/ask (i.e. >=bid and <= ask) or within leeway percentage outside the bid/ask (i.e. >=bid-0.5% of last and <=ask+0.5% of last)
The Last method has leeway to trigger up to 0.5% above the ask price or up to 0.5% below the bid price. This 0.5% amount of leeway is subject to change at any time without notice.
===============================================
But I thought in previous TWS versions, only the 1st condition should be met before the stop order is triggered.
Why did IB introduce condition 2 and 3? this has only caused orders to be triggered slower, for now after condition 1 has been met, the server will wait for condition 2 and 3 to be also met before it submit the simulated stop orders to the exchange . For some fast moving markets like HSI, it means much worse execution price( ie. bigger slippage ).
Is there some IB people around here ? Please advise if it is possible to only trigger the stop order with condition 1, just as before ? Or , could you provide multiple options and let clients choose what they want for "Last" trigger method ? Thanks for any help.