我有一系列价格和时间对象,基本时间范围是 1 分钟间隔。我也希望能够在其他时间范围内访问这些数据。我不确定最佳结构,但我正在考虑下面显示的 Bar 类。我看到的缺点是,由于基本时间范围小于其他时间范围,因此会有大量重复数据,因为较大的时间范围是较小时间范围的总和。有没有更好的数据结构可以使用?
我还希望能够快速处理数据,我需要能够从系列中计算平均值等。从基本时间框架来看,这很容易,因为我可以将接下来的 x 个项目相加。但是,这不适用于较大的时间范围属性。
public class Bar
{
public TimeFrame TimeFrame { get; set; }
public DateTime Date { get; set; }
public TimeSpan Time { get; set; }
public double Open { get; set; }
public double High { get; set; }
public double Low { get; set; }
public double Close { get; set; }
public DateTime DateTime
{
get { return Date.Add(Time); }
}
public Bar FiveMinute { get; set; }
public Bar FifteenMinute { get; set; }
public Bar ThirtyMinute { get; set; }
public Bar Hour { get; set; }
public Bar FourHour { get; set; }
public Bar Daily { get; set; }
public Bar Weekly { get; set; }
}