public override void EmitAsk(Ask ask) { // Emit ask to BuySide strategy. base.EmitAsk(ask); System.Collections.Generic.LinkedListNode <OrderProcessor> processorNode = processors.First; // Send ask to order processors. while (processorNode != null) { OrderProcessor processor = processorNode.Value; processor.OnAsk(ask); processorNode = processorNode.Next; } }
public override void EmitTrade(Trade trade) { // Emit trade to BuySide strategy. base.EmitTrade(trade); System.Collections.Generic.LinkedListNode <OrderProcessor> processorNode = processors.First; // Send trade to order processors. while (processorNode != null) { OrderProcessor processor = processorNode.Value; processor.OnTrade(trade); processorNode = processorNode.Next; } }
public override void EmitBid(Bid bid) { // Emit bid to BuySide strategy. base.EmitBid(bid); System.Collections.Generic.LinkedListNode <OrderProcessor> processorNode = processors.First; // Send bid to order processors. while (processorNode != null) { OrderProcessor processor = processorNode.Value; processor.OnBid(bid); processorNode = processorNode.Next; } }
protected override void OnExecutionReport(ExecutionReport report) { System.Collections.Generic.LinkedListNode <OrderProcessor> processorNode = processors.First; while (processorNode != null) { OrderProcessor processor = processorNode.Value; processor.OnExecutionReport(report); if (processor.IsDone) { processors.Remove(processor); } processorNode = processorNode.Next; } }