コード例 #1
0
ファイル: CFATManager.cs プロジェクト: superMiracle/testfat
        private bool isWorkTime()
        {
            if (!CFATManager.isOnlineMode())
            {
                return(true);
            }

            if (m_configWorkTimes.Count == 0)
            {
                return(true);
            }
            int nMinsToday = DateTime.Now.Hour * 60 + DateTime.Now.Minute;

            foreach (TWorkTimeInterval workItemInterval in m_configWorkTimes)
            {
                if (nMinsToday >= workItemInterval.m_nStart && nMinsToday <= workItemInterval.m_nEnd)
                {
                    return(true);
                }
            }
            return(false);
        }
コード例 #2
0
ファイル: CFATManager.cs プロジェクト: superMiracle/testfat
        public bool OnTick()
        {
            EERROR nRet = CSiteMng.Ontick();

            if (nRet == EERROR.RATE_INVALID)
            {
                if (CFATManager.isOnlineMode())
                {
                    CFATLogger.output_proc("Invalid price!");
                }
                m_nInvalidTicks++;
                return(false);
            }
            if (nRet == EERROR.RATE_END)
            {
                CFATLogger.output_proc("Rates End!");
                m_nInvalidTicks = 10000;
                return(false); // For backtest mode, update tick data , if return false rates is end.
            }
            m_nInvalidTicks = 0;
            if (nRet != EERROR.NONE)
            {
                CFATLogger.output_proc("CSiteMng.Ontick() : Unknown Error!");
                return(false);
            }

            foreach (CLogic objLogic in m_lstLogics)
            {
                if (objLogic.OnTick() == (int)ETRADE_RET.NEWORDER)
                {
                    break;
                }
            }

            CSiteMng.process_ReqOrders();
            CSiteMng.process_ReqPosMatch();
            return(true);
        }