Пример #1
0
        // constructor
        public TwsRtdServerMktDataRequest(string mktDataRequestStr, int twsReqId, TwsRtdServerConnection twsRtdServerConnection)
        {
            try
            {
                SetError(TwsRtdServerErrors.NO_ERROR);

                m_twsRtdServerConnection = twsRtdServerConnection;
                m_mktDataRequestStr      = mktDataRequestStr;
                m_twsReqId = twsReqId;

                // create empty contract
                Contract contract = new Contract();

                // parse string into contract
                contract = ExtractContract(m_mktDataRequestStr);

                if (GetErrorCode() != TwsRtdServerErrors.NO_ERROR)
                {
                    return;
                }

                // extract mkt data options
                List <TagValue> mktDataOptions = ExtractOptions(m_mktDataRequestStr);

                if (GetErrorCode() != TwsRtdServerErrors.NO_ERROR)
                {
                    return;
                }

                // extract generic ticks
                string genericTicks = ExtractGenericTicks(m_mktDataRequestStr, contract.SecType);

                if (GetErrorCode() != TwsRtdServerErrors.NO_ERROR)
                {
                    return;
                }

                // request market data
                EClientSocket socket = twsRtdServerConnection.Socket();
                if (socket == null)
                {
                    SetError(TwsRtdServerErrors.SOCKET_IS_NULL);
                    return;
                }

                twsRtdServerConnection.mktDataRequests().Add(m_twsReqId, this);
                twsRtdServerConnection.mktDataRequestsStrToIdMapping().Add(mktDataRequestStr, m_twsReqId);

                socket.reqMktData(m_twsReqId, contract, genericTicks, false, false, mktDataOptions);
            }
            catch
            {
                SetError(TwsRtdServerErrors.REQUEST_MKT_DATA_ERROR);
            }
        }
Пример #2
0
 public void TwsRtdServerMktDataRequestCancel(int reqId, TwsRtdServerConnection connection)
 {
     // cancel market data
     connection.Socket().cancelMktData(reqId);
 }