}// Start() // // // // ********************************************************* // **** Enqueue() **** // ********************************************************* /// <summary> /// Dropping snapshots of the fillHub or fills. /// </summary> public void Enqueue(IStringifiable iStringfiableObject) { string s = Stringifiable.Stringify(iStringfiableObject, m_StringifyOverrideTable); m_ArcBookWriter.RequestEnqueue(s); m_LocalTimeLast = m_FillHub.Log.GetTime(); // save time stamp of this latest entry. }
private void PriceListener_ProcessMarketEvents(ref List <EventArgs> eventArgs) { DateTime now = Log.GetTime(); foreach (EventArgs eventArg in eventArgs) { if (eventArg is Misty.Lib.BookHubs.MarketUpdateEventArgs) { Misty.Lib.BookHubs.MarketUpdateEventArgs e = (Misty.Lib.BookHubs.MarketUpdateEventArgs)eventArg; Market mkt; if (m_Markets.TryGetValue(e.Name, out mkt)) { mkt.PQ[e.Side].Price = e.Price; mkt.PQ[e.Side].Qty = e.Qty; mkt.IsChanged = true; } } else if (eventArg is Misty.Lib.BookHubs.MarketStatusEventArgs) { Misty.Lib.BookHubs.MarketStatusEventArgs e = (Misty.Lib.BookHubs.MarketStatusEventArgs)eventArg; string s = string.Format("{0},{1},Status,{2}", now.ToString(Strings.FormatDateTimeZone), e.InstrumentName, e.Status); Console.WriteLine(s); m_Writer.RequestEnqueue(s); } } // foreach (Market mkt in m_Markets.Values) { if (mkt.IsChanged) { Console.WriteLine(mkt.ToString(now)); m_Writer.RequestEnqueue(mkt.ToString(now)); // REset trades to zero mkt.PQ[2].Qty = 0; mkt.IsChanged = false; } } }// PriceListener_ProcessMarketEvents
} // TryPeriodicBookDrop() // // ************************************************************* // **** Drop Raw Fill() **** // ************************************************************* public void DropFillEvent(FillEventArgs fillEventArg) { m_DropFills.RequestEnqueue(Misty.Lib.IO.Xml.Stringifiable.Stringify(fillEventArg)); }
/// <summary> /// Dropping for all Raw fill events. /// </summary> public void EnqueueArchiveFill(FillEventArgs fillEventArg) { m_FillWriter.RequestEnqueue(Stringifiable.Stringify(fillEventArg, m_StringifyOverrideTable)); }
// ********************************************************* // **** Enqueue() **** // ********************************************************* public void Enqueue(IStringifiable iStringfiableObject) { m_DropWriter.RequestEnqueue(Stringifiable.Stringify(iStringfiableObject)); m_LocalTimeLast = m_FillHub.Log.GetTime(); // save time stamp of this latest entry. }