我更钟情于面向对象一端。 因此,我将给出一个类的示例,该类能提供对日历属性的访问。
请记住,日历 这是一件相当兼收并蓄的事物。 我并非数据库专家,但据我所知,日历通常是一个包含多个数据表的关系数据库。
除了获取属性之外,CiCalendarInfo 类还提供了旨在创建选定事件时间序列的实现。
我们先来看看辅助结构。
2.1 时间序列结构
因为我们要检索 TS(时间序列)的数据,所以我们应该创建其编程根基。 此 SiTimeSeries 结构负责这一点。.
//+------------------------------------------------------------------+ //| Time series structure | //+------------------------------------------------------------------+ struct SiTimeSeries { private: bool init; // is initialized? uint size; datetime timevals[]; // time values double datavals[]; // data values string name; // ts name public: //--- constructor void SiTimeSeries(void); //--- destructor void ~SiTimeSeries(void); //--- copy consructor void SiTimeSeries(const SiTimeSeries &src_ts); //--- assignment operator void operator=(const SiTimeSeries &src_ts); //--- equality operator bool operator==(const SiTimeSeries &src_ts); //--- indexing operator SiTsObservation operator[](const uint idx) const; //--- initialization bool Init(datetime &ts_times[], const double &ts_values[], const string ts_name); //--- get series properties bool GetSeries(datetime &dst_times[], double &dst_values[], string &dst_name); bool GetSeries(SiTsObservation &dst_observations[], string &dst_name); //--- service bool IsInit(void) const { return init; }; uint Size(void) const { return size; }; void Print(const int digs = 2, const uint step = 0); }; //+------------------------------------------------------------------+