Error - Confirm Mandatory Cap Price
Describe the bug
A SELL order sent via my script at 4:16pm ET, i.e. after regular trading hours, but it was rejected with the following error. My sell price was only a few cents off the current price at the time, so the error looks unwarranted. I contacted IBKR but they couldn't find my order, it seems it didn't even reach their servers.
Error: No answer found for question: "Confirm Mandatory Cap Price
To avoid trading at a price that is not consistent with a fair and orderly market, IB may set a cap (for a buy order) or floor (for a sell order). THIS MAY CAUSE AN ORDER THAT WOULD OTHERWISE BE MARKETABLE NOT TO BE TRADED."
Steps to Reproduce
Steps to reproduce the behaviour: 1. 2. 3. 4.
Expected Behaviour
Order should have been sent to the IB servers and accepted at their end.
Additional context
Possible Solution
Your Environment
- IBind version: 0.1.20
- Python version (e.g. 3.10): 3.13.3
- Authentication method (Gateway, IBeam or OAuth): IBeam 0.5.8
- Operating System and version: Ubuntu 25.04
- Link to your project/code (if public) :
Hey @rmalh you need to provide question/answer pairs when you submit orders. This is one of the expected questions that you need to provide an answer to. See this mechanism explained in more detail here:
https://github.com/Voyz/ibind/wiki/Advanced-REST#place_order
In this case you'd need to specify the answer as:
answers = {QuestionType.MANDATORY_CAP_PRICE: True, ...}
Understood - made the change in my script. Any idea why this kicked in even though the price was off only a few cents off the live price? Also - pls note that my script has been tested only in paper trading so far. This order was the first time it ran in my live account. Not sure if that has anything to do with it. Thanks so much, as always.
Well, they say:
IB may set a cap
Which is just to let you know that this may happen. This likely is them trying to cover their asses on the legal side in case they do change the price for some orders, they make you accept this question to even begin trading - then they can show you you've accepted them doing so. As for more details, I'd recommend talking to IBKR support about it
Do you know if this is applicable only to trading in live accounts?
Sorry no idea. IBKR will surely be able to answer this question