public static TradeField GetTrade(CtpTrade data) { if (data == null) { return(null); } var trade = new TradeField(); trade.ID = data.OrderRef; trade.ClientID = data.OrderSysID; trade.InstrumentID = data.InstrumentID; trade.ExchangeID = data.ExchangeID; trade.AccountID = data.InvestorID; trade.TradeID = data.TradeID; trade.Side = GetOrderSide(data.Direction); trade.Qty = data.Volume; trade.Price = data.Price; trade.OpenClose = GetOpenClose(data.OffsetFlag); trade.HedgeFlag = GetHedgeFlag(data.HedgeFlag); trade.Commission = 0;//TODO收续费以后要计算出来 trade.Time = GetTime(data.TradeTime); trade.Date = GetDate(data.TradeDate); trade.ReserveChar64 = CtpClientId; return(trade); }
private void ProcessRtnTrade(CtpTrade data) { var sysId = $"{data.ExchangeID}:{data.InstrumentID}:{data.OrderSysID}"; if (_orders.TryGetBySysId(sysId, out var order)) { var trade = CtpConvert.GetTrade(data); trade.ID = order.ID; _client.Spi.ProcessRtnTrade(trade); } }
private void ProcessRtnTrade(CtpTrade data) { if (_orders.TryGetBySysId(data.OrderSysID, out var order)) { var trade = CtpConvert.GetTrade(data); trade.ID = order.ID; _client.Spi.ProcessRtnTrade(trade); } else { _tradePendings.Add(data); } }
private void ProcessRtnTrade(CtpTrade data) { _client.spi.ProcessLog(new LogField(LogLevel.Trace, "RtnTrade")); if (_orders.TryGetBySysId(data.OrderSysID, out var order)) { var trade = CtpConvert.GetTrade(data); trade.ID = order.ID; _client.spi.ProcessRtnTrade(trade); } else { _tradePending.Add(data); } }
public TestTrade() { _t = new CtpTrade(); }