The Place Order Request

The purpose of this functionality is to provide the client, a way to place QST orders via Excel.

The reqPlaceOrder format

The reqPlaceOrder request receives a total of 10 parameters which represent the order placement details.
If some parameters are not used, e.g. Limit Price, an empty string will be used instead.
The parameters are separated by a vertical bar ‘|’ character.
reqPlaceOrder( Provider | Account | Instrument | Side | Quantity | OrderType | Price | LimitPrice | Lifetime | ConfirmationType )

The standard call of the RTD function which uses reqPlaceOrder:

=RTD(“qst.rtd”, “”, “reqPlaceOrder( Provider | Account | Instrument | Side | Quantity | OrderType | Price | LimitPrice | Lifetime | ConfirmationType )”)

The reqPlaceOrder parameters are explained below:

  • Provider – the order entry provider, ex. PTS, QOR

  • Account – account on which the order will be placed (QST needs to be connected to this account)

  • Instrument – the QST instrument symbol, ex. ZCZ22

  • Side – side of the order: BUY or SELL

  • Quantity – order quantity

  • OrderType – QST order type, ex. LIMIT, MKT, STOP

  • Price – QST instrument price

  • LimitPrice – the limit price when placing STWL orders

  • Lifetime – order lifetime, ex. Day, GTC; for GTD, the expiration date should be included, the GTD format is “GTD(mm/dd/yyyy)”

  • ConfirmationType – if this parameter is missing or if the value is set to OFF, it will try to place the order immediately, provided that the instrument doesn’t have restrictions for trading from algorithms that are market dependent; If the value is ON then an order preview dialog is triggered in QST

Note

The order of these parameters is mandatory, ex. Parameter 1, Provider, cannot be switched with parameter 2, Account.

Examples of reqPlaceOrder requests

  1. Placing a Buy 2 ZCZ22 @719^6 LIMIT, Day lifetime on account 886:

*reqPlaceOrder( PTS | 886 | ZCZ22 | Buy | 2 | LIMIT | 7196 | | Day | )*
../_images/placeOrder_1.png

  1. Placing a GTD order with expiration date June 8th 2022, Sell 1 BRNU22 @100.25 STOP, with confirmation ON:

*reqPlaceOrder( PTS | 886 | BRNU22 | Sell | 1 | STOP | 100.25 | | GTD(06/08/2022) | ON )*
../_images/placeOrder_2.png

  1. Placing an GTC order, Buy 10 ZMU22 @392.3 STWL 390.4:

*reqPlaceOrder( PTS | 886 | ZMU22 | Buy | 10 | STWL | 392.3 | 390.4 | GTC | )*
../_images/placeOrder_3.png

Note

When using legacy prices, the “^” character needs to be omitted in the RTD command; the price 719^6 is sent as 7196 via the placeOrder command.