In SampleOnOrderUpdate, Order is assigned like:
OnOrderUpdate
if (order.Name == "MyEntry")
{
entryOrder = order;
if (order.OrderState == OrderState.Cancelled && order.Filled == 0)
entryOrder = null;
}
OnExecutionUpdate
if (entryOrder != null && entryOrder == execution.Order)
{
if (execution.Order.OrderState == OrderState.Filled || execution.Order.OrderState == OrderState.PartFilled || (execution.Order.OrderState == OrderState.Cancelled && execution.Order.Filled > 0))
{
if (execution.Order.OrderState != OrderState.PartFilled)
entryOrder = null;
}
}
if (order.Name == "myEntryOrder" && orderState != OrderState.Filled)
entryOrder = order;
if (entryOrder != null && entryOrder == order)
{
if (order.OrderState == OrderState.Filled)
entryOrder = null;
}

Comment