Version 1.1 of IBProvider is ready!
- Multiplier; TradingClass
Added Multiplier and TradingClass contract attributes to symlo.txt for further disambiguation of contracts:
# WLTicker; IBsymbol; secType; exchange; expiry; strike; right; currency; localSymbol; multiplier; TradingClassExample for DAX Futures
‘ Full contract
FDAXM7;DAX;FUT;DTB;201706;;; EUR; FDAX JUN 17; 25;
‘ Mini contract:
DAXM7;DAX;FUT;DTB;201706;;; EUR; FDAX JUN 17; 5;
- SignalName Order Attributes
You can now change IB order attributes by including them in entry or exit signalNames using a pipe-delimited string as follows, Example:BuyAtMarket(bar + 1, “Anything | TIF=OPG | HIDE=1 | FAP=MyFaProfileName | A-ALGO=Normal | COND-PCT=C;>;10.0 | SCALE=30,20,0.15 | Anything else”);
Not all attributes are required and white spaces are trimmed. Use “=” for the parameter as shown.
TIF: Time in force
Valid values: DAY (default for intraday and daily orders), GTC (default for Weekly and higher), OPG, AUC, IOC, FOK
Not all TIFs are available for all instruments. For example, OPG is valid only for STK and FUT security types.
By including “OPG” in an order’s SignalName, a MKT, LMT, or STP order can be assigned the OPG TIF.
This attribute completely overrides IBProvider’s default option MKT OPG orders, and the market session time is not checked when the order is placed.
HIDE: Hidden order attribute
Valid values: Must be 1 to hide the order
FAP: Financial Advisor Allocation Profile (FAs only)
Valid values: Name of an Allocation Profile you’ve assigned
A-ALGO: Adaptive Algo
The only IB Algo supported is the “Adaptive Algo” at this time.
Valid values: Critical, Urgent, Normal, Patient
COND-PCT: Percentage Condition
The only Conditional order is the “Percentage Condition” at this time, and the condition:
a. is relative only to the contract traded, and,
b. can be only one condition.
The condition must contain three semicolon-delimited fields:
1. “C” – Order will be canceled if condition is true; otherwise order is submitted
2. “>” – use > if the condition is “is more than” the percentage value; any other symbol is interpreted as “less than”
3. “10.0” – Percentage value (e.g., 10.0 = 10.0%). (ALWAYS use “.” for decimal points.)
Example 1: To cancel an order if price is more than 10% from the previous close, use: COND-PCT=C;>;10.0
Example 2: To cancel an order if price is less than -5% from the previous close, use: COND-PCT=C;<;-5.0
Example 3: To transmit the order when price is more than 2.5% from the previous close, use: COND-PCT=T;>;2.5 (T can be any character except C)
SCALE=30,20,0.15: Basic Scale Order
(ALWAYS use “.” for decimal points.)
1. 30 is the initial position in % of the total shares,
2. 20 is the size of subsequent positions in % of the total shares, and,
3. 0.15 is the price increment
In this example, if you sent a 1000-share BuyAtLimit at a limit price of 20.35,
Position 1 would be 300 shares at 20.35
Position 2 would be 200 shares at 20.20 (500 total)
Position 3 would be 200 shares at 20.05 (700 total)
Position 4 would be 200 shares at 19.90 (900 total)
Position 5 would be 100 shares at 19.75 (1000 total, IB system modified to 100 shares)
- OPG now supported for FUT types
- Throttled placing orders (See: Optimizing Order Efficiency http://ibkb.interactivebrokers.com/article/1765), by ensuring a 20 msec delay between orders placed simultaneously so that not more than 50 orders are placed per second.
- Account page:
1. Short positions now appear as positive shares for Accounts compatibility.
2. Option symbol last price is multiplied by 100 to be in line with the Cost Basis so that Wealth-Lab calculates Profit correctly.
(Wealth-Lab has a bug in the Symbol Info Manager that does not save the “Stock Option” selection.)