public static EnumOpenClose CheckOpenClose(Order order) { string text = order.Text; EnumOpenClose OpenClose = EnumOpenClose.OPEN; if (text.StartsWith("{") && text.EndsWith("}")) { TextParameter parameter = JsonConvert.DeserializeObject <TextParameter>(text); switch (parameter.Type) { case EnumGroupType.COMMON: { TextCommon t = JsonConvert.DeserializeObject <TextCommon>(text); OpenClose = t.OpenClose; } break; case EnumGroupType.QUOTE: { TextQuote t = JsonConvert.DeserializeObject <TextQuote>(text); OpenClose = t.OpenClose; } break; } } return(OpenClose); }
public override void Init(TextCommon t) { base.Init(t); TextQuote q = t as TextQuote; QuoteID = q.QuoteID; StayTime = q.StayTime; }
public QuoteOrderItem Add(SingleOrder order, TextQuote t) { if (item == null || item.IsDone()) { item = new QuoteOrderItem(t); } item.Add(order, t); if (item.IsDone()) { return(item); } return(null); }
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); } }