我们已拥有了操控任何品种 DOM 的功能 — 在之前的文章中,我已创建了 DOM 抽象订单对象及其衍生类,DOM 快照类和 DOM 快照序列类。 如今,只剩下为 DOM 快照序列对象创建一个通用存储 — 快照序列集合类,它能存储所有这些序列,并可便利地访问存储在集合列表中的任意 DOM 快照,并支持指定序列尺寸的自动更新(添加新快照,和删除旧快照)。
除了创建 DOM 快照序列集合类之外,我还将启动新的函数库部分 — 其他库类。 我将从操控 MQL5.com 信号服务的功能开始,即,我将创建信号对象类来存储 MQL5.com 信号服务广播里单个信号的所有数据。
改进库类
我们现将新消息添加到函数库当中。 在 \MQL5\Include\DoEasy\Data.mqh 里,加入新的消息索引:
//--- CMBookSeries MSG_MBOOK_SERIES_TEXT_MBOOKSERIES, // DOM snapshot series MSG_MBOOK_SERIES_ERR_ADD_TO_LIST, // Error. Failed to add DOM snapshot series to the list //--- CMBookSeriesCollection MSG_MB_COLLECTION_TEXT_MBCOLLECTION, // DOM snapshot series collection //--- CMQLSignal MSG_SIGNAL_MQL5_TEXT_SIGNAL, // Signal MSG_SIGNAL_MQL5_TEXT_SIGNAL_MQL5, // MQL5.com Signals service signal MSG_SIGNAL_MQL5_TRADE_MODE, // Account type MSG_SIGNAL_MQL5_DATE_PUBLISHED, // Publication date MSG_SIGNAL_MQL5_DATE_STARTED, // Monitoring start date MSG_SIGNAL_MQL5_DATE_UPDATED, // Date of the latest update of the trading statistics MSG_SIGNAL_MQL5_ID, // ID MSG_SIGNAL_MQL5_LEVERAGE, // Trading account leverage MSG_SIGNAL_MQL5_PIPS, // Trading result in pips MSG_SIGNAL_MQL5_RATING, // Position in the signal rating MSG_SIGNAL_MQL5_SUBSCRIBERS, // Number of subscribers MSG_SIGNAL_MQL5_TRADES, // Number of trades MSG_SIGNAL_MQL5_SUBSCRIPTION_STATUS, // Status of account subscription to a signal MSG_SIGNAL_MQL5_EQUITY, // Account equity MSG_SIGNAL_MQL5_GAIN, // Account growth in % MSG_SIGNAL_MQL5_MAX_DRAWDOWN, // Maximum drawdown MSG_SIGNAL_MQL5_PRICE, // Signal subscription price MSG_SIGNAL_MQL5_ROI, // Signal ROI (Return on Investment) in % MSG_SIGNAL_MQL5_AUTHOR_LOGIN, // Author login MSG_SIGNAL_MQL5_BROKER, // Broker (company) name MSG_SIGNAL_MQL5_BROKER_SERVER, // Broker server MSG_SIGNAL_MQL5_NAME, // Name MSG_SIGNAL_MQL5_CURRENCY, // Account currency MSG_SIGNAL_MQL5_TEXT_GAIN, // Growth MSG_SIGNAL_MQL5_TEXT_DRAWDOWN, // Drawdown }; //+------------------------------------------------------------------+