public static TimeResolution GetResolution(TimeResolutionType resolution, int stepsInPeriod)
        {
            if (Millisecond.Type == resolution && Millisecond.IntervalStepInResolution == stepsInPeriod) return Millisecond;
            if (Second.Type == resolution && Second.IntervalStepInResolution == stepsInPeriod) return Second;
            if (Minute.Type == resolution && Minute.IntervalStepInResolution == stepsInPeriod) return Minute;
            if (Minute5th.Type == resolution && Minute5th.IntervalStepInResolution == stepsInPeriod) return Minute5th;
            if (Minute6th.Type == resolution && Minute6th.IntervalStepInResolution == stepsInPeriod) return Minute6th;
            if (Minute10th.Type == resolution && Minute10th.IntervalStepInResolution == stepsInPeriod) return Minute10th;
            if (Minute12th.Type == resolution && Minute12th.IntervalStepInResolution == stepsInPeriod) return Minute12th;
            if (Minute15th.Type == resolution && Minute15th.IntervalStepInResolution == stepsInPeriod) return Minute15th;
            if (Minute20th.Type == resolution && Minute20th.IntervalStepInResolution == stepsInPeriod) return Minute20th;
            if (Minute30th.Type == resolution && Minute30th.IntervalStepInResolution == stepsInPeriod) return Minute30th;
            if (Hour.Type == resolution && Hour.IntervalStepInResolution == stepsInPeriod) return Hour;
            if (Day.Type == resolution && Day.IntervalStepInResolution == stepsInPeriod) return Day;
            if (Week.Type == resolution && Week.IntervalStepInResolution == stepsInPeriod) return Week;
            if (Month.Type == resolution && Month.IntervalStepInResolution == stepsInPeriod) return Month;
            if (Quarter.Type == resolution && Quarter.IntervalStepInResolution == stepsInPeriod) return Quarter;
            if (Season.Type == resolution && Season.IntervalStepInResolution == stepsInPeriod) return Season;
            if (Year.Type == resolution && Year.IntervalStepInResolution == stepsInPeriod) return Year;

            return CustomResolution(resolution, stepsInPeriod);
        }
 public static TimeResolution CustomResolution(TimeResolutionType type, int stepsInPeriod)
 {
     return new TimeResolution(type, stepsInPeriod);
 }
 internal TimeResolution(TimeResolutionType type, int stepsInPeriod)
 {
     Type = type;
     IntervalStepInResolution = stepsInPeriod;
 }