Table of Contents

Class InteractiveBrokersFixOrderCondition

Namespace
StockSharp.Fix.Dialects
Assembly
StockSharp.Fix.dll

InteractiveBrokers (FIX CTCI) order condition.

[DataContract]
[Display(ResourceType = typeof(LocalizedStrings), Name = "InteractiveBrokers")]
public class InteractiveBrokersFixOrderCondition : FixOrderCondition, IStopLossOrderCondition, ITakeProfitOrderCondition
Inheritance
InteractiveBrokersFixOrderCondition
Implements
Inherited Members
Extension Methods

Constructors

InteractiveBrokersFixOrderCondition()

Initializes a new instance of the InteractiveBrokersFixOrderCondition.

public InteractiveBrokersFixOrderCondition()

Properties

AllowPastEndTime

Distinct Parameter for IBKR Algo Orders 1 = yes 0 = no NewOrder Single (IBKR ALGO Orders).

[DataMember]
public string AllowPastEndTime { get; set; }

Property Value

string

BarrierLimitPrice

Specifies the new limit price once the barrier is reached. New Order Single.

[DataMember]
public decimal? BarrierLimitPrice { get; set; }

Property Value

decimal?

BarrierPrice

Specifies the trigger price for the barrier. (required if 6257 >0) New Order Single.

[DataMember]
public decimal? BarrierPrice { get; set; }

Property Value

decimal?

BarrierPriceDelimiter

Specifies the order type when the barrier is reached. Valid Values: 3 = Stop 4 = Stop Limit T = Trailing Stop TSL = Trailing Stop Limit New Order Single.

[DataMember]
public string BarrierPriceDelimiter { get; set; }

Property Value

string

BarrierStopPrice

Specifies the new stop price once the barrier is reached. New Order Single.

[DataMember]
public decimal? BarrierStopPrice { get; set; }

Property Value

decimal?

BarrierTrailingAmt

Specifies the new trailing amount once the barrier is reached New Order Single.

[DataMember]
public decimal? BarrierTrailingAmt { get; set; }

Property Value

decimal?

BarrierTrailingAmtUnit

Specifies the trail method used for Barrier orders: Valid Values: 6268=0 ' Absolute offset used 6268=100 ' Percentage offset used New Order ' Single (trailing stop orders).

[DataMember]
public string BarrierTrailingAmtUnit { get; set; }

Property Value

string

CheapToReroute

Specifies whether to route non-marketable orders to exchanges that charge cancellation fees. Valid Values: 6271=1 ' Confirm route to exchanges where there are no cancellation fees. New Order.

[DataMember]
public int? CheapToReroute { get; set; }

Property Value

int?

CondCurrency

Used if condition symbol would be otherwise ambiguous New Order - Single.

[DataMember]
public string CondCurrency { get; set; }

Property Value

string

CondPrimaryExch

Used if condition symbol would be otherwise ambiguous New Order - Single.

[DataMember]
public string CondPrimaryExch { get; set; }

Property Value

string

CondSubmitCancel

Specifies if the order should be submitted or canceled if the condition is met 0 = Submit 1 = Cancel New Order - Single.

[DataMember]
public int? CondSubmitCancel { get; set; }

Property Value

int?

ConditionConID

IBKR's internal contract ID New Order-Single.

[DataMember]
public string ConditionConID { get; set; }

Property Value

string

ConditionExchange

The condition needs to be met based upon market data from this exchange New Order-Single.

[DataMember]
public string ConditionExchange { get; set; }

Property Value

string

ConditionExecutionPattern

Required if 6222=5, format: string New Order - Single.

[DataMember]
public string ConditionExecutionPattern { get; set; }

Property Value

string

ConditionExpiry

The expiration year and month (for futures or options) Format: ( yyyymm ) New Order-Single.

[DataMember]
public DateTime? ConditionExpiry { get; set; }

Property Value

DateTime?

ConditionIgnoreRegularTradingHours

Setting to allow for the triggering of conditional orders outside regular market hours. Valid Values: 1 = Allow triggering outside of regular trading hours If tag is omitted, triggering will be limited to regular trading hours. New Order-Single.

[DataMember]
public int? ConditionIgnoreRegularTradingHours { get; set; }

Property Value

int?

ConditionListSize

The number of conditions in the message New Order-Single.

[DataMember]
public decimal? ConditionListSize { get; set; }

Property Value

decimal?

ConditionLocalSymbol

Specifies the IBKR Local Symbol of the product you are making an order conditional upon New Order-Single.

[DataMember]
public string ConditionLocalSymbol { get; set; }

Property Value

string

ConditionLogicOperantBinder

The logical binder used with multiple conditions. a = and o = or n = non defined (should only be used with the last condition in a list) New Order-Single.

[DataMember]
public char? ConditionLogicOperantBinder { get; set; }

Property Value

char?

ConditionMargin

Required if 6222=4, format: integer New Order - Single.

[DataMember]
public int? ConditionMargin { get; set; }

Property Value

int?

ConditionOperand

The condition operation Valid Values: <= >= New Order-Single.

[DataMember]
public string ConditionOperand { get; set; }

Property Value

string

ConditionRight

The right of an option (call or put) Valid Values: C = Call P = Put New Order-Single.

[DataMember]
public char? ConditionRight { get; set; }

Property Value

char?

ConditionSecurityType

Specifies the security type in a conditional order New Order-Single.

[DataMember]
public string ConditionSecurityType { get; set; }

Property Value

string

ConditionStrike

The strike price of the security if it is an option New Order-Single.

[DataMember]
public decimal? ConditionStrike { get; set; }

Property Value

decimal?

ConditionTime

Required if 6222=3, format: yyyymmdd-hh:mm:ss New Order - Single.

[DataMember]
public DateTime? ConditionTime { get; set; }

Property Value

DateTime?

ConditionTriggerMethod

Trigger method for the condition Valid Values: 1 = Double Bid/Ask 2 = Last 3 = Double Last 4 = Bid/Ask New Order-Single.

[DataMember]
public int? ConditionTriggerMethod { get; set; }

Property Value

int?

ConditionTriggerPrice

The trigger price for the condition New Order-Single.

[DataMember]
public decimal? ConditionTriggerPrice { get; set; }

Property Value

decimal?

ConditionType

Used if sending ConditionType other than Price (default if tag 6222 not specified) is desired. 1=Price, 3=Time, 4=Margin Cushion, 5=Trade, 6=Volume New Order - Single.

[DataMember]
public int? ConditionType { get; set; }

Property Value

int?

ConditionUnderlying

Underlying symbol of the product upon which the condition exists. New Order-Single.

[DataMember]
public string ConditionUnderlying { get; set; }

Property Value

string

ConditionVolume

Required if 6222=6 New Order Single.

[DataMember]
public int? ConditionVolume { get; set; }

Property Value

int?

ConsiderExecCost

Only available for clients with unbundled commissions 1 = Highest Rebate 2 = Primary Exchange 3 = Highest Volume Exchange with Rebate 4 = Highest Volume Exchange with Lowest Fee New Order Single.

[DataMember]
public int? ConsiderExecCost { get; set; }

Property Value

int?

ContinuousUpdate

Used in IBKR Volatility Orders 1=Use initial volatility calculation only 2=Continuously update the price as volatility calculation changes 3=Price for main order specified by client New Order (IBKR Volatility Orders).

[DataMember]
public string ContinuousUpdate { get; set; }

Property Value

string

ContractID

New Order.

[DataMember]
public string ContractID { get; set; }

Property Value

string

Delta

Used in conjunction with the custom Tag 18=s (peg to stock) function. This tag specifies the delta to be used in the order. Value must be between -100 and 100. (the sign is ignored) New Order-Single.

[DataMember]
public decimal? Delta { get; set; }

Property Value

decimal?

DiscretionaryType

For use with the P.I.P. order type on the BOX. Specifies the Auction Strategy for the P.I.P. order 1 = Discretionary Matching 2 = Discretionary Improving 3 = Transparent New Order-Single.

[DataMember]
public int? DiscretionaryType { get; set; }

Property Value

int?

DisplaySize

Distinct Parameter for IBKR Algo Orders NewOrder Single (IBKR ALGO Orders).

[DataMember]
public int? DisplaySize { get; set; }

Property Value

int?

DividendSchedule

Used in IBKR Volatility Orders Valid Format: Yyyymmdd/value,yyyymmdd/value etc. New Order (IBKR Volatility Orders).

[DataMember]
public string DividendSchedule { get; set; }

Property Value

string

EndTime

Distinct Parameter for IBKR Algo Orders Format: yyyymmdd-hh:mm:ss NewOrder Single (IBKR ALGO Orders).

[DataMember]
public DateTime? EndTime { get; set; }

Property Value

DateTime?

FacilitationPercentage

ISE Facilitation Order Desired percentage New Order ' Single (ISE FOK only).

[DataMember]
public decimal? FacilitationPercentage { get; set; }

Property Value

decimal?

ForceCompletion

Distinct Parameter for IBKR Algo Orders 1 = true 0 = false NewOrder Single (IBKR ALGO Orders).

[DataMember]
public string ForceCompletion { get; set; }

Property Value

string

ForceOnlyRTH

1=ForceOnlyRTH is ON New Order Single.

[DataMember]
public int? ForceOnlyRTH { get; set; }

Property Value

int?

HedgeRatio

Used in Pair Trade 6666 = Rate used to compute child order size Example: 1.8 (parent order size = 100, 180 will be used for child) New Order Single.

[DataMember]
public int? HedgeRatio { get; set; }

Property Value

int?

HedgeType

Used in Pair Trade 6665 = 3 (Pair Trade) New Order Single.

[DataMember]
public int? HedgeType { get; set; }

Property Value

int?

HedgingType

Used in IBKR Volatility Orders Valid Values: -1=No Hedging 1=MKT Hedging 2=Limit Order Hedge E=Relative Order Hedge New Order (IBKR Volatility Orders).

[DataMember]
public string HedgingType { get; set; }

Property Value

string

IBKRLocalSymbol

For US Equity Options, the OCC 21-character OSI symbol is used. Format: Option root [6 char] Yr (2 char] Mo [2 char] Day [2 char] c/p [1 char] dollar strike [5 char] decimal strike [3 char] Example: MSFT 200117C00140000 I New Order-Single.

[DataMember]
public string IBKRLocalSymbol { get; set; }

Property Value

string

ImbalanceOnly

Used in Imbalance Orders, use case is 6737=1 New Order Single.

[DataMember]
public int? ImbalanceOnly { get; set; }

Property Value

int?

ImpVolatility

Used in IBKR Volatility Orders Volatility in decimal form (decimal percentage) New Order (IBKR Volatility Orders).

[DataMember]
public string ImpVolatility { get; set; }

Property Value

string

InterestSchedule

Used in IBKR Volatility Orders Valid Format: Yyyymmdd/value,yyyymmdd/value etc. New Order (IBKR Volatility Orders).

[DataMember]
public string InterestSchedule { get; set; }

Property Value

string

IsDeltaHedge

Used in IBKR Volatility Orders Valid Values: 1=Hedging Order Anything else or omitted=NOT hedging order New Order (IBKR Volatility Orders).

[DataMember]
public string IsDeltaHedge { get; set; }

Property Value

string

LegClearingFirm

Per-Leg clearing for combo orders. Order should contain blank values for all legs except stock legs New Order - Multileg.

[DataMember]
public string LegClearingFirm { get; set; }

Property Value

string

LegLocateBroker

Same as 5700 ' Used for combination orders Tag 6216 (a four letter clearing broker or custodian MPID) is required for multi-leg short sale orders involving U.S. stocks to indicate the present location of the shares that are to be delivered in connection with customer's short sale order New Order ' Multileg.

[DataMember]
public string LegLocateBroker { get; set; }

Property Value

string

LegLocateReqd

Same as 114 ' Used for combination orders Valid codes = 'N' or 'Y.' Required for multi-leg short sale orders involving U.S. equity securities ('stocks'). If customer uses IBKR as its executing broker but uses a clearing broker other than IBKR (a 'NonCleared Customer') and Tag 624 contains the value '5' and Tag 6086 contains the value '1' or '2', this Tag 6215 must contain the value 'N'. New Order - Multileg.

[DataMember]
public bool? LegLocateReqd { get; set; }

Property Value

bool?

LocateBroker

Tag 5700 is required for short sale orders involving U.S. stocks to indicate the present location of the shares that are to be delivered in connection with customer's short sale order New Order.

[DataMember]
public string LocateBroker { get; set; }

Property Value

string

Mifid2DecisionAlgo

Mifid2 Algo used to demine decision maker ALGO for the order. New Order Single.

[DataMember]
public string Mifid2DecisionAlgo { get; set; }

Property Value

string

Mifid2DecisionMakerShortCode

Mifid2 Code used to demine IBKR's assigned short code for decision maker for the order. New Order Single.

[DataMember]
public string Mifid2DecisionMakerShortCode { get; set; }

Property Value

string

Mifid2ExecutionAlgo

Name of ALGO or IB assigned short code who is responsible for the execution within the firm New Order Single.

[DataMember]
public string Mifid2ExecutionAlgo { get; set; }

Property Value

string

Mifid2ExecutionTrader

Name of person or IB assigned short code who is responsible for the execution within the firm New Order Single.

[DataMember]
public string Mifid2ExecutionTrader { get; set; }

Property Value

string

NoBarriers

Specifies the number of 'barriers' used in the adjustable stop order type. New Order Single.

[DataMember]
public int? NoBarriers { get; set; }

Property Value

int?

NoStrategyParameters

Used for IBKR Algo Orders New Order (IBKR Algos).

[DataMember]
public int? NoStrategyParameters { get; set; }

Property Value

int?

NotHeld

Required with a value of '1' on all new orders (35=D) for stock quoting customers Valid Values: ( 0 = false , 1 = true ) New Order ' Single.

[DataMember]
public bool? NotHeld { get; set; }

Property Value

bool?

OptionAcct

Specifies the order capacity. This tag take precedence over all other order capacity tags. Valid Values: c = Customer f = Firm m = Market Maker b = Broker Dealer n = Away Market Maker y = Specialist in Underlying j = Joint Back Office New Order.

[DataMember]
public string OptionAcct { get; set; }

Property Value

string

OrderReferenceAccount

Extra user-defined field for additional identification for customer orders. New Order-Single.

[DataMember]
public string OrderReferenceAccount { get; set; }

Property Value

string

PctVol

Distinct Parameter for IBKR Algo Orders NewOrder Single (IBKR ALGO Orders).

[DataMember]
public int? PctVol { get; set; }

Property Value

int?

ProfessionalCustomer

Allows routing firms to designate an order as being routed by a 'professional customer' as determined by the order routing firm. IBKR will pass this designation on to destination option exchange. 1 = True 0 = False (default) New Order - Single.

[DataMember]
public int? ProfessionalCustomer { get; set; }

Property Value

int?

RiskAversion

Distinct Parameter for IBKR Algo Orders One of these 4 values: Aggr / Pass / Neut / GetDon NewOrder Single (IBKR ALGO Orders).

[DataMember]
public string RiskAversion { get; set; }

Property Value

string

ShortSaleRule

The valid values are either '1' or '2'. New Order.

[DataMember]
public int? ShortSaleRule { get; set; }

Property Value

int?

SmartComboGuarantee

Used with SMART routed combos to specify whether inter-exchange SMART combos are to be guaranteed or non-guaranteed. 0 = Guaranteed 1 = Non-Guaranteed 6248=1 required for STK/STK combo orders New Order - Multileg.

[DataMember]
public int? SmartComboGuarantee { get; set; }

Property Value

int?

StagedOrder

Used to identify if an order will be staged to the TWS Blotter screen Valid Values: 1=Yes 0=No (defaults to 0 if omitted) New Order - Single.

[DataMember]
public decimal? StagedOrder { get; set; }

Property Value

decimal?

StartTime

Distinct Parameter for IBKR Algo Orders Format: yyyymmdd-hh:mm:ss NewOrder Single (IBKR ALGO Orders).

[DataMember]
public DateTime? StartTime { get; set; }

Property Value

DateTime?

StockRangeLower

Used in conjunction with the custom Tag 18=s (peg to stock) function. This tag specifies the lower range of the underlying range for a delta order. If the underlying stock goes below this value, the order is canceled New Order-Single.

[DataMember]
public decimal? StockRangeLower { get; set; }

Property Value

decimal?

StockRangeUpper

Used in conjunction with the custom Tag 18=s (peg to stock) function. This tag specifies the lower range of the underlying range for a delta order. If the underlying stock goes above this value, the order is canceled New Order-Single.

[DataMember]
public decimal? StockRangeUpper { get; set; }

Property Value

decimal?

StockRefPrice

Stock reference price for pegged to stock orders. (i.e. Option order Price = auxPrice + (NBBO - stockRefPrice) * delta ) New Order - Single.

[DataMember]
public string StockRefPrice { get; set; }

Property Value

string

StrategyParameterName

Used for IBKR Algo Orders Valid Values: riskAversion pctVol forceCompletion New Order (IBKR Algos).

[DataMember]
public string StrategyParameterName { get; set; }

Property Value

string

StrategyParameterValue

Used for IBKR Algo Orders Valid Values: Aggressive Passive Neutral Get Done New Order (IBKR Algos).

[DataMember]
public string StrategyParameterValue { get; set; }

Property Value

string

TradingClass

Used for product identification for Options only. This represents the option 'class' Example: The underlying symbol for Microsoft is 'MSFT' The option class symbol for Microsoft is 'MSQ' New Order-Single.

[DataMember]
public string TradingClass { get; set; }

Property Value

string

TrailLimitOffset

Used in trailing stop limit orders to specify the offset of the limit price. Can be positive, negative, or zero New Order - Single.

[DataMember]
public decimal? TrailLimitOffset { get; set; }

Property Value

decimal?

TrailingAmtUnit

Specifies the trail method used: Valid Values: 6268=0 ' Absolute offset used 6268=100 ' Percentage offset used New Order ' Single (trailing stop orders).

[DataMember]
public string TrailingAmtUnit { get; set; }

Property Value

string

TriggerMethod

Sets the Stop Trigger Method for stops, stop limits, and trailing stops. New Order.

[DataMember]
public string TriggerMethod { get; set; }

Property Value

string

UnderlyingRefPrice

Used in IBKR Volatility Orders 1=midpoint 2=bid or ask New Order (IBKR Volatility Orders).

[DataMember]
public string UnderlyingRefPrice { get; set; }

Property Value

string

UseNetPrice

Specifies whether net pricing should be used over standard raw pricing. 1 = Use net price 0 = Use raw price (default) New Order Single (Fixed Income Orders).

[DataMember]
public int? UseNetPrice { get; set; }

Property Value

int?

VolatCapPercentage

Used in IBKR Volatility Orders Percentage in decimal form New Order (IBKR Volatility Orders).

[DataMember]
public decimal? VolatCapPercentage { get; set; }

Property Value

decimal?

VolatCapTicks

Used in IBKR Volatility Orders Price tick offset in decimal form New Order (IBKR Volatility Orders).

[DataMember]
public string VolatCapTicks { get; set; }

Property Value

string

WhatIf

WhatIf: 6091 = 1 New Order - Single.

[DataMember]
public int? WhatIf { get; set; }

Property Value

int?

XCrossClearingAccount

ISE Facilitation Order Firm's ClearingAccount (firm equivalent to tag 440) New Order ' Single (ISE FOK only).

[DataMember]
public string XCrossClearingAccount { get; set; }

Property Value

string

XCrossClearingFirm

ISE Facilitation Order Firm's ClearingFirm (firm equivalent to tag 439) New Order ' Single (ISE FOK only).

[DataMember]
public string XCrossClearingFirm { get; set; }

Property Value

string

XCrossOpenClose

ISE Facilitation Order Firm's OpenClose (firm equivalent to tag 77) New Order ' Single (ISE FOK only).

[DataMember]
public string XCrossOpenClose { get; set; }

Property Value

string

XCrossOptionAcct

ISE Facilitation Order Firm's OptionAcct (firm equivalent to tag6122) New Order ' Single (ISE FOK only).

[DataMember]
public string XCrossOptionAcct { get; set; }

Property Value

string

XcrossC1OrdID

ISE Facilitation Order Firm side for C1OrdID (firm equivalent to tag 11) New Order ' Single (ISE FOK only).

[DataMember]
public string XcrossC1OrdID { get; set; }

Property Value

string

tDeactivateOnClose

Used in IBKR Algo Orders to deactivate an order at the close of the current trading day. 1=deactivate the order at the end fo the day. 0=do not deactivate at the end of the day. (defaults to 0 if omitted) New Order (IBKR Algo Orders).

[DataMember]
public int? tDeactivateOnClose { get; set; }

Property Value

int?