Пример #1
0
        private void ProcessMarketDepthRequest()
        {
            try {
                var reqVersion = _enc.DecodeInt();
                var reqId      = _enc.DecodeInt();
                int numRows    = 0;

                var contract = new IBContract();

                contract.Symbol  = _enc.DecodeString();
                contract.SecType = _enc.DecodeSecType();
                contract.Expiry  = _enc.DecodeExpiryDate();
                contract.Strike  = _enc.DecodeDouble();
                contract.Right   = _enc.DecodeString();
                if (ServerInfo.Version >= 15)
                {
                    contract.Multiplier = _enc.DecodeInt();
                }
                contract.Exchange    = _enc.DecodeString();
                contract.Currency    = _enc.DecodeString();
                contract.LocalSymbol = _enc.DecodeString();
                if (ServerInfo.Version >= 19)
                {
                    numRows = _enc.DecodeInt();
                }
                OnMarketDepthRequest(reqId, contract, numRows);
            }
            catch (Exception e) {
                OnError(TWSErrors.FAIL_SEND_REQMKTDEPTH);
                OnError(e.Message);
                Disconnect();
            }
        }
Пример #2
0
 private static DateTime? DecodeIBExpiry(ITWSEncoding enc)
 {
   var v = enc.DecodeString();
   return String.IsNullOrEmpty(v)
            ? (DateTime?) null
            : DateTime.ParseExact(v, IB_EXPIRY_DATE_FORMAT, CultureInfo.InvariantCulture);
 }