AlgoOrder Iceberg (ICBG)

There are three types of icebergs: Smart, Random, Smart Random.  You can choose your preferred iceberg type using the application's Profile Manager.

Smart

Conventional iceberg order type. You specify total order size, iceberg size (size of each leg order), and price for the first leg.

When placing the first leg, the application calculates the distance from the market.

Once a leg order is filled, the application places the subsequent leg order with a price that has the same distance from the market of the initial order price.

Random

For each leg, generates a random size that is within the range you specify with the minimum and maximum size parameters.

Smart Random

Differs from the random iceberg by the following:

Distance from market: The price for each leg (calculated by number of ticks) is defined at the time of their placement.

Release time: Each subsequent leg is placed at this time interval, unless a payup occurs or the leg is completely filled, in which case the subsequent leg is placed immediately. If the calculated price for the subsequent leg differs from the existing order, the new random order size is added to the remaining unfilled orders and the price is set to the price that is the nearest to the market.

Payup: If at least some percentage of the leg is not filled in a time interval from its placement till the payup time, the application triggers the payup action, which includes moving the leg order towards the market with a number of ticks specified by Payup Distance.

 

ICBG shows only one leg at any time. The remaining quantity of the unfilled active leg adds up to the quantity being released.

If the payup distance is set to a large value, payup may place the order beyond the market (e.g. below the best bid for a sell order).

There is only one payup check within a release time interval.

 

Installing, running, and stopping ICBG

1.  Open CQG software, and log on to trade.

2.  From CQG’s website, download and run the installation program for ICBG (AlgoOrder ICBG.msi).

If you plan on using the source code in any way, make sure to install the application and the source (Custom Setup).

3.  Go to Start > All Programs > CQG > AlgoOrder ICBG to register the type, so that it can be viewed in the software.

4.  In the CQG software, open a trading application. Note that the AlgoOrder type is now listed on the special orders menu.

The ICBG application runs in the background of the CQG software. The ICBG icon is visible in the system tray when it’s running.

Right-click that icon to open a menu of options, explained later in this topic, associated with ICBG orders.

 

Use this menu to stop the ICBG application. The quantity already placed remains on the gateway and functions like regular limit order.

ICBG parameters

Parameter

Description

Iceberg Mode

Smart Random Iceberg (changed on Profile Manager)

Max Quantity

Default = 99999 contracts

Iceberg Min Size

Default = 1 contract

Iceberg Max Size

Default = 5 contracts

Distance from market

Default = 2 ticks

Release Time

Default = 5 seconds

Payup Time

Default = 2 seconds

Payup Distance

Default = 1 tick

Percentage

Default = 10%

Use Fixed Price

Default = off

Respect Price Changes

Default = off

 

Example

We've placed an order as specified here:

ICBG has generated the size 4 and placed the following order: EDAZ2 Sell 4 Limit @99577

No contracts were sold in 2 seconds (Payup Time) and Payup is initiated. ICBG moved the order one tick (Payup Distance) closer to the market.

EDAZ2 Sell 4 Limit @99576

Two seconds later one contract was sold. The order is: EDAZ2 Sell 3 Limit @99576

One second later, when Release Time has come, ICBG generates the size 2, examines the market (i.e., the best bid), which is at 99575 and calculates the Release price to be 99577. However, since the existing order price is closer to the market the new order looks as following:

EDAZ2 Sell 5 Limit @99576

No contracts were sold within the next two seconds. The market has now moved to 99572. Payup action is fired. The new order is:

EDAZ2 Sell 5 Limit @99575

Three seconds since Payup, nothing was sold and the market is down to 99571. The new generated size is 1. The order is revised as following:

EDAZ2 Sell 6 Limit @99573

One second later two contracts were sold. Payup is not triggered.

Two seconds later all remaining 4 contracts were sold @ 99573. The Release Timer is reset. The next order is placed immediately with the randomly generated size of 5 at two ticks distance from the market as following:

EDAZ2 Sell 5 Limit @99575

Monitoring and cancelling ICBG orders

Right-click the ICBG icon in the system tray, then click Monitor to open the Monitor window. The window lists working orders with associated data:

      Algo Order ID

      Status

      FCM Account ID

      Account Name

      Instrument Name

      Side

      Type

      Limit Price

      Stop Price

      Total Quantity

      Filled Quantity

      Max Quantity

      Iceberg Min Size

      Iceberg Max Size

      Distance from Market

      Release Time

      Payup Time

      Payup Distance

      Percentage

To cancel one or some of the working orders, select them and then click the Cancel Checked Orders button. You can also right-click the order.

To cancel all working orders, click the Cancel All Orders button. You can also right-click the order.

To obtain log files, right-click the ICBG icon in the system tray, then click Show Logs. The local folder that contains logs is opened: C:\Users\<name>\AppData\Local\CQG\AlgoOrder_ICBG\Logs

ICBG Profile Manager

Set parameter values using Profile Manager. Right-click the ICBG icon in the system tray, then click Profile Manager.

ICBG Configuration Manager

Setting

Description

Long Name

This field contains the algorithmic order type name that will be displayed in the Special Orders drop-down list in CQGIC.

It is advisable to use a descriptive name for this field.

Short Name

This short form of the order type name is used in order ID or the UEName (e.g., COICBGxxxxyyyy-Z) in CQG IC. Although you may insert longer strings, CQG IC will use the first four characters of your entry to create the order UENames. This short form will also be used in the Special Orders drop-down button in CQG IC.

It is advisable to use easily recognizable short names, no longer than four characters.

Mode

Choose the preferred Iceberg type:

Smart Iceberg: This provides the iceberg order functionality to instruments that otherwise do not support it natively on the exchanges. Other than the regular order parameters, you also set the Iceberg Size parameter, which defines the maximum amount of the total order size that should be visible on the market at a time. Once a chunk is filled completely, ICBG places the next chunk, until the whole quantity is filled. The application calculates the distance of your order from the market and places the subsequent chunks at that distance from the market.

Random Iceberg: Other than providing the Smart Iceberg functionality, this type allows you to set minimum and maximum volume sizes and variates the volume of chunk orders at random, so that the algorithm shall be less predictable to others.

Smart Random Iceberg: Besides the Random Iceberg functionality, this type also allows you to set a Payup threshold criterion. When a minimum amount of the chunk is not traded at check time, Payup is initiated and the order is moved closer to the market by a number of ticks.

Balloon Tip Level

Determines the lower level of importance that should be used to filter out events to be displayed as tool tips in the system tray area.

None: Nothing will be displayed.

Info: All events will be displayed.

Warning: Warning or Error events will be displayed.

Error: Only Error events will be displayed.

Log Level

Messages received by the logger that are at or above the specified log level are delivered to the log file.

None: Nothing will be logged.

Info: All events will be logged.

Warning: Warning or Error events will be logged.

Error: Only Error events will be logged.

Log File Max Size

Determines the size of the log file that when reached, the program will start writing into a new log file.

The maximum allowed file size is 32768 KB or 32 MB.

Log Files Max Count

Determines the number of log files that when reached, the program will delete the oldest file before starting a new log file.

The maximum allowed number of log files is 100.