Exclusive 22% OFF All Quantra by QuantInsti Courses for IBridgePy Users Master algorithmic trading from beginner to advanced — Python for trading, machine learning strategies, options trading, and more.
HUI22 Use HUI22 for 22% off
HUI7 Stack HUI7 for an additional 7% off
Browse Courses →
← Back to Blog

How to Place, Execute, Modify, and Cancel an Order Using the IBKR API

July 24, 2023

Placing Orders with the IBKR API

Managing IBKR API orders is a fundamental skill for automated traders. As a trader, if you are using the IBKR API, you should know how to place an order. Placing IBKR API orders is the primary purpose of using the IBKR API. It is necessary to set the order attributes by choosing various fields before sending an order. Interactive Brokers connects you to more than 100 stock markets around the world and offers a large variety of orders you can place on its platform. All the orders you place using the API can be placed using TWS. You can place various orders using TWS, ranging from simple orders to IB Algos and bracket orders.

IBKR API orders management guide

When you want to place a complex order, you should see if you can send it by TWS or not. TWS informs us about the validity of the order by showing a gray order type, or it does not show the order. After getting the order ID, the contract object, and the order object, you can invoke place order. When TWS receives a valid order, it will notify you using messages about order status or execution details. Learn more at Interactive Brokers.

Understanding Open Orders

After you place an order, the open order method informs us about the details of the order, like contract details. You can also see the orderState object, which shows the commission, initial margin, and maintenance margin. When you submit a valid order, the order status is shown.

Order Execution Details

You will find execution details after an order executes. These details will be shown only as a summary. You will receive information about the order ID, the execution ID, and other relevant information. You will see various callbacks for execution details if you receive more than one fill. Every callback will show information about the order ID, which is different from the API order ID. The executed order shows you the number of executed shares. You will be informed about the liquidity status of the executed shares.

IBKR API execution
IBKR API

Modifying and Canceling Orders

Modify Orders

If you want to change your order, you can return to your order object and edit it. The changes will be saved in your original order. If you placed an order manually through TWS, you should be connected using client ID 0, and then you should bind the order before changing it. This will give the order an API order ID. If you are connecting to TWS during another session, you must bind the order with client ID 0, just as manual TWS orders are bound before they can be modified.

Cancel Orders

If you decide to cancel an order from the API, you should use the cancel order function. It will cancel your order if it was placed by you. The client ID should be the same.

Learn More About the IBKR API

It is better for traders to learn the IBKR API to perform common activities. Mastering order placement, execution tracking, modification, and cancellation will give you full control over your automated trading workflow.

Download IBridgePy and start trading with Python today.