public static Order SetSide(this Order order, XAPI.OrderSide side)
 {
     order.GetDictionary()[OrderTagType.Side] = side;
     return order;
 }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
 public void ReqQuery(XAPI.QueryType type)
 {
     api.ReqQuery(type, ref _Query);
 }