コード例 #1
0
 public void onTradeEvent(long orderID, OkexTradeQueryResultType result, OkexFutureOrderBriefInfo info)
 {
     if (tradeEventHandler != null)
     {
         tradeEventHandler(orderID, result, info);
     }
 }
コード例 #2
0
ファイル: FutureTradeMgr.cs プロジェクト: hmn21/OkexTrader
        private static OkexTradeQueryResultType getResultType(OkexOrderStatusType status)
        {
            OkexTradeQueryResultType ret = OkexTradeQueryResultType.TQR_Unfinished;

            if (status == OkexOrderStatusType.OS_AllTraded ||
                status == OkexOrderStatusType.OS_Canceled)
            {
                return(OkexTradeQueryResultType.TQR_Finished);
            }

            return(ret);
        }
コード例 #3
0
ファイル: FutureTradeMgr.cs プロジェクト: hmn21/OkexTrader
        private void queryTrade(object sender, ElapsedEventArgs e)
        {
            lock (tracerLock)
            {
                if (!valid)
                {
                    return;
                }

                if (orderID == 0)
                {
                    entity.onTradeEvent(orderID, OkexTradeQueryResultType.TQR_Timeout, null);
                    return;
                }

                OkexFutureOrderBriefInfo info;
                if (resultTimer != null)
                {
                    resultTimer.Start();
                }
                bool ret = OkexFutureTrader.Instance.getOrderInfoByID(instrument, contract, orderID, out info);
                if (ret)
                {
                    if (resultTimer != null)
                    {
                        resultTimer.Stop();
                    }
                    OkexTradeQueryResultType tqr = getResultType(info.status);
                    entity.onTradeEvent(orderID, tqr, info);
                    if (tqr == OkexTradeQueryResultType.TQR_Finished)
                    {
                        stop();
                        FutureTradeMgr.Instance.removeTracer(localID);
                    }
                }
            }
        }