请观看如何免费下载自动交易
请在Facebook上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
程序库

记录平衡和权益图表并计算其他优化标准的模式 - MetaTrader 5程序库

显示:
25
等级:
(5)
已发布:
已更新:
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

决定分享 一个 大型 项目代码 ,在 一个 单独的 库中设计



从附件链接中下载高级优化报告 保存程序 Advanced Optimization Report Saver.mqh)文件,并将其保存到终端文件夹

添加连接下载文件的代码:(可以添加到您的智能交易系统代码的最后一行下面或其他任何地方

#include <Advanced Optimization Report Saver.mqh>

然后,您需要在 Expert Advisor 中的现有函数中添加对导出函数的调用:(如果没有函数,则添加它们)

void OnTick(){
   //... 您的代码
   
   //保存余额和净值图表
   save_OnTick(TimeCurrent(), AccountInfoDouble(ACCOUNT_BALANCE), AccountInfoDouble(ACCOUNT_EQUITY));
}

void OnTesterInit()  {
   //... 您的代码

   save_OnTesterInit();//print to chart "Do not close this window until the optimization is complete!" (在优化完成之前不要关闭此窗口!)
}
void OnTesterDeinit(){
   //... 您的代码

    save_OnTesterDeinit();// 获取框架
}

double OnTester(){
   //... 您的代码

   //save any custom values:
   double AvgPips=0;
   save_Add( AvgPips, 2, "Custom 1", true);//值、位数、名称、排序_最小值_最大值
   save_Add( TesterStatistics( STAT_PROFIT ), 2, "Custom 2");
   double Custom = 0;//您的定制健身
   saveCharts(Custom);//保存最终权益,所有交易...
   return Custom;
}

save_Add 函数允许您在 报告中添加自己想要的标准:

   save_Add( AvgPips, 2, "Custom 1", true);//值、位数、名称、排序_最小值_最大值
   save_Add( TesterStatistics( STAT_PROFIT ), 2, "Custom 2");


例如,让我们将这段代码添加到Examples 文件夹中的 Moving Average Expert Advisor 中(...\MQL5\Experts\Examples\Moving Average\Moving Average.mq5)。首先,复制原始的智能交易系统,并将其命名为Moving Average Charts.mq5。现在,将上面说明中的代码添加到其中。

更改 只在代码的最后,从CheckForOpen(); 行之后的 OnTick() 函数开始:

void OnTick(void)
  {
//---
   if(SelectPosition())
      CheckForClose();
   else
      CheckForOpen();
   //保存余额和净值图表
   save_OnTick (TimeCurrent(), AccountInfoDouble( ACCOUNT_BALANCE), AccountInfoDouble( ACCOUNT_EQUITY));
  }

void OnTesterInit()  {
   //... 您的代码

   save_OnTesterInit();//print to chart "Do not close this window until the optimization is complete!" (在优化完成之前不要关闭此窗口!)
}
void OnTesterDeinit(){
   //... 您的代码

    save_OnTesterDeinit();// 获取框架
}

double OnTester(){
   //... 您的代码

   //save any custom values:
   double AvgPips=0;
   save_Add( AvgPips, 2, "Custom 1", true);//值、位数、名称、排序_最小值_最大值
   save_Add( TesterStatistics( STAT_PROFIT ), 2, "Custom 2");
   double Custom = 0;//您的定制健身
   saveCharts(Custom);//保存最终权益,所有交易...
   return Custom;
}

#include <Advanced Optimization Report Saver.mqh>

如您所见,这非常简单,只需几分钟。

之后,您就可以运行优化:

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

  1. 保存统计数据- 启用或禁用统计数据收集功能
  2. 平衡图表和权益图表中的像素- 指定迷你图表宽度中的像素数。

优化完成后,您可以创建一份报告(使用解析已保存框架的程序),并看到以下内容:

100 行移动周期


10 行,使用 MovingShift



如果超过 20 行,则只显示平均值的 3 条横线:

100 行很难看清,因此需要减少行数。
使用输入变量时,不要使用相同的步长,而是通过枚举器(enum)进行刻度,例如: 1,2,3,5,7,10,15,20,30,50,70,100 - 将只显示 12 行,而不是 100 行。

enum 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};
input nums1 MovingPeriod = 10; // 移动平均周期

您可以从附件中下载枚举版本 的智能交易系统。

计算时间将快约 8 倍,文件大小将小约 8 倍,优化次数将从 1000 次减少到 120 次:



不过,通常情况下,回溯测试的最佳结果并不是正向测试的最佳结果。
您解析已保存框架的程序可以显示这样的图表:

以及类似这样的附加标准:

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


更新:

  1. 2026-02-02:在自定义标准名称中添加了对 UTF 字符的支持。

由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/68706

EA Duplicate Detector EA Duplicate Detector

允许 EA 根据条件确定图表上是否有重复的 EA。

Project Template Generator Project Template Generator

本脚本是开发人员如何使用 MQL5 以编程方式处理文件的实用示例。其关键目标之一是演示有效的项目文件组织,这对于开发大型系统或旨在创建可移植、独立项目的开发人员来说至关重要。这一概念还可以进一步扩展和完善,以支持更先进的开发工作流程。

Binary tradng based on candle colors Binary tradng based on candle colors

计算蜡烛颜色的简单二元交易策略。

ShowTradeLines Service ShowTradeLines Service

这是一种在图表上以趋势线和/或箭头显示现有头寸/交易的进入/退出点的服务。