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

CTradeStatistics - MetaTrader 5 库

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

CTradeStatistics 类包含所有ENUM_STATISTICS枚举参数计算。

此类中的所有参数(除净值回撤外)都可以根据交易历史进行计算。

该类的主要目的是删除测试统计()功能限制,即能够在测试过程中以及在策略测试器之外随时获取必要的统计数据。

在测试仪外部使用的示例

所有参数都是通过调用 CTradeStatistics::Calculate() 函数计算的。该函数成功执行后,可以通过调用众多方法获得结果,这些方法的名称与统计参数的名称类似。 

CTradeStatistics m_stat;如果(m_stat.计算())打印格式“LR 相关性:%.2f”,m_stat.LRCorrelation());别的 打印(m_stat.GetLastErrorString());

结果:

2012.09.13 08:52:19 TradeStatistics (EURUSD,H1) LR 相关性:0.97

CTradeStatistics::PrintStatistics() 函数可用于将所有参数打印到日志中。

如果(m_stat.Calculate()) PrintStatistics();

可以在 TradeStatistics.mq5 脚本中找到使用该类的简单示例。

贸易统计面板面板的设计是为了更好地可视化结果。 

在测试仪中使用的示例

要正确计算净值回撤,应使用 CTradeStatistics::CalculateEquityDD() 函数。

#include CTradeStatistics m_stat;//+------------------------------------------------------------------+
//|专家初始化函数                                   |
//+------------------------------------------------------------------+
整数 初始化时()
  {
   m_stat.CalculateEquityDD(CALC_INIT);

  返回0);
  }//+------------------------------------------------------------------+
//|专家去初始化函数                                 |
//+------------------------------------------------------------------+
空白 解初始化常量 整数原因)
  {
   m_stat.CalculateEquityDD(CALC_DEINIT);

  如果(m_stat.Calculate())m_stat.PrintStatistics();

  }//+------------------------------------------------------------------+
//|专家勾选功能                                            |
//+------------------------------------------------------------------+
空白 勾选()
  {
   m_stat.CalculateEquityDD(CALC_TICK);

  }

应该指出的是,统计指标的可靠值可以在程序中的任何一点获得,而不仅仅是在测试结束时使用OnTester()或者OnDeinit()事件。计算可以使用更新交易中()事件如下例所示:


附件下载

📎 tradestatistics.mq5 (1.6 KB)

📎 ctradestatistics.mqh (37.73 KB)

Source: MQL5 #1081

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