static void cService_onSubscribeCompleted(object sender, Events.QuoteComplementCompletedEvent e) { //cService.onSubscribeCompleted -= cService_onSubscribeCompleted; System.Console.WriteLine("s " + e.SymbolId); IQuote cQuote = cService.Storage.GetQuote(e.SymbolId); System.Console.WriteLine(cQuote); }
static void cService_onComplementCompleted(object sender, Events.QuoteComplementCompletedEvent e) { //cService.onComplementCompleted -= cService_onComplementCompleted; System.Console.WriteLine("c " + e.SymbolId); IQuote cQuote = cService.Storage.GetQuote(e.SymbolId); System.Console.WriteLine(cQuote); System.Console.WriteLine("symbol:{0} name:{1}", cQuote.SymbolId, cQuote.SymbolName); double dVolume = 0; int iCount = cQuote.TickCount; for (int i = iCount - 1; i >= 0; i--) { ITick cTick = cQuote.GetTick(i); System.Console.WriteLine("{0} {1,8:0.00} {2,8:0.00} {3,8:0.00} {4,10} {5, 10} {6, 10}", cTick.Time.ToString("HHmmss"), cTick.Bid.Price, cTick.Ask.Price, cTick.Price, cTick.Single, cTick.Volume, cTick.Volume - dVolume); if (cTick.Volume > dVolume) { dVolume = cTick.Volume; } } }
private void QuoteService_onComplementCompleted(object sender, QuoteComplementCompletedEvent e) { AbstractQuoteService cService = sender as AbstractQuoteService; string sSymbolId = e.SymbolId; Queue<DataStream> cQueue = null; lock (__oLock) { cQueue = GetTemps(sSymbolId, true); if (cQueue != null) { __iWaitingCount -= cQueue.Count; if (__iWaitingCount == 0) { cService.onComplementCompleted -= QuoteService_onComplementCompleted; } } } if (logger.IsInfoEnabled) logger.InfoFormat("[CStudyControl.onComplementCompleted] {0}:{1} complement completed...", e.DataSource, sSymbolId); if (cQueue != null) { while (cQueue.Count > 0) { CreateInstrument(cQueue.Dequeue()); } CheckReady(); } }
/// <summary> /// 發送訂閱完畢的事件通知 /// </summary> /// <param name="e">QuoteComplementEvent類別</param> protected void OnSubscribeCompleted(QuoteComplementCompletedEvent e) { if (onSubscribeCompleted != null) { Task.Factory.StartNew(() => { onSubscribeCompleted(this, e); }); } }
private void QuoteService_onSubscribeCompleted(object sender, QuoteComplementCompletedEvent e) { AbstractQuoteService cService = QuoteManager.Manager.GetQuoteService(e.DataSource); IQuote cQuote = cService.Storage.GetQuote(e.SymbolId); if (cQuote != null) { QuoteUpdate(e.ExchangeName, e.DataSource, cQuote); //更新報價 RefreshGrid(); } }