public static Order SetSide(this Order order, XAPI.OrderSide side) { order.GetDictionary()[OrderTagType.Side] = side; return order; }
private void OnConnectionStatus_callback(object sender, XAPI.ConnectionStatus status, ref RspUserLoginField userLogin, int size1) { RspUserLoginClass cls = null; if (size1 > 0) { cls = new RspUserLoginClass(); RspUserLoginField field = userLogin; cls.TradingDay = field.TradingDay; cls.LoginTime = field.LoginTime; cls.SessionID = field.SessionID; cls.UserID = field.UserID; cls.AccountID = field.AccountID; cls.InvestorName = field.InvestorName(); cls.XErrorID = field.XErrorID; cls.RawErrorID = field.RawErrorID; cls.Text = field.Text(); } if (null == OnConnectionStatus) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnConnectionStatus; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnConnectionStatus); qd.Sender = this; qd.Data1 = status; qd.Data2 = Enum<XAPI.ConnectionStatus>.ToString(status); qd.Data3 = cls; qd.Data4 = size1; MessageQueue.Enqueue(qd); } else { OnConnectionStatus(this, (int)status, Enum<XAPI.ConnectionStatus>.ToString(status), ref cls, size1); } }
private void OnRtnDepthMarketData_callback(object sender, ref XAPI.DepthMarketDataNClass marketData) { DepthMarketDataNClass cls = new DepthMarketDataNClass(); XAPI.DepthMarketDataNClass field = marketData; cls.TradingDay = field.TradingDay; cls.ActionDay = field.ActionDay; cls.UpdateTime = field.UpdateTime; cls.UpdateMillisec = field.UpdateMillisec; cls.Exchange = (int)field.Exchange; cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.LastPrice = field.LastPrice; cls.Volume = field.Volume; cls.Turnover = field.Turnover; cls.OpenInterest = field.OpenInterest; cls.AveragePrice = field.AveragePrice; cls.OpenPrice = field.OpenPrice; cls.HighestPrice = field.HighestPrice; cls.LowestPrice = field.LowestPrice; cls.ClosePrice = field.ClosePrice; cls.SettlementPrice = field.SettlementPrice; cls.UpperLimitPrice = field.UpperLimitPrice; cls.LowerLimitPrice = field.LowerLimitPrice; cls.PreClosePrice = field.PreClosePrice; cls.PreSettlementPrice = field.PreSettlementPrice; cls.PreOpenInterest = field.PreOpenInterest; cls.TradingPhase = (int)field.TradingPhase; cls.TradingPhase_String = Enum<XAPI.TradingPhaseType>.ToString(field.TradingPhase); //cls.Bids = marketData.TradingDay; //cls.TradingDay = marketData.TradingDay; if (null == OnRtnDepthMarketData) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnRtnDepthMarketData; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnRtnDepthMarketData); qd.Sender = this; qd.Data1 = cls; MessageQueue.Enqueue(qd); } else { OnRtnDepthMarketData(this, ref cls); } }
public void ReqQuery(XAPI.QueryType type) { api.ReqQuery(type, ref _Query); }