CQG FLOW

CQG FLOW algo first enters the market then tries to exit at a better price to make profit when market moves in favorable direction or at break even or with limited loss otherwise.

 

Order types: MKT

Method: for a given time period tries to enter the market with single order of fixed size at regular time intervals, each fill of entry order results in launch of an exit order which is essentially a CQG POSITIONBRKT algo with single profit target.

Parameters:

Name

Tag number

Format

Comment

TargetStrategy

847

Int

1027 – CQG FLOW

StartTime

8151

UTCTimestamp

Time after which the algo will begin execution.

No slices will be released before this time.

Replaced with UTC Now acquired by CQG Algo Engine when this parameter is in the past or not present.

Unless stated otherwise, can be updated to different value before algo execution has started; value change is ignored after algo start.

Default – Now.

This is a global algo parameter. For non-default value to be used it’s required to set it for leg order with 0 index but recommended to use same value for both leg orders.

EndTime

8152

UTCTimestamp

Time that, when set, represents the Computed End Time.

Cannot be specified together with MaxDurationInMinutes.

Automatically replaced with order’s symbol specific end of trading day when set to time after trading day end.

Default: symbol specific end of trading day.

This is a global algo parameter. For non-default value to be used it’s required to set it for leg order with 0 index but recommended to use same value for both leg orders.

MaxDurationInMinutes

9030

Float

If set, this value is added to  StartTime to yield the Computed End Time.

At the Computed End Time, all slices in the market will be paid up. Non-working size will be cancelled.

MaxDurationInMinutes cannot be specified together with End Time.

If neither this value, nor End Time are set, the Computed End Time will default to order’s symbol specific end of trading day.

Computed End Time will be set to order’s symbol specific end of trading day the  when StartTime + MaxDurationInMinutes is after trading day end.

This is a global algo parameter. For non-default value to be used it’s required to set it for leg order with 0 index but recommended to use same value for both leg orders.

LegIndex

10000

Int

0-based leg index.

Required for all legs.

Should be set to:

0 – for first leg.

1 – for second leg.

GroupID

10001

String

Globally unique identifier assigned by a client to every leg order constituting the single multi-legged algo order.

Required for all legs.

NumberOfLegs

10002

Int

Number of legs in multi-legged algo.

Required for all legs, shall be 2.

IntervalInSeconds

8820

Int

Slice entry interval in seconds.

Default – 10.

Allowed value range is [1; 86400].

Specific for leg order with 0 index.

OrderSizeOverride

8840

Int

Size of child order algo will be launching each slice interval except, probably, last slice which can be smaller if order remaining quantity is less than child size.

Default – 1.

Zero value means launch whole quantity at once.

Allowed value range is [0; leg order size].

When ChildSize is greater than leg order size its value will be limited by leg order size.

Specific for leg order with 0 index.

TickOffset

8402

Int

Initial placement of child orders relative to best level. 0 means join best, -1 means one tick through the market.

Default – -1.

This parameter value is not limited.

Specific for leg order with 0 index.

StopTicks

9602

Int

Number of ticks away from algo order price (higher for BUY, lower for SELL) to calculate price which when reached will result in launching ‘stop’ part of the algo.

Default – 5.

Shall be greater than or equal to 0.

Specific for leg order with 1 index.

OnStopTrigger

9604

Char

Defines how triggered stop order shall be executed.

Supported values:

0 – Limit - Launch native limit order at the trigger price.

1 – StaticPayup - Launch native limit order at a price level which is StopPayupTicks better than trigger price. Better means 'more aggressive' price, i.e., higher for BUY order.

2 – PayupAlgo - Launch payup algo order using trigger price as starting price of an order.

Default is 0 (Limit).

Specific for leg order with 1 index.

StopPayupTicks

9603

Int

Price offset in ticks for calculating stop order price.

0 - means same price as stop price

1 - means one tick better (more aggressive) than stop price.

Used when OnStopTrigger value is 1 (StaticPayup).

Default – 0.

Shall be greater than or equal to 0.

Specific for leg order with 1 index.

Target1PriceTicks

9610

Int

Number of ticks away from algo order price (lower for BUY, higher for SELL) to determine price of first profit target order.

Default – 0.

Shall be greater than or equal to 0.

Specific for leg order with 1 index.

Target1OrderType

Char

9616

Order type for first target.

Supported values:

1 – Limit - Launch native limit order at the target price.

2 – TrailingStopAlgo - Wait until market crosses target price level then launch trailing stop algo order.

Default – 1 (Limit).

Specific for leg order with 1 index.

Target1TrailTicks

Int

9617

A tick distance from market (last trade price) to maintain.

Used when value of  Target1OrderType is 2 (TrailingStopAlgo).

Default – 0.

Specific for leg order with 1 index.

Target1OnTrigger

Char

9618

Defines how triggerred trailing stop order shall be executed if it was used for first target order.

Used when Target1OrderType is 2 (TrailingStopAlgo).

Supported values:

0 – Limit - Launch native limit order at the trigger price.

1 – StaticPayup - Launch native limit order at a price level which is TrailingStopPayupTicks better than trigger price. Better means 'more aggressive' price, i.e., higher for BUY order.

2 – PayupAlgo - Launch payup algo order using trigger price as starting price of an order.

Default is 0 (Limit).

Specific for leg order with 1 index.

TrailingStopPayupTicks

Int

9625

Price offset in ticks for limit order with static payup launched on trailing stop trigger.

0 - means same price as trigger price, 1 - means one tick better than trigger price.

Better means 'more aggressive' price, i.e., higher for BUY order.

Used when target order type is TrailingStopAlgo and its trigger behavior is StaticPayup.

This parameter is shared between all target orders with trailing stop order which trigger behavior is chosen to be StaticPayup.

Shall be greater than or equal to 0.

Specific for leg order with 1 index.

PayupModel

9105

Char

See CQG PAYUP algo.

Shared between all orders which dedicated Target1OnTrigger parameter value is 2 (PayupAlgo).

Specific for leg order with 1 index.

ModelSensitivity

9111

Float

See CQG PAYUP algo.

Shared between all orders which dedicated Target1OnTrigger parameter value is 2 (PayupAlgo).

Specific for leg order with 1 index.

OppositeSizeRatio

9120

Float

See CQG PAYUP algo.

Shared between all orders which dedicated Target1OnTrigger parameter value is 2 (PayupAlgo).

Specific for leg order with 1 index.

OppositeSizeRaw

9130

Int

See CQG PAYUP algo.

Shared between all orders which dedicated Target1OnTrigger parameter value is 2 (PayupAlgo).

Specific for leg order with 1 index.

OnMiss

9106

Char

See CQG PAYUP algo.

Shared between all orders which dedicated Target1OnTrigger parameter value is 2 (PayupAlgo).

Specific for leg order with 1 index.

MaxChaseTicks

8202

Int

See CQG PAYUP algo.

Shared between all orders which dedicated Target1OnTrigger parameter value is 2 (PayupAlgo).

Specific for leg order with 1 index.

 

Order placement will be rejected if one of the following conditions is not met:

leg orders shall be on same security;

leg order sizes shall be equal;

leg orders shall be on opposite sides.