Recall that Limit, Stop and Market Orders included the “ExecInstr” parameter.
This is an optional execution formula for the order. It must be an accepted order type by the exchange. The list is: All or Nothing, Cancel if Price is Invalid, Funari, Iceberg, Market if Touched, Open Close Instructions, Quantity Triggered Stop and Trailing.
If the exchange accepts the execution formula then this function can be placed in the Execution Instruction parameter or placed in a cell and then use the cell reference.
Here is a list of the Execution Instruction functions.
Execution Instructions:
•=AllOrNothing()
•=CancelIfPriceIsInvalid()
•=ExecInstr()
•=Funari()
•=Iceberg()
•=MarketIfTouch()
•=OpenCloseInstruction()
•=QuantityTriggeredStop()
•=Trailing()
All or Nothing
The entire order quantity has to be filled or it is canceled. Use of this instruction is extremely rare. Here is a list of CME contracts that support it: https://www.cmegroup.com/clearing/trading-practices/all-or-none.html
=AllOrNothing()
Cancel If Price Is Invalid
= CancelIfPriceIsInvalid()
If the price for an order being pulled from a cell is blank or #N/A or other invalid values the order will not be canceled unless you specify this execution instruction.
Execution Instructions
This function enables you to combine Execution Instructions. You can use the functions or cell references.
=ExecInstr()
Funari
Order that requires any unfilled order quantity be executed as a market order at either the morning close or afternoon close (market-on-close). A small number of exchanges offer this order type through CQG and within those offerings, only a small number of instruments can be traded using this order type. Placing these orders requires an enablement in the Smart Order Preferences.
=Funari()
Iceberg
Orders that have both a total quantity and a display quantity that is shown publicly in the order book. A visible size value must be entered. Placing these orders requires an enablement in the Smart Order Preferences.
=Iceberg(10)
Market if Touched
A limit order that becomes a market order if the market trades at or through the limit price. This order is the reverse of a stop order. Sell Limit MIT orders must go above the best bid/ask and Buy Limit MIT orders must go below the best bid/ask. (At this time, no Exchanges accept this order type.)
=MarketIfTouch()
Open Close Instruction
This feature allows you to place trades with a designation and instruction: Open, Close Today or Close Yesterday (only for Chinese exchanges).
=OpenCloseInstruction("Open")
Quantity Triggered Stop
Stop order is executed if the volume in the queue drops below a certain level. Requires a value. Placing these orders requires an enablement in the Smart Order Preferences.
=QuantityTriggeredStop(25)
Trailing
An order instruction that automatically follow the best bid, best offer or last trade. Requires a trailing offset value and the Trailing Peg can be best bid, best ask or last trade. The default is trade. This execution instruction is for limit order. For Stop orders, the Trailing Peg is limited to last trade. Placing these orders requires an enablement in the Smart Order Preferences.
=Trailing(5,"BestBid")
This concludes the tutorial of setting up XLS Trader. Now, a review of various functions for use in XLS Trader by group beginning with the Trade System Group functions that were not covered in the tutorial.