public OhlcInstantChartPointMapper(IResolutionSource source) : base(source) { X(m => { switch (source.Resolution) { case Resolution.Tick: return(m.X.ToUnixTimeTicks()); case Resolution.Second: return(m.X.ToUnixTimeSeconds()); case Resolution.Minute: return(m.X.ToUnixTimeSeconds() / 60); case Resolution.Hour: return(m.X.ToUnixTimeSeconds() / 60 / 60); case Resolution.Daily: return(m.X.ToUnixTimeSeconds() / 60 / 60 / 24); default: throw new ArgumentOutOfRangeException(); } }); Open(m => m.Open); Close(m => m.Close); High(m => m.High); Low(m => m.Low); }
public InstantChartPointMapper(IResolutionSource source) : base(source) { X(m => { switch (source.Resolution) { case Resolution.Tick: return(m.X.ToUnixTimeTicks()); case Resolution.Second: return(m.X.ToUnixTimeSeconds()); case Resolution.Minute: return(m.X.ToUnixTimeSeconds() / 60); case Resolution.Hour: return(m.X.ToUnixTimeSeconds() / 60 / 60); case Resolution.Daily: return(m.X.ToUnixTimeSeconds() / 60 / 60 / 24); default: throw new ArgumentOutOfRangeException(); } }); Y(m => (double)m.Y); }
public OhlcInstantChartPointMapper(IResolutionSource source) : base(source) { X(m => PointMapperHelpers.ToX(source, m.X)); Open(m => m.Open); Close(m => m.Close); High(m => m.High); Low(m => m.Low); }
public static double ToX(IResolutionSource source, Instant instant) { var b = GetSeconds(instant, source.Resolution); switch (source.Resolution) { case TimeResolution.Second: return(b); case TimeResolution.Minute: return(b / 60); case TimeResolution.Hour: return(b / 60 / 60); case TimeResolution.Day: return(b / 60 / 60 / 24); default: throw new ArgumentOutOfRangeException(); } }
protected CartesianMapperBase(IResolutionSource source) { Source = source; }
public InstantChartPointMapper(IResolutionSource source) : base(source) { X(m => PointMapperHelpers.ToX(source, m.X)); Y(m => (double)m.Y); }
protected FinancialMapperBase(IResolutionSource source) { Source = source; }