Example #1
0
        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);
        }
Example #2
0
        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;
                }
            }
        }
Example #3
0
		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();
			}
		}
Example #4
0
		/// <summary>
		///   發送訂閱完畢的事件通知
		/// </summary>
		/// <param name="e">QuoteComplementEvent類別</param>
		protected void OnSubscribeCompleted(QuoteComplementCompletedEvent e) {
			if (onSubscribeCompleted != null) {
				Task.Factory.StartNew(() => {
					onSubscribeCompleted(this, e);
				});
			}
		}
Example #5
0
		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();
			}
		}