Example #1
0
        private bool RollOrderBooks(DateTime currentTime)
        {
            if (!currentTime.IsWithinCacheRangeOf(bookRollPreviousCheckTime))
            {
                pertinentContracts = instrumentCollection.PertinentContracts(currentTime);
                ReconcileMissingContracts();
                ReconcileExpiredContracts();

                bookRollPreviousCheckTime = currentTime;

                return true;
            }

            return false;
        }
Example #2
0
        /// <summary>
        /// Returns 'true' if the InstrumentId property of the order book is pertinent, according to the collection of pertinent instrument IDs provided as an argument.
        /// </summary>
        /// <param name="pertinentContracts"></param>
        /// <returns></returns>
        public bool IsPertinent(List<int> pertinentContracts, DateTime currentTime)
        {
            if (currentTime.IsWithinCacheRangeOf(previousCallTime))
            {
                return isPertinent;
            }

            isPertinent = false;
            foreach (int pertinentInstrumentId in pertinentContracts)
            {
                if (InstrumentId == pertinentInstrumentId)
                {
                    isPertinent = true;
                    break;
                }
            }

            previousCallTime = currentTime;

            return isPertinent;
        }
Example #3
0
        /// <summary>
        /// Returns an up-to-date list of the instrument's pertinent contracts, as defined by the instrument's configuration file.
        /// </summary>
        /// <param name="currentTime"></param>
        /// <returns></returns>
        public List<int> PertinentContracts(DateTime currentTime)
        {
            if (currentTime.IsWithinCacheRangeOf(previousCallTime))
            {
                return pertinentContracts;
            }

            pertinentContracts.Clear();
            
            foreach (int x in PertinentContractMonths)
            {
                pertinentContracts.Add(GetMonth(x, currentTime));
            }

            previousCallTime = currentTime;

            return pertinentContracts;
        }