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); }
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); }