void zf_OrderEvent(object sender, ZenFire.OrderEventArgs e) { ZenFire.IOrder order = e.Order; String price, trigger; try { price = order.Price.ToString(); } catch { price = "N/A"; } try { trigger = order.TriggerPrice.ToString(); } catch { trigger = "N/A"; } int reas = (int)order.Reason; string[] row = { Enum.GetName(e.Type.GetType(), e.Type), order.ID.ToString(), order.Account.ToString(), order.Product.ToString(), Enum.GetName(typeof(ZenFire.Order.Type), order.Type), Enum.GetName(typeof(ZenFire.Order.Status), order.Status), // Enum.GetName(typeof(ZenFire.Order.Reason), order.Reason), reas.ToString() + " -" + Enum.GetName(typeof(ZenFire.Order.Reason), order.Reason), order.Quantity.ToString(), order.QuantityOpen.ToString(), order.QuantityFilled.ToString(), order.QuantityCanceled.ToString(), order.Price.ToString(), order.TriggerPrice.ToString(), order.FillPrice.ToString(), order.ZenTag, order.Tag, }; ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerMethod), (object)row); }
void zf_OpenOrdersUpdate(object sender, ZenFire.OrderEventArgs e) { ZenFire.IOrder order = e.Order; string[] row = { order.Account.ToString(), /*order.Number,*/ order.Status.ToString(),order.Product.Symbol.ToString(), /*order.Side,*/ order.Type.ToString(), order.Quantity.ToString(), order.QuantityFilled.ToString(), /*order.LimitPrice,*/ /*order.StopPrice,*/ order.FillPrice.ToString(),/*order.Ordertime*/}; ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerMethod), (object)row); }