void QuoteNotify_OnRspQryContractEvent(uint sessionId, int errorCode, char isLast, TapAPIQuoteContractInfo info) { if (errorCode == 0) { if (isLast != 'Y') { ListContract.Add(info); } else { var contract = new TapAPIContract(); contract.Commodity.ExchangeNo = "CFFEX"; contract.Commodity.CommodityType = 'F'; contract.Commodity.CommodityNo = "IF"; contract.ContractNo1 = "1903"; contract.CallOrPutFlag1 = 'N'; contract.CallOrPutFlag2 = 'N'; m_api.SubscribeQuote(out m_sessionID, contract); } } }
void QuoteNotify_OnRspQryContractEvent(uint sessionId, int errorCode, char isLast, TapAPIQuoteContractInfo info) { if (errorCode == 0) { // 订阅 if (info != null) { lock (m_sessionID_Lock) { if (!isSubscribed && info.Contract != null && info.Contract.Commodity != null && info.Contract.Commodity.CommodityNo == "HSI" && info.Contract?.ContractNo1 == "1911") { var sRes = m_api.SubscribeQuote(out m_sessionID, info.Contract); isSubscribed = true; if (sRes != 0) { Console.WriteLine($"QuoteNotify_OnRspQryContractEvent {info.Contract.ContractNo1} SubscribeQuote result:{sRes}"); } } } } if (isLast != 'Y') { ListContract.Add(info); } else { //var contract =new TapAPIContract(); //contract.Commodity.ExchangeNo = "HKEX"; //contract.Commodity.CommodityType = 'F'; //contract.Commodity.CommodityNo = "HSI"; //contract.ContractNo1 = "2009W3"; //contract.CallOrPutFlag1 = 'N'; //contract.CallOrPutFlag2 = 'N'; //m_api.SubscribeQuote(out m_sessionID, contract); } } }
public bool SubQuote(TapQuoteAPI.TapAPIContract contract) { int iRet = m_api.SubscribeQuote(out m_sessionID, contract); return(0 == iRet); }