private void OnRtnTick(object sender, TickEventArgs e)//将行情分发给各个合约 { AContract contract = Contracts.Find( delegate(AContract c) { return(string.Compare(c.Instrument.InstrumentID, e.Tick.InstrumentID) == 0); } ); if (contract != null) { contract.OnRtnTick(sender, e); } }
private void OnRtnCancel(object sender, OrderArgs e)//将撤单回报分发给各个合约 { AContract contract = Contracts.Find( delegate(AContract c) { return(string.Compare(c.Instrument.InstrumentID, e.Value.InstrumentID) == 0); } ); if (contract != null) { contract.OnRtnCancel(sender, e); } }
/// <summary> /// 添加策略需要的合约 /// </summary> /// <param name="instrumentID"></param> public void AddContract(string instrumentID) { AContract contract = new AContract(this.t); try { contract.Instrument = t.DicInstrumentField[instrumentID]; } catch (Exception e) { Console.WriteLine(e.ToString()); } Contracts.Add(contract); SubscribeMarketData(instrumentID); }