Пример #1
0
        private void ProcessContractDataRequest()
        {
            try {
                // send req mkt data msg
                var reqVersion = _enc.DecodeInt();

                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 >= 31)
                {
                    contract.IncludeExpired = _enc.DecodeBool();
                }
                OnContractDataRequest(contract);
            }
            catch (Exception e) {
                OnError(TWSErrors.FAIL_SEND_REQCONTRACT);
                OnError(e.Message);
                Disconnect();
            }
        }