Exemplo n.º 1
0
        /// <summary>
        /// 开盘时间
        /// </summary>
        /// <param name="time"></param>
        /// <param name="contractId"></param>
        /// <returns></returns>
        public static DateTime GetTradingBeginTimeByContractId(DateTime time, long contractId)
        {
            var contract = AllContractDao.Get(contractId);

            if (!AllContractDao.IsIndustryIndexContract(contractId))
            {
                return(GetTradingBeginTime(time, contract.VarietyID));
            }

            var  indexOpenTime = IndexOpenTimeDao.GetOpenTime(contractId);
            bool isHasNight    = IndexOpenTimeDao.IsNight(contractId);

            return(GetBeginTime(time, indexOpenTime, isHasNight));
        }
Exemplo n.º 2
0
        public static bool IsNight(long contractId)
        {
            if (!AllContractDao.IsIndustryIndexContract(contractId))
            {
                var variety = VarietyDao.Get(contractId);
                if (variety == null)
                {
                    return(false);
                }

                return(variety.IsNight());
            }

            return(IndexOpenTimeDao.IsNight(contractId));
        }
Exemplo n.º 3
0
        /// <summary>
        ///  根据合约ID 判断是否交易时间
        /// </summary>
        /// <param name="time"></param>
        /// <param name="contractId"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public static bool IsTradingTimeByContractId(DateTime time, long contractId, bool defaultValue = true)
        {
            var contract = AllContractDao.Get(contractId);

            if (contract == null)
            {
                return(defaultValue);
            }
            if (!AllContractDao.IsIndustryIndexContract(contractId))
            {
                return(IsTradingTime(time, contract.VarietyID, defaultValue));
            }
            var tradeTimeRange = IndexOpenTimeDao.GetTimeRanges(contractId);

            return(IsTradingTime(time, tradeTimeRange, defaultValue));
        }
Exemplo n.º 4
0
        /// <summary>
        /// 根据合约和当前时间 判断下个间隔时间
        /// </summary>
        /// <param name="time">当前时间</param>
        /// <param name="contractId">合约ID</param>
        /// <param name="minute">间隔分钟</param>
        /// <returns></returns>
        public static DateTime GetNextTime(DateTime time, long contractId, int minute)
        {
            var contract = AllContractDao.Get(contractId);

            if (contract == null)
            {
                return(DateTime.MinValue);
            }
            if (!AllContractDao.IsIndustryIndexContract(contractId))
            {
                return(VarietyDao.GetNextTime(time, contract.VarietyID, minute));
            }
            var tradeTimeRange = IndexOpenTimeDao.GetTimeRanges(contractId);

            return(VarietyDao.GetNextTimeByContractId(time, tradeTimeRange, contractId, minute));
        }