欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

CHistoryPositionInfo 类 - MetaTrader 5 库

author emer | 157 人阅读 | 0 人评论 |

CHstoryPositionInfo 类提供了对平仓属性的轻松访问。

该类与标准库的 CPositionInfo 类具有类似的接口。

班级CH历史位置信息:民众对象
  {民众:
                     CH历史位置信息(空白);
                    ~CH历史位置信息(空白);
  //--- 访问受保护数据的方法  乌龙             票(空白)          常量{返回(m_curr_ticket); }
  //--- 整数位置属性的快速访问方法  日期时间          打开时间(空白);
  乌龙             时间打开MSC(空白);
  日期时间          时间关闭(空白);
  乌龙             时间关闭MSC(空白);
  ENUM_POSITION_TYPE仓位类型(空白);
  细绳            类型描述(空白);
  长的              魔法(空白);
  长的              标识符(空白);
  ENUM_DEAL_REASON  开放原因(空白);
  ENUM_DEAL_REASON  关闭原因(空白);
  //--- 双位置属性的快速访问方法  双倍的            体积(空白);
  双倍的            开盘价(空白);
  双倍的            止损(空白常量;
  双倍的            止盈(空白常量;
  双倍的            价格收盘(空白);
  双倍的            委员会(空白);
  双倍的            交换(空白);
  双倍的            利润(空白);
  //--- 字符串位置属性的快速访问方法  细绳            象征空白);
  细绳            公开评论(空白);
  细绳            关闭评论(空白);
  细绳            开放原因描述(空白);
  细绳            关闭原因描述(空白);
  细绳            优惠门票(常量 细绳分隔符=” “);
  //--- 信息方法  细绳            格式类型(细绳&str,常量 单位类型)常量;
  细绳            格式原因(细绳&str,常量 单位原因)常量;
  //--- 选择位置的方法  布尔值              历史选择日期时间起始日期,日期时间迄今为止);
  整数              持仓总数空白常量;
  布尔值              按票选择(常量 乌龙票);
  布尔值              按索引选择(常量 整数指数);
  };


这是一个示例代码,展示了如何在代码中使用该类

#包括//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
空白 启动时()
  {//--- 保存历史位置信息的变量   CHistoryPositionInfo hist_position;//--- 检索指定时间段内平仓的历史记录  如果(!hist_position.历史选择0,时间当前()))
     {
      警报"CHistoryPositionInfo::HistorySelect() failed!");
      返回;
     }//--- 现在处理平仓列表  整数总计 = hist_position。持仓总数();
  为了整数我=0;我<总计;我++)
     {
      //--- 通过列表中的索引选择平仓头寸      如果(hist_position.SelectByIndex(i))
        {
        乌龙    票            = hist_position.Ticket();
        日期时间time_open         = hist_position.TimeOpen();
        乌龙    time_open_msc     = hist_position.TimeOpenMsc();
        日期时间time_close        = hist_position.TimeClose();
        乌龙    time_close_msc    = hist_position.TimeCloseMsc();
        长的     类型              = hist_position.PositionType();
        细绳   type_desc         = hist_position.TypeDescription();
        长的     魔法             = hist_position.Magic();
        长的     pos_id            = hist_position.Identifier();
        双倍的   成交量            = hist_position.Volume();
        双倍的   Price_open        = hist_position.PriceOpen();
        双倍的   Price_sl          = hist_position.StopLoss();
        双倍的   price_tp          = hist_position.TakeProfit();
         双倍的   Price_close       = hist_position.PriceClose();
        双倍的   佣金        = hist_position.Commission();
        双倍的   交换              = hist_position.Swap();
        双倍的   利润            = hist_position.Profit();
        细绳   符号            = hist_position。象征();
        细绳   open_comment      = hist_position.OpenComment();
        细绳   close_comment     = hist_position.CloseComment();
        细绳   open_reason_desc = hist_position.OpenReasonDescription();
        细绳   close_reason_desc = hist_position.CloseReasonDescription();
        细绳   deal_tickets      = hist_position.DealTickets(“,”);
        //---        整数      交易计数       =历史交易总计();  // 所选位置的        整数      订单数      =历史订单总数();  // 所选位置的        }
     }//---  打印“平仓总数=”,历史位置。持仓总数());
  }//+------------------------------------------------------------------+

注意:使用方法时 历史选择()和 按索引选择(), 职位列表的排序方式为关闭时间 (不是按照开放时间)。

这意味着平仓历史(数据行)按以下顺序排序 关闭时间 帮助计算跑步 平衡,正确。


附件下载

📎 chistorypositioninfo.mqh (46.86 KB)

📎 demo_chistorypositioninfo.mq5 (5.4 KB)

📎 export_history_positions_v2.mq5 (17.12 KB)

Source: MQL5 #27683

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录