コード例 #1
0
        }// 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.
        }
コード例 #2
0
        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
コード例 #3
0
        } // TryPeriodicBookDrop()

        //
        // *************************************************************
        // ****                   Drop Raw Fill()                   ****
        // *************************************************************
        public void DropFillEvent(FillEventArgs fillEventArg)
        {
            m_DropFills.RequestEnqueue(Misty.Lib.IO.Xml.Stringifiable.Stringify(fillEventArg));
        }
コード例 #4
0
ファイル: DropRules.cs プロジェクト: nagyist/mkbiltek.trading
 /// <summary>
 /// Dropping for all Raw fill events.
 /// </summary>
 public void EnqueueArchiveFill(FillEventArgs fillEventArg)
 {
     m_FillWriter.RequestEnqueue(Stringifiable.Stringify(fillEventArg, m_StringifyOverrideTable));
 }
コード例 #5
0
 // *********************************************************
 // ****                     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.
 }