What Is the Stops & Iceberg On-Chart Indicator?
This add-on tracks the evolution of iceberg orders and the execution of stop orders. It shows precisely when and at what price icebergs are detected, traded, fully executed or cancelled, and also shows executed stop orders trades on the main Bookmap chart. It's an additional indicator that can be loaded separately or with the Stops & Icebergs Sub-Chart Indicator.
- Accurate detection and tracking of iceberg and stop orders
- Demonstration of icebergs that are partially executed and still live
- Filters stops and icebergs by traded size
- Instant computation and display of each update as it happens in real-time
You can watch this video to learn more - including installation, configuration, and usage.
The Stops & Iceberg On-Chart add-on works with CME MBO Rithmic real-time data only (in non-aggregated mode). The add-on is part of the MBO Bundle.
Understanding Iceberg Orders
Iceberg orders are buy or sell limit orders that have been split into smaller limit orders to hide the total order quantity. The term "iceberg" comes from the fact that the visible lots are just the "tip of the iceberg", given the greater number of limit orders are not visible.
To install the Stops & Icebergs On-Chart indicator, follow these steps:
- Download the Add-on
- Launch Bookmap version 7.1.0 b63 or newer and subscribe to at least one Rithmic instrument
- Click the API plugins icon to open the API plugins configuration panel (or Settings → API plugins configuration)
- In the API plugins configuration, click the “Add” button and then select the.jar from the “Select add-on file...” dialog window, click “Open,” and then “Load.”
- The Stops & Icebergs On-Chart Indicator will appear in the list of available plugins.
Icebergs Visual Appearance
Icons on the chart that are connected to trade dots indicate the price area where this volume was traded. The direction of the icons shows the order type: up for sell icebergs and down for buy icebergs.
The letter shows the type of the event:
D - Detection, an iceberg was detected.
T - Trade, a trade was executed against one of the icebergs.
E - Execution, an iceberg was fully executed.
C - Cancellation, an iceberg was cancelled.
The number shows the volume. The number in brackets is the traded volume for the specific event. A number without brackets is the total traded volume for an iceberg.
The icon on the right side of the timeline indicates that the Iceberg order is still active. The position shows the current price. The number near the active order icon shows the total executed order volume without brackets and the last trade volume in brackets.
With both icons, you will see a thick horizontal line, marking a price on the chart where the order was active. If this line changes its orientation to vertical in some places, it means that the iceberg order was moved to another price level here. All event icons are pinned to that line with thin vertical lines.
Stops Visual Appearance
A stops chain is highlighted with a bold vertical line that shows the price area of the stop run, with an icon pinned to it, showing the total volume of trades within that chain.
The direction of the icon shows the type of chain: up for buy stops and down for sell stops. The offset direction is inverted as compared to icebergs because an iceberg is usually (but not always) on the passive side of a trade, while stop trades are always aggressive.
Unlike icebergs, where each iceberg order is shown separately, a stops chain may include trades from several different stop orders triggered within the same stop run.
The add-on has separate settings for stops and icebergs detection. You can show/hide specific orders type by clicking the Show stops/icebergs checkbox.
Click 🆅 for access to the detailed settings panel.
Stops/Icebergs alerts settings panel holds settings for corresponding alerts.
Telegram configuration panel is used for configuring your Telegram notifications.
The Aggregation lines settings panel is for configuring aggregation lines.
The Restore defaults button resets all settings to their defaults.
Under the settings panels, you can find the name and version of the add-on.
Icebergs Threshold Settings
The individual size threshold sets the total order traded size filter. Only orders where the total traded size is more or equal to the selected value will be indicated on the screen.
Note that only already traded volume is taken into account; the total order size for the iceberg could be much bigger. With this option, you can filter out smaller trades.
If several icons are drawn close to each other they may be merged into one to prevent those icons from overlapping and bad readability. This process is called aggregation.
Aggregated threshold is applied to icons of orders that successfully passed individual threshold. Only icons with traded size more or equal to the selected value will be indicated on the screen.
Here is an example of how threshold filters work for better understanding:
- Let's assume there are 3 icebergs in one place (so all the icons will be aggregated) with volumes 5, 10 and 20.
- Individual filter is set to 8, so the iceberg with volume 5 will be filtered out.
- Icebergs with volumes 10 and 20 are aggregated to one 30 icon.
- Aggregated filter is set to 15, so the icon 30 will not be filtered out.
- If you zoom in the icon area with the same parameters, the aggregated icon will split to 10 and 20, so the Aggregated filter will work and 10 volume will be filtered out. The filtered out icons will not completely disappear, they will be semi-transparent. The transparency level can be configured
Automatic size threshold checkbox enables automatic calculation and update of individual size threshold. When automatic mode is on, the individual size threshold is recalculated once per minute, and on every threshold settings change.
So, how is the size threshold calculated in automatic mode?
SD is standard deviation.
SD interval - interval in minutes back from the current moment when we pick icebergs for SD calculation. Only visible total executed volumes on the interval without active orders are included in the calculation. If you hide some execution or cancellation icons, that will affect the threshold calculation. In other words, we calculate the threshold only on events with the total volume that are visible on the chart.
SD multiplier - multiplier used for calculation in the formula below.
Average - average iceberg size on SD interval.
The formula is Size threshold = Average + SD * SD multiplier.
What does this mean? In short, in automated mode with SD multiplier = 0, you will see icebergs of average size and above. If you increase the SD multiplier, the size threshold grows, and only bigger icebergs stay on-screen while smaller ones are filtered out.
There is also one more restriction - automatic mode will not set a size threshold bigger than the biggest iceberg in the SD interval. This guarantees that in automatic mode you will always see at least one biggest iceberg within the SD interval on the screen, regardless of other filtering settings.
Apply threshold to the active icebergs - option to hide/show small, partially executed icebergs that are still in orderbook
Icebergs Visual Settings
Show filtered icons checkbox enables showing semi-transparent icons, filtered out by the size filters, on the chart.
Filtered icons transparency slider allows to choose transparency level for those filtered out icons.
Show icons checkboxes - you turn on/off specific icons.
Aggregate E and С checkbox tells the indicator to calculate total volume for E and C events together in case when E and C event icons are aggregated. If it is unchecked, you will see two separate total traded volumes for E and C events accordingly.
Icons text settings checkboxes allow you to control the text near the icon:
Show event type - shows event type letter.
Show event volume - shows individual event volume (number in brackets) for Detection and Trade events. Detection has some volume, too, because we can detect that the order is an Iceberg only after the trade. Hence, detection volume includes the volume of all trades on that iceberg before it was detected.
Show total volume - shows total traded volume (number without brackets) for icebergs that are totally Executed or Cancelled or still Active.
Show icebergs number checkbox tells to show number of icebergs, events from which were aggregated, near each aggregated icon.
Sells and buys color are colors of corresponding iceberg orders lines and icons.
Icons size is the size of iceberg icons.
Icons offset controls the distance of icons from BBO.
Order line width is the width of the order price line.
Offset line width is the width of dashed vertical lines that connect event icons with their order price line.
Not aggregated view checkbox disables aggregation of icons, so you can see exactly where each event happened. However, this may lead to icons overlapping and performance issues because of the large number of icons, so using this mode on big amounts of data is not recommended.
Price aggregation (vertical) and Time aggregation (horizontal) set the size of the rectangle area around each iceberg icon in which all other iceberg icons will be aggregated into one. Numbers here are basically multipliers for icon width and height, correspondingly. So, if you set, for example, price aggregation = 2 and time aggregation = 4, the resulting aggregation area would be a rectangle with sizes 2x (icon height) and 4x (icon width) with the center in the middle of the initial icon. If both parameters are set to 1, the aggregation area completely matches icon size, so only overlapping icons would be aggregated. We use a volume-weighted algorithm for the positioning of aggregated icons. Therefore, if several icons were aggregated into one, the resulting icon would be somewhere in the middle between all initial icons. Its volume would be the sum of volumes of all initial icons. If the Not aggregated view mode is on, price and time aggregation sliders are disabled, and their values have no effect.
Icebergs Alerts Settings
Enable alert checkbox enables voice and text alerts when active iceberg traded size crosses filtering threshold for the first time.
Automatic size threshold here works the same way as for icebergs and is synchronized with it. If you use the same threshold settings for icebergs and icebergs alerts, you will get an alert for each new iceberg you see on the chart.
Alert template text field below sets text template for alerts.
? button shows list of available templates:
- $INSTRUMENT - full instrument name
- $INSTR - instrument name without @exchange part
- $SIDE - buy or sell
- $PRICE - current price of an iceberg or volume weighted price for stops chain
- $VOLUME - current traded volume of an iceberg or total traded volume for stops chain
- $THRESHOLD - current volume threshold
Reset button resets alert template to default. Example field shows example alert text for current alert template. Test alert button plays test alert using text from example field.
Stops settings are similar to icebergs settings, except that stops settings have fewer options, because for stops we have only one event type - stop trade.
The size threshold for stops works similar to the iceberg's size threshold, except it considers the size of the whole triggered stops chain, which may include more than one stop order.
There is also one new option, Show only stop runs. When it is enabled, you will see only stop chains that were executed on more than one price level on the chart.
Telegram Notifications Guide For Stops & Icebergs On-Chart
To start getting Telegram notifications in Stops & Icebergs On-Chart, you need to implement the following steps:
1. Getting Started
Install the Telegram Desktop application https://desktop.telegram.org/ and create an account.
You can also use web or mobile versions of Telegram, but we recommend using the desktop version for better user experience during the configuration process.
2. Create a Telegram bot
Open this link in your Telegram application https://t.me/BotFather and follow instructions.
Send “/start” message to start working with bots management bot.
Send “/newbot” message to create a new bot.
Choose a name for your bot by sending it in a new message.
Choose a username for your bot by sending it in a new message. Username should be unique and must end in “bot”.
When your bot is successfully created, you will get a message with an access token for this bot. Copy this access token to SI On-Chart -> Telegram Configuration -> Token
3. Obtain the Chat ID where you want to get notifications
Enter your Telegram account to which you want to get notifications.
Open this link via Telegram https://t.me/get_id_bot.
Send “/start” message to start working with the bot.
Get your chat ID from the bot's response.
Copy it to SI On-Chart -> Telegram Configuration -> Chat ID
4. Start a conversation with your bot
Open the link: https://t.me/your-bot?start=subscribe in Telegram. “your-bot” is a placeholder for the username of your bot. Send “/start” message to start a conversation with your bot.
5. Run A Test
Click the “Test” button on the Telegram configuration panel to make sure that everything is configured properly. You should receive a test notification message in Telegram from your bot if everything is OK, or an error message describing the problem otherwise.
6. Enable Telegram notifications
Enable Telegram notifications by checking the “Enable Telegram alerts” checkbox on icebergs or stops alerts settings panel, or both.
- The add-on works with CME MBO (Market by Order) data provided by Rithmic. See the screenshots below to learn how to configure Rithmic connectivity:
- The volume number on the Cancellation event shows the total traded size for the iceberg before it was cancelled, not the remaining iceberg part, which is unknown.
The latest version of Bookmap includes some performance optimizations.
When the application is under heavy load and new events happen faster than Bookmap can process, an aggregation mechanism turns on.
In this mode, Bookmap aggregates several individual events into one, improving performance at the cost of losing accuracy.
This allows Bookmap to operate faster, avoiding freezes and delays in data processing, but may affect indicators that rely on data microstructure accuracy. SI On-Chart and SI Sub-Chart are examples of those indicators.
When the automatic aggregation mechanism turns on, SI indicators may become unpredictable (lose detections, show fake detections, etc.)
Therefore, if you are using SI indicators and need accurate data, you can disable automatic aggregation to ensure you get reliable data.
But we do not recommend doing so, as Bookmap may not run smoothly during volatile market conditions. This means you’ll be unable to perform real-time actions like closing positions or moving orders.
To disable automatic aggregation go to Settings > Performance > Automatic aggregation and set Event queue size threshold to Never.
Again, DO NOT DISABLE AUTOMATIC AGGREGATION if you need to perform real-time actions and execute trades.
If you’re not trading and you’re happy that Bookmap may occasionally slow down under heavy load, you can change the default parameters to increase the SI detection accuracy. Set the events queue slider to 20000 and delay to 5 seconds.
When the aggregation mechanism is enabled for the first time during a Bookmap session, the SI On-Chart add-on will display the following warning:
The aggregation mechanism will also mark all places where aggregation happened (while the add-on was active) with a thin vertical line:
You can configure the aggregation lines in the aggregation line settings panel of the indicator:
Note: With aggregation enabled, the SI On-Chart add-on is still operational, but it cannot get the required information from parts of the data which were aggregated, so some detections may be missing.
Missing MBO data
Sometimes the MBO data feed may disconnect, for example a bad internet connection or problem with the data provider. In this case, the add-on will warn you with the following notification:
The add-on will continue to work as usual as soon as the MBO connection is restored.
Note: CME does not provide MBO data for implied orders. Read more about implied orders here.
Stops & Icebergs On-Chart Indicator FAQ
Does it include the CVD sub-chart line?
SI Sub-chart is part of the bundle, but it is a separate add-on for the CVD indication on the bottom chart. Stops & Icebergs On-Chart is only the individual stops and icebergs visualisation on the main chart.
Why do I see different Stops & Icebergs values between different PCs?
This could be due to one of the following reasons:
Data Aggregation - It's the performance optimization feature. It allows Bookmap to operate faster, avoiding freezes and delays in data processing, but may affect indicators that rely on data microstructure accuracy. SI On-Chart and SI Sub-Chart are examples of those indicators. Read more here. Aggregation can be applied differently on different PCs, so detection will be different too.
Resets - There is always some difference between event timestamps on different PCs, +/- 20ms. It's enough to have different detections, on one PC a reset may be applied before a reset on another.
Different Stops & Icebergs add-on versions - We improved the SI On-Chart and SI Sub-Chart multiple times, improved the detections accuracy and the add-on performance. The detections may be different because of this.
Why do I see different values between SI On-Chart and SI Sub-Chart?
First, make sure you use the SI On-Chart and SI Sub-Chart latest version.
Also, note that the volume calculation logic is different in Sub-Chart and On-Chart Icebergs Indicators. For a more reliable comparison, configure indicators in the same way:
- Disable filtering for SI Sub-Chart and set the ‘Accumulate as’ parameter to SUM.
- Set threshold for SI On-Chart to 0 and select individual icebergs events only.
- Now it is time to zoom in and compare the volumes. Note that the engine works differently, and SI Sub-Chart does not include some detection events.
Why doesn’t it include the CVD sub-chart line? I liked being able to read the context of the history.
You should use the Stops & Icebergs Sub-Chart Indicator for the CVD indication on the bottom chart. Icebergs Indicator is only an Icebergs visualization on the main chart.
Why don't I see any icebergs on a specific instrument on CME?
CME does not allow using native iceberg orders on some instruments.
List of known CME instruments without icebergs:
Why do I get a warning message about skipped alerts?
You may see the following warning message:
If alerts are configured with a low threshold or the market is currently volatile, many stops and icebergs will be triggered over a short period of time. This will result in some skipped alerts as the notification system can't keep up with market activity.
To fix this you can increase the alerts threshold. This will result in fewer notifications.
Note: This message is just to let you know that some alerts were skipped and doesn't require immediate action.