记录余额和净值图表并计算附加优化标准的代码 - 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>
正如您所看到的,这非常简单,只需几分钟。
之后,您可以运行优化:


最后一张截图显示连接的代码添加了2个参数:
优化完成后,您可以创建报告(使用解析保存的帧的程序)并查看以下内容:
100 行移动期

10 线与 移动移位

如果超过 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 倍。
结果更加明显:

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

还有这样的附加标准:
如果您有其他有趣标准的代码,您可以建议将它们添加到库中。
附件下载
📎 Moving_Average_Charts_Enum.mq5 (17.49 KB)
📎 Advanced_Optimization_Report_Saver.mqh (98.54 KB)
Source: MQL5 #68706
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
