Esempio n. 1
0
 private void OnOrderReply(OrderProcessor.Capital.ReplyType ReplyType, OrderProcessor.Capital.Order Ord)
 {
     if (Ord.ComID != OrderPID)
     {
         return;
     }
     if (Ord.Price > MaxTick || Ord.Price < MinTick)
     {
         if (Ord.BuySell == OrderProcessor.Side.B)
         {
             cStatistics_Buy.SetValue(Core.Instance.OrderStatus(OrderPID, OrderProcessor.Side.B, MaxTick, MinTick));
         }
         else
         {
             cStatistics_Sell.SetValue(Core.Instance.OrderStatus(OrderPID, OrderProcessor.Side.S, MaxTick, MinTick));
         }
     }
     else
     {
         foreach (var cell in m_OrderCell.Keys)
         {
             //if ((double)cell.Value != Ord.Price) { continue; }
             //m_OrderCell[cell][Ord.BuySell].SetValue(Core.Instance.OrderStatus(OrderPID, Ord.BuySell, Ord.Price));
             foreach (double price in Core.Instance.Order.PriceByOrderNo(Ord.ComID, Ord.OrdNo))
             {
                 if (((double)cell.Value) == price)
                 {
                     m_OrderCell[cell][Ord.BuySell].SetValue(Core.Instance.OrderStatus(OrderPID, Ord.BuySell, price));
                 }
             }
         }
     }
     //UpdateAllStatus();
 }
Esempio n. 2
0
        /// <summary>
        /// 成交寫入資料庫
        /// </summary>
        /// <param name="o"></param>
        private void Match2SQL(OrderProcessor.Capital.Order o)
        {
            string    date   = DateTime.Now.ToString("yyyy/MM/dd");
            string    qrysql = $"SELECT COUNT(*) FROM CAPITALMATCH WHERE DATE='{date}' AND ORDNO='{ o.OrdNo}'";
            DataTable dt     = m_SQL.DoQuery(qrysql);

            if (dt.Rows[0][0].ToInt() <= 0)
            {
                string sql = $"INSERT INTO CAPITALMATCH ([DATE],ORDNO,CUSTNO,COMID,SIDE,LOTS,PRICE,TIME) VALUES ('{date}','{o.OrdNo}','{o.CustNo}','{o.ComID}',{(o.BuySell == OrderProcessor.Side.B ? 0 : 1)},{o.Qty},{o.Price},'{o.Time}')";
                try
                {
                    m_SQL.DoExecute(sql);
                }
                catch (Exception) { }
            }
        }
Esempio n. 3
0
 private void SelectedOrder(Notification n)
 {
     OrderProcessor.Capital.Order o = (OrderProcessor.Capital.Order)n.Message;
     cboAccount.Text = o.BrokerID + o.CustNo;
     txtKeyNo.Text   = o.KeyNo;
 }
Esempio n. 4
0
 private void OnMatchReply(OrderProcessor.Capital.ReplyType ReplyType, OrderProcessor.Capital.Order ord)
 {
     Utility.Log(this, "MatchToSQL", ord.ToString());
     Match2SQL(ord);
 }
Esempio n. 5
0
 private void OnErrorReply(OrderProcessor.Capital.Order Ord, string Msg)
 {
     _Error();
 }