Table of Contents

Class MboIcebergRecord

Namespace
ATAS.DataFeedsCore
Assembly
ATAS.DataFeedsCore.dll

Current iceberg state for one exchange order.

Added in ATAS 8.0.15.

public sealed class MboIcebergRecord
Inheritance
object
MboIcebergRecord
Extension Methods

Constructors

MboIcebergRecord()

public MboIcebergRecord()

Properties

AggressorFilled

Gets or sets the total volume the order filled as the aggressor.

public decimal AggressorFilled { get; set; }

Property Value

decimal

AggressorTrades

Gets or sets the fills where the order was the aggressor, in arrival order; capped like Events.

public List<MboIcebergTrade> AggressorTrades { get; set; }

Property Value

List<MboIcebergTrade>

CachedSegments

Gets the price segments of the order computed by BuildSegments(); filled by Prepare().

public (long StartMs, long EndMs, decimal Price)[] CachedSegments { get; }

Property Value

(long StartMs, long EndMs, decimal Price)[]

DeleteConfirmed

Gets or sets a value indicating whether the order was deleted within 1 ms after a hidden-volume detection at its price.

public bool DeleteConfirmed { get; set; }

Property Value

bool

DetectMs

Gets the detection times of Detects; filled by Prepare().

public HashSet<long> DetectMs { get; }

Property Value

HashSet<long>

Detects

Gets or sets the hidden volume detected per detection time; the key is the time in milliseconds since the Unix epoch (UTC).

public Dictionary<long, decimal> Detects { get; set; }

Property Value

Dictionary<long, decimal>

Events

Gets or sets the order updates in arrival order. Capped: when the list is full the oldest quarter is dropped, while the running totals stay exact.

public List<MboIcebergOrderEvent> Events { get; set; }

Property Value

List<MboIcebergOrderEvent>

Filled

Gets or sets the total volume filled while the order was resting (passive fills).

public decimal Filled { get; set; }

Property Value

decimal

FirstMs

Gets or sets the time the order was first seen, in milliseconds since the Unix epoch (UTC).

public long FirstMs { get; set; }

Property Value

long

Hidden

Gets or sets the total hidden volume detected: fills that exceeded the visible volume consumed in the same update window.

public decimal Hidden { get; set; }

Property Value

decimal

HiddenEvidence

Gets or sets the evidence of each hidden-volume detection; capped like Events.

public List<MboHiddenDetectEvidence> HiddenEvidence { get; set; }

Property Value

List<MboHiddenDetectEvidence>

IsMarketable

Gets or sets a value indicating whether the order has also traded as the aggressor (AggressorFilled above 0).

public bool IsMarketable { get; set; }

Property Value

bool

LastMs

Gets or sets the time of the last update or fill of the order, in milliseconds since the Unix epoch (UTC).

public long LastMs { get; set; }

Property Value

long

MaxVisible

Gets or sets the largest visible volume the order has shown.

public decimal MaxVisible { get; set; }

Property Value

decimal

MultiPrice

Gets or sets a value indicating whether the order has been seen at more than one price.

public bool MultiPrice { get; set; }

Property Value

bool

NativeRefreshConfirmed

Gets or sets a value indicating whether a hidden-volume detection was followed within 50 ms by a same-price priority refresh right after a passive fill, which confirms an exchange-native iceberg.

public bool NativeRefreshConfirmed { get; set; }

Property Value

bool

OrderId

Gets or sets the exchange order id of the iceberg order.

public long OrderId { get; set; }

Property Value

long

Price

Gets or sets the first price the order was seen at; see MultiPrice and CachedSegments for later price changes.

public decimal Price { get; set; }

Property Value

decimal

PriorityRefreshCount

Gets or sets the number of queue priority changes without a price change (refreshes of the visible part).

public int PriorityRefreshCount { get; set; }

Property Value

int

RefreshEvidence

Gets or sets the evidence of each queue priority change of the order; capped like Events.

public List<MboPriorityRefreshEvidence> RefreshEvidence { get; set; }

Property Value

List<MboPriorityRefreshEvidence>

Side

Gets or sets the book side of the order.

public MboOrderSide Side { get; set; }

Property Value

MboOrderSide

Status

Gets or sets the lifecycle state of the iceberg.

public MboIcebergStatus Status { get; set; }

Property Value

MboIcebergStatus

TotalVolume

Gets the total traded volume of the order: Filled plus AggressorFilled.

public decimal TotalVolume { get; }

Property Value

decimal

Trades

Gets or sets the passive fills of the order in arrival order; capped like Events.

public List<MboIcebergTrade> Trades { get; set; }

Property Value

List<MboIcebergTrade>

Methods

BuildSegments()

Splits the life of the order into periods of constant price, from Events; the last period ends at LastMs or the last event, whichever is later.

public (long StartMs, long EndMs, decimal Price)[] BuildSegments()

Returns

(long StartMs, long EndMs, decimal Price)[]

The segments in time order; a single segment from FirstMs to LastMs at Price when Events is empty.

Prepare()

Refreshes DetectMs and CachedSegments from the current data. Call after changing Detects, Events or the time range; records returned by the analytics are already prepared.

public void Prepare()