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

记录余额和净值图表并计算附加优化标准的代码 - MetaTrader 5 库

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

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

决定分享代码 一个大的 项目 设计的 一个分离 图书馆

如果您有权访问 Expert Advisor 代码,则可以保存余额和净值图表,并通过添加此库中的其他代码来计算其他优化标准。

下载高级优化报告 Saver.mqh来自附加链接的文件并将其保存到终端文件夹\MQL5\包含\

添加连接下载文件的代码:(您可以将其添加到 Expert Advisor 代码的最后一行下方或其他任何位置)

#包括<高级优化报告 Saver.mqh>

然后,您需要添加来电到导出的函数到您的 Expert Advisor 中的现有函数:(如果没有函数,请添加它们)

空白 勾选(){
  //...你的代码   
  //保存余额和净值图表  保存_OnTick(时间当前(),帐户信息双账户余额),帐户信息双账户资产));}空白 测试仪初始化()  {
  //...你的代码  save_OnTesterInit();//打印到图表“优化完成之前不要关闭此窗口!”}空白 OnTesterDeinit(){
  //...你的代码    save_OnTesterDeinit();// 获取帧}双倍的 测试仪(){
  //...你的代码  //保存任何自定义值:  双倍的平均点数=0;   save_Add( AvgPips,2,《定制1》,真的);//值、数字、名称、sort_min_to_max   保存_添加(测试统计统计利润),2,《定制2》);  双倍的定制 =0;//您的自定义健身  保存图表(自定义);//保存最终权益,所有交易...  返回风俗;
}

save_Add 函数,允许您添加自己想要包含到您的 报告:

   save_Add( AvgPips,2,《定制1》,真的);//值、数字、名称、sort_min_to_max   保存_添加(测试统计统计利润),2,《定制2》);


例如,我们将这段代码添加到移动平均线专家顾问来自示例文件夹 (...\MQL5\Experts\Examples\Moving Average\移动平均线.mq5)。首先,复制原始EA交易并命名移动平均线图表.mq5。现在,将上述说明中的代码添加到其中。

变化仅在代码的最后,从 OnTick() 函数之后开始检查打开();线:

空白 勾选空白)
  {//---  如果(选择位置())
      检查关闭();
  别的      检查打开();
  //保存余额和净值图表   保存_OnTick (时间当前(),帐户信息双账户余额),帐户信息双账户资产));
  }空白 测试仪初始化()  {
  //...你的代码   save_OnTesterInit();//打印到图表“优化完成之前不要关闭此窗口!”}空白 OnTesterDeinit(){
  //...你的代码    save_OnTesterDeinit();// 获取帧}双倍的 测试仪(){
  //...你的代码  //保存任何自定义值:  双倍的平均点数=0;
   save_Add( AvgPips,2,《定制1》,真的);//值、数字、名称、sort_min_to_max   保存_添加(测试统计统计利润),2,《定制2》);
  双倍的定制 =0;//您的自定义健身   保存图表(自定义);//保存最终权益,所有交易...  返回风俗;
}#包括<高级优化报告 Saver.mqh>

正如您所看到的,这非常简单,只需几分钟。

之后,您可以运行优化:

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

最后一张截图显示连接的代码添加了2个参数:

优化完成后,您可以创建报告(使用解析保存的帧的程序)并查看以下内容:

100 行移动期

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

10 线与 移动移位

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5


如果超过 20 行,则仅显示 3 行平均值:顶部 3 行,底部 3 行。

100 条线很难被感知,所以你需要减少它们的数量。
您可以不使用相同步骤的输入变量,而是通过枚举器 (enum) 进行缩放,例如:1,2,3,5,7,10,15,20,30,50,70,100 - 只有 12 行而不是 100 行。

枚举nums1 {__0=0, __1=1, __2=2, __3=3, __5=5, __7=7, __10=10, __15=15, __20=20, __30=30, __50=50, __70=70, __100=100, __150=150, __200=200, __300=300, __500=500};输入nums1 移动周期 =10;// 移动平均周期
您可以下载枚举版本附件中的 EA 交易的信息。

优化次数将不再是 1000 次,而是 120 次,计算时间将快约 8 倍,文件大小将小约 8 倍。
结果更加明显:

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

MovingPeriod = 15 的结果立即脱颖而出,具有最高的平均线和最高的最大值。
然而,正如通常的情况一样,回溯测试的最佳结果并不是前向测试的最佳结果。
解析保存的帧的程序可以显示如下图表:

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

还有这样的附加标准:

Сode that records balance and equity charts and calculates additional optimization criteria - library for MetaTrader 5

如果您有其他有趣标准的代码,您可以建议将它们添加到库中。


附件下载

📎 Moving_Average_Charts_Enum.mq5 (17.49 KB)

📎 Advanced_Optimization_Report_Saver.mqh (98.54 KB)

Source: MQL5 #68706

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