OrderPipeline
Order tracking and processing. Handles attach/process/cancel lifecycle.
Constructors
public OrderPipeline(IStatisticManager stats)
orderPipeline = OrderPipeline(stats)
Order tracking and processing. Handles attach/process/cancel lifecycle.
- stats
- Statistic manager.
Properties
public decimal? Commission { get; private set; }
value = orderPipeline.Commission
orderPipeline.Commission = value
Total commission from registered orders.
public IEnumerable<Order> Orders { get; }
value = orderPipeline.Orders
Get all tracked orders.
Methods
public void AddReceivedVolume(Order order, decimal volume)
orderPipeline.AddReceivedVolume(order, volume)
Track received volume for WaitAllTrades logic.
public void AttachAndProcess(Order order)
orderPipeline.AttachAndProcess(order)
Attach and immediately process an order (used for restored orders).
public bool IsTracked(Order order)
result = orderPipeline.IsTracked(order)
Check if an order is currently tracked.
public void ProcessOrder(Order order, bool isChanging)
orderPipeline.ProcessOrder(order, isChanging)
Process order state change. Detects registration (Pending->Active/Done) and fires appropriate events.
public void RemoveDoneBefore(DateTime time)
orderPipeline.RemoveDoneBefore(time)
Remove old completed orders.
- time
- Minimum order time to keep.
public void RemoveDoneWithNonPositiveVolume()
orderPipeline.RemoveDoneWithNonPositiveVolume()
Remove completed orders with non-positive volume.
public bool TryAttach(Order order)
result = orderPipeline.TryAttach(order)
Try to attach (track) an order. Returns false if already tracked.
public Order TryGetTracked(Order order)
result = orderPipeline.TryGetTracked(order)
Try to find the tracked order instance by reference or transaction id.
Events
public event Action<Order> Changed
orderPipeline.Changed += handler
Fires on order state changes (non-registration).
public event Action<Order> NewOrder
orderPipeline.NewOrder += handler
Fires when a new order is added to tracking.
public event Action<Order> Registered
orderPipeline.Registered += handler
Fires when an order transitions from Pending to Active/Done.