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
-
objectMboIcebergRecord
- 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
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
Side
Gets or sets the book side of the order.
public MboOrderSide Side { get; set; }
Property Value
Status
Gets or sets the lifecycle state of the iceberg.
public MboIcebergStatus Status { get; set; }
Property Value
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()