Пример #1
0
        public override void Init(TextCommon t)
        {
            base.Init(t);

            TextQuote q = t as TextQuote;
            QuoteID = q.QuoteID;
            StayTime = q.StayTime;
        }
Пример #2
0
        public override void Add(SingleOrder order, TextCommon t)
        {
            if (Index >= GetLegNum())
                return;

            Leg[Index] = new MultiOrderLeg { Order = order, OpenClose = t.OpenClose };
            ++Index;
        }
        public override void OnStrategyStart()
        {
            base.OnStrategyStart();

            TargetOrderBook = new OrderBook_BothSide_Size();
            TargetOrderBook.Sell.PriceHelper = base.PriceHelper;
            TargetOrderBook.Buy.PriceHelper = base.PriceHelper;
            TextParameterAsk = new TextCommon() { OpenClose = EnumOpenClose.OPEN };
            TextParameterBid = new TextCommon() { OpenClose = EnumOpenClose.OPEN };
        }
Пример #4
0
 public override void Add(SingleOrder order, TextCommon t)
 {
     if (order.Side == Side.Buy)
     {
         Buy = new MultiOrderLeg() { Order = order, OpenClose = t.OpenClose };
     }
     else
     {
         Sell = new MultiOrderLeg() { Order = order, OpenClose = t.OpenClose };
     }
 }
        private void Send(NewOrderSingle order)
        {
            if (!_bTdConnected)
            {
                EmitError(-1, -1, "交易服务器没有连接,无法报单");
                tdlog.Error("交易服务器没有连接,无法报单");
                return;
            }

            // 表示特殊的Json格式
            if (order.Text.StartsWith("{") && order.Text.EndsWith("}"))
            {
                TextParameter parameter = JsonConvert.DeserializeObject<TextParameter>(order.Text);
                switch (parameter.Type)
                {
                    case EnumGroupType.COMMON:
                        {
                            TextCommon t = JsonConvert.DeserializeObject<TextCommon>(order.Text);
                            CommonOrderItem item = CommonOrderCombiner.Add(order as SingleOrder, t);
                            Send(item);
                        }
                        break;
                    case EnumGroupType.QUOTE:
                        {
                            TextQuote t = JsonConvert.DeserializeObject<TextQuote>(order.Text);
                            QuoteOrderItem item = QuoteOrderCombiner.Add(order as SingleOrder, t);
                        }
                        break;
                    case EnumGroupType.SP:
                        {
                            TextSP t = JsonConvert.DeserializeObject<TextSP>(order.Text);
                            SPOrderItem item = SPOrderCombiner.Add(order as SingleOrder, t);
                            Send(item);
                        }
                        break;
                    case EnumGroupType.SPC:
                        {
                            TextSPC t = JsonConvert.DeserializeObject<TextSPC>(order.Text);
                            SPCOrderItem item = SPCOrderCombiner.Add(order as SingleOrder, t);
                            Send(item);
                        }
                        break;
                    case EnumGroupType.SPD:
                        {
                            TextSPD t = JsonConvert.DeserializeObject<TextSPD>(order.Text);
                            SPDOrderItem item = SPDOrderCombiner.Add(order as SingleOrder, t);
                            Send(item);
                        }
                        break;
                }
            }
            else
            {
                // 无法识别的格式,直接发送报单,只开仓
                TextCommon t = new TextCommon()
                {
                    Type = EnumGroupType.COMMON,
                    OpenClose = EnumOpenClose.OPEN
                };
                CommonOrderItem item = CommonOrderCombiner.Add(order as SingleOrder, t);
                Send(item);
            }
        }
Пример #6
0
 public override void Add(SingleOrder order, TextCommon t)
 {
     Leg = new MultiOrderLeg { Order = order, OpenClose = t.OpenClose };
 }
Пример #7
0
 public override void Init(TextCommon t)
 {
     base.Init(t);
     Leg = null;
 }
Пример #8
0
        public override void OnStrategyStart()
        {
            TimeHelper = new TimeHelper(Instrument.Symbol);
            PriceHelper = new PriceHelper(Instrument.TickSize);
            TextParameter = new TextCommon() { OpenClose = EnumOpenClose.OPEN };
            CloseTodayHelper = new CloseTodayHelper(EnumExchangeID.SHFE);

            DualPosition = new DualPosition(Instrument.Symbol);
            DualPosition.Sell.PriceHelper = PriceHelper;
            DualPosition.Buy.PriceHelper = PriceHelper;
            DualPosition.CloseTodayHelper = CloseTodayHelper;

            TargetPosition = 0;
            DualPosition.Long.Qty = 0;
            DualPosition.Long.QtyToday = 0;
            DualPosition.Short.Qty = 0;
            DualPosition.Short.QtyToday = 0;
        }
Пример #9
0
 public override void Init(TextCommon t)
 {
     base.Init(t);
     Index = 0;
 }
Пример #10
0
 public virtual void Add(SingleOrder order, TextCommon t)
 {
 }
Пример #11
0
 public virtual void Init(TextCommon t)
 {
     TextRequest = t;
 }