Esempio n. 1
0
 /// <summary>
 /// Aktywacja odbioru (subskrypcji) informacji o bieżących notowaniach giełdowych.
 /// Treść tych informacji ustalamy (najlepiej wcześniej) korzystając z metod "MarketDataSubscription*".
 /// </summary>
 public void MarketDataStart()
 {
     if (mdReqId != null)
     {
         MarketDataStop();
     }
     lock (mdResults)
     {
         mdResults.Clear();
         Debug.WriteLine("\nMarketDataStart...");
         using (Socket socket = GetSyncSocket())
         {
             MarketDataRequestMsg request = new MarketDataRequestMsg();
             request.Type        = SubscriptionRequestType.StartSubscription;
             request.MarketDepth = 1;
             request.EntryTypes  = mdEntryTypes.ToArray();
             request.Instruments = mdInstruments.ToArray();
             request.Send(socket);
             MarketDataFullRefreshMsg response = new MarketDataFullRefreshMsg(socket);
             if (response.RequestId != request.Id)
             {
                 throw new FixmlException("Unexpected MktDataFull ReqID.");
             }
             mdReqId = request.Id;
         }
         Debug.WriteLine("MarketDataStart OK\n");
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Deaktywacja odbioru (subskrypcji) informacji o bieżących notowaniach giełdowych.
 /// To, co się udało do tej pory zebrać, pozostaje nadal w pamięci - dostępne przez "MarketDataResults".
 /// </summary>
 public void MarketDataStop()
 {
     if (mdReqId == null)
     {
         return;
     }
     lock (mdResults)
     {
         Debug.WriteLine("\nMarketDataStop...");
         using (Socket socket = GetSyncSocket())
         {
             MarketDataRequestMsg request = new MarketDataRequestMsg();
             request.Type = SubscriptionRequestType.CancelSubscription;
             request.Send(socket);
             MarketDataFullRefreshMsg response = new MarketDataFullRefreshMsg(socket);
             if (response.RequestId != request.Id)
             {
                 throw new FixmlException("Unexpected MktDataFull ReqID.");
             }
         }
         mdReqId = null;
         Debug.WriteLine("MarketDataStop OK\n");
     }
 }