Beispiel #1
0
 public int ReqMktDataStream(Contract p_contract, bool p_snapshot = false, MktDataSubscription.MktDataArrivedFunc p_mktDataArrivedFunc = null)
 {
     switch (p_contract.Symbol)
     {
         case "VXX":
             return 4001;
         case "SVXY":
             return 4002;
         case "RUT":
             return 4003;
         case "UWM":
             return 4004;
         case "TWM":
             return 4005;
         default:
             return 3999;
     }
 }
Beispiel #2
0
        public virtual int ReqMktDataStream(Contract p_contract, bool p_snapshot = false, MktDataSubscription.MktDataArrivedFunc p_mktDataArrivedFunc = null)
        {
            int marketDataId = GetUniqueReqMktDataID;
            Utils.Logger.Debug($"ReqMktDataStream() { marketDataId} START");
            ClientSocket.reqMarketDataType(2);    // 2: streaming data (for realtime), 1: frozen (for historical prices)
            //mainClient.reqMktData(marketDataId, contractSPY, "221", false, null);
            ClientSocket.reqMktData(marketDataId, p_contract, null, p_snapshot, null);

            var mktDataSubscr = new MktDataSubscription()
            {
                Contract = p_contract,
                MarketDataId = marketDataId,
                MarketDataArrived = p_mktDataArrivedFunc
            };
            MktDataSubscriptions.TryAdd(marketDataId, mktDataSubscr);

            // RUT index data comes once ever 5 seconds
            if (!p_snapshot)    // only if it is a continous streaming
                mktDataSubscr.CheckDataIsAliveTimer = new System.Threading.Timer(new TimerCallback(MktDataIsAliveTimer_Elapsed), mktDataSubscr, TimeSpan.FromSeconds(15), TimeSpan.FromMilliseconds(-1.0));
            return marketDataId;
        }
Beispiel #3
0
 public int ReqMktDataStream(Contract p_contract, bool p_snapshot = false, MktDataSubscription.MktDataArrivedFunc p_mktDataArrivedFunc = null)
 {
     switch (p_contract.Symbol)
     {
         case "VXX":
             return 4001;
         default:
             return 4002;
     }
 }