Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        /// <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);
        }