Example #1
0
 /// <summary>
 /// 初始化接口通知
 /// </summary>
 /// <param name="vTrade" Desc="交易接口对象"></param>
 /// <param name="bLoginOK" Desc="是否登录成功标记"></param>
 public void InitEvent(object vTrade, bool bLoginOK)
 {
     /// 获得接口对象
     if (null == m_spiTrade)
     {
         m_spiTrade = (IStockTrade)vTrade;
         MessageBox.Show("初始化成功!");
     }
 }
Example #2
0
            /// <summary>
            /// 登录服务器成功通知
            /// </summary>
            /// <param name="vTrade" Desc="交易接口对象"></param>
            /// <param name="nTradeID" Desc="交易ID标识"></param>
            /// <param name="strHost" Desc="当前登录的交易服务器主机"></param>
            /// <param name="nPort" Desc="当前登录的交易服务器端口"></param>
            /// <param name="bLoginOK" Desc="是否登录成功标记"></param>
            public void LoginEvent(object vTrade, ushort nTradeID, string strHost, ushort nPort, bool bLoginOK)
            {
                if (null == m_spiTrade)
                {
                    m_spiTrade = (IStockTrade)vTrade;
                }
                if (bLoginOK)
                {
                    /// 异步事件处理中,请尽量不要有阻塞操作,避免影响底层流程正常处理。弹出消息框仅限于调试程序
                    if (1 == m_nTradeIndex)
                    {
                        MessageBox.Show("异步连接1成功!下面开始获取股东代码信息!");
                    }
                    else if (2 == m_nTradeIndex)
                    {
                        MessageBox.Show("异步连接2成功!下面开始获取股东代码信息!");
                    }

                    /// 可以检测连接状态有效性
                    bool bValid = m_spiTrade.ConnectValid;
                    /// 获取股东信息对象
                    ITradeRecord ShareHolder = m_spiTrade.ShareHolderCode;
                    if (null != ShareHolder)
                    {
                        MessageBox.Show(ShareHolder.GetJsonString());
                        ShareHolder = null;
                    }

                    MessageBox.Show("下面开始演示批量获取股票实时5档行情");
                    /// 异步获取多只股票的5档实时行情
                    m_spiTrade.GetStockQuotes(m_spiTrade.CurTradeID, "000001;000002;600001", EZMRunPriType.RUNPRITYPE_ABOVE_NORMAL);
                }
                else
                {
                    /// 弹出登录错误提示
                    MessageBox.Show(m_spiTrade.LastErrDesc);
                }
            }
Example #3
0
        private static bool VerifyStockTrade(IStockTrade stockTrade)
        {
            if (stockTrade == null)
            {
                return(false);
            }

            if (stockTrade.FullVolume <= 0)
            {
                return(false);
            }

            if (ReconciliationLib.Utilities.IsExerciseAssignment(stockTrade.TradeMedium))
            {
                return(false);
            }

            // Credit Suisse aggregates trades - they won't match
            //         if (stockTrade.ContraName == creditSuisseContra)
            //              return false;

            return(true);
        }
Example #4
0
 public OrderCommand(IStockTrade receiver)
 {
     this.receiver = receiver;
 }
Example #5
0
 public void ReleaseTrade()
 {
     m_spiTrade = null;
 }
Example #6
0
 public OrderCommand(IStockTrade receiver)
 {
     this.receiver = receiver;
 }
 public BuyOrderCommand(IStockTrade receiver)
     : base(receiver)
 {
 }
Example #8
0
 public SellOrderCommand(IStockTrade receiver)
     : base(receiver)
 {
 }