Architect Documentation
  • User Guide
  • SDK Documentation
  • Algos Book
  • Introduction
  • Creating an API key
  • Getting started with Python
  • Getting started with Rust
  • Concepts
    • Symbology
    • Orderflow
    • Accounts and portfolio management
    • Systems and connectivity diagram
    • Authentication
  • SDK Reference
    • Symbology and instrument info
    • Marketdata
    • Order entry
    • Order management
    • Portfolio management
Powered by GitBook
On this page
  • Place limit order
  • Order request fields
  • Order types
  • Time-in-force instructions
  • Cancel order
  • Cancel all orders
  1. SDK Reference

Order entry

PreviousMarketdataNextOrder management

Last updated 4 days ago

Place limit order

Place a limit order for a tradable product. If an execution venue isn't specified, the default venue for the symbol will be used. Depending on the time-in-force instruction, the order may require additional parameters.

from decimal import Decimal
from architect_py import OrderDir, TimeInForceEnum

order = await client.place_limit_order(
    symbol="BTC Crypto/USD",
    execution_venue="COINBASE",
    account=None,                   # required for some venues
    dir=OrderDir.BUY,
    quantity=Decimal(1),
    limit_price=Decimal(10000),
    post_only=True,                 # optional
)

print(order.status)

Order request fields

Field
Required
Description

id

N

Order ID to assign to the order; if not specified, the Architect OEMS will assign one randomly.

symbol

Y

Tradable product

dir

Y

Order side; BUY or SELL

quantity

Y

Order quantity

trader

N

Trader effecting the order; if not specified, Architect uses the logged-in user

account

N

Account for the order; if not specified, Architect will use the trader's default account configured for the execution venue.

order_type

Y

Order type

limit_price

N*

Required for certain order types

post_only

N*

Required for certain order types

trigger_price

N*

Required for certain order types

time_in_force

Y

Order time-in-force instruction

execution_venue

N

Execution venue for the order; if not specified, Architect will use the primary venue for the symbol.

Order types

Order type
Description
Required fields

LIMIT

Limit order; execute no worse than the limit price specified.

  • limit_price

  • post_only: only place the order if it would rest in the book; do not take

STOP_LOSS_LIMIT

Stop-limit order; if the trigger price is breached, place a limit order at the price specified.

  • limit_price

  • trigger_price

TAKE_PROFIT_LIMIT

Take-profit order; if the trigger price is breached, place a limit order at the price specified.

  • limit_price

  • trigger_price

Time-in-force instructions

TIF instruction
Description

GTC

Good-til-cancel

GTD

Good-til-date; datetime must be specified

DAY

Day order

IOC

Immediate-or-cancel

FOK

Fill-or-kill

ATO

At-the-open

ATC

At-the-close

Cancel order

Request to cancel an order by order ID. Cancel requests are asynchronous and return immediately. The order is canceled when the exchange confirms the cancellation.

A working order is only canceled when the exchange confirms the cancellation, which can be checked by polling the order status.

cancel = await client.cancel_order("12345678-1234-5678-1234-567812345678:0")  

print(cancel.status)

Cancel all orders

Request to cancel all orders matching the selectors.

await client.cancel_all_orders(execution_venue="CME")
Order entry
Place limit order
Order request fields
Order types
Time-in-force instructions
Cancel order
Cancel all orders