proboards56 发表于 2023-10-13 08:26:04

期货量化软件:赫兹量化系统品种即时报价序列集合

即时报价数据类的集合在 \MQL5\Include\DoEasy\Collections\ 中,创建一个名为 TickSeriesCollection.mqh 的新即时报价数据集合类文件。该类是函数库所有对象的基准对象类的衍生类。我们看一下类主体,并分析其变量和方法://+------------------------------------------------------------------+//|                                       TickSeriesCollection.mqh |//|                        Copyright 2021, MetaQuotes Software Corp. |//|                           https://mql5.com/en/users/artmedia70 |//+------------------------------------------------------------------+#property copyright "Copyright 2021, MetaQuotes Software Corp."#property link      "https://mql5.com/en/users/artmedia70"#property version   "1.00"//+------------------------------------------------------------------+//| Include files                                                    |//+------------------------------------------------------------------+#include "ListObj.mqh"#include "..\Objects\Ticks\TickSeries.mqh"#include "..\Objects\Symbols\Symbol.mqh"//+------------------------------------------------------------------+//| Collection of symbol tick series                                 |//+------------------------------------------------------------------+class CTickSeriesCollection : public CBaseObj{private:   CListObj                m_list;                                 // List of used symbol tick series//--- Return the tick series index by symbol name   int                     IndexTickSeries(const string symbol);public://--- Return (1) itself and (2) tick series collection list and (3) the number of tick series in the list   CTickSeriesCollection*GetObject(void)                              { return &this;               }   CArrayObj            *GetList(void)                              { return &this.m_list;      }   int                     DataTotal(void)                        const { return this.m_list.Total(); }//--- Return the pointer to the tick series object (1) by symbol and (2) by index in the list   CTickSeries            *GetTickseries(const string symbol);   CTickSeries            *GetTickseries(const int index);//--- Create a collection list of symbol tick series   bool                  CreateCollection(const CArrayObj *list_symbols,const uint required=0);//--- Set the flag of using the tick series of (1) a specified symbol and (2) all symbols   void                  SetAvailableTickSeries(const string symbol,const bool flag=true);   void                  SetAvailableTickSeries(const bool flag=true);//--- Return the flag of using the tick series of (1) a specified symbol and (2) all symbols   bool                  IsAvailableTickSeries(const string symbol);   bool                  IsAvailableTickSeries(void);//--- Set the number of days of the tick history of (1) a specified symbol and (2) all symbols   bool                  SetRequiredUsedDays(const string symbol,const uint required=0);   bool                  SetRequiredUsedDays(const uint required=0);//--- Return the last tick object of a specified symbol (1) by index, (2) by time and (4) by time in milliseconds   CDataTick            *GetTick(const string symbol,const int index);   CDataTick            *GetTick(const string symbol,const datetime tick_time);   CDataTick            *GetTick(const string symbol,const long tick_time_msc);//--- Return the new tick flag of a specified symbol   bool                  IsNewTick(const string symbol);//--- Create a tick series of (1) a specified symbol and (2) all symbols   bool                  CreateTickSeries(const string symbol,const uint required=0);   bool                  CreateTickSeriesAll(const uint required=0);//--- Update (1) a tick series of a specified symbol and (2) all symbols   void                  Refresh(const string symbol);   void                  Refresh(void);//--- Display (1) the complete and (2) short collection description in the journal   void                  Print(void);   void                  PrintShort(void);   //--- Constructor                           CTickSeriesCollection();};//+------------------------------------------------------------------+类的成员变量 m_list 属于 CListObj 类型 — 它是标准库 CArrayObj 类的衍生类,就像在函数库中创建的许多其他列表一样。 CListObj 类的唯一目的是实现标准库对象基类 CObject 类的 Type() 虚拟方法操作。 该方法应返回类的类型 ID。 在这种情况下,它是数组类型 ID。
页: [1]
查看完整版本: 期货量化软件:赫兹量化系统品种即时报价序列集合