Esempio n. 1
0
 /// <summary>
 /// Define an enumerable Date Range:
 /// </summary>
 /// <param name="securities">Securities we have in portfolio</param>
 /// <param name="from">start date</param>
 /// <param name="thru">end date</param>
 /// <returns>Enumerable Date Range:</returns>
 public static IEnumerable <DateTime> EachTradeableDay(SecurityManager securities, DateTime from, DateTime thru)
 {
     for (var day = from.Date; day.Date <= thru.Date; day = day.AddDays(1))
     {
         if (Time.TradableDate(securities, day))
         {
             yield return(day);
         }
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Number of Tradeable Dates within this Period.
        /// </summary>
        /// <param name="securities">Securities we're trading</param>
        /// <param name="start">Start of Date Loop</param>
        /// <param name="finish">End of Date Loop</param>
        /// <returns>Number of Dates</returns>
        public static int TradeableDates(SecurityManager securities, DateTime start, DateTime finish)
        {
            int count = 0;

            try {
                foreach (DateTime day in Time.EachDay(start, finish))
                {
                    if (Time.TradableDate(securities, day))
                    {
                        count++;
                    }
                }
            } catch (Exception err) {
                Log.Error("Time.TradeableDates(): " + err.Message);
            }
            return(count);
        }
Esempio n. 3
0
        /// <summary>
        /// Could of the number of tradeable dates within this period.
        /// </summary>
        /// <param name="securities">Securities we're trading</param>
        /// <param name="start">Start of Date Loop</param>
        /// <param name="finish">End of Date Loop</param>
        /// <returns>Number of dates</returns>
        public static int TradeableDates(ICollection <Security> securities, DateTime start, DateTime finish)
        {
            var count = 0;

            Log.Trace("Time.TradeableDates(): Security Count: " + securities.Count);
            try
            {
                foreach (var day in Time.EachDay(start, finish))
                {
                    if (Time.TradableDate(securities, day))
                    {
                        count++;
                    }
                }
            }
            catch (Exception err)
            {
                Log.Error("Time.TradeableDates(): " + err.Message);
            }
            return(count);
        }