More BackTest Results
1. 这是什么
MT5系统自带的优化结果非常少,有时候我们需要研究更多的结果,这个库可以让你在回测优化时可以输出更多的结果。也支持在单次回测时打印更多的策略结果。
2. 产品特色
- 优化的输出的结果非常多。
- 可以自定义CustomMax。
- 输出结果在Common文件夹。
- 根据EA名称自动命名,且同一个EA多次回测会自动更新名称,不会覆盖上一次的结果。
- 函数非常简单,你一眼就可以看懂。
#import "More BackTest Results.ex5" // Libraries Folder, Download from the market. //---Set CustomMax void iSetCustomMax(string mode); //---Display multiple strategy results when backtesting alone (not opt). void iOnDeinit(); //--- void iOnTesterInit(); double iOnTester(); void iOnTesterPass(string lang = "EN"); // set language. void iOnTesterDeinit(); #import
3. 怎么使用
- 下载这个 .ex5 的库,通常它在 \Scripts\Market 文件夹下面。然后移动它到 \Libraries 文件夹。
- 下载这个链接的 More_BackTest_Result.mqh 文件,放置 More_BackTest_Result.mqh 文件到 Include 文件夹。
- 你可以参考 More_BackTest_Result.mqh 里面的使用方法,我设计的非常简单,让你一眼就可以看懂。
- 通常情况下,你只需要在EA中加载一句话就可以了。
#include <More_BackTest_Result.mqh>
- 如果你需要修改语言,它不是必须的,你需要修改 .mqh 里面的一个词缀即可。具体参考4。
- 如果你需要设置 CustomMax,你需要在EA设置它就可以了,它不是必须的,默认是TB值。具体参考5。
4. 修改语言
支持英语(EN)和中文(CN),它不是必须的,不设置它默认是英语,你也可以设置输出结果为中文。
修改 More_BackTest_Result.mqh 里面的一个词缀即可:
void OnTesterPass() { // You can set the language to Chinese or English. string language = "EN"; // "EN","CN" iOnTesterPass(language); }
5. 设置CustomMax
支持所有的策略结果作为CustomMax,它不是必须的,不设置它默认是TB值,你也可以根据自己的需求来设置它。
你只需要在你的EA中键入以下代码:
int OnInit() { //---Set CustomMax iSetCustomMax("CUSTOM_SQN"); //--- return(INIT_SUCCEEDED); }
6. 函数 iSetCustomMax(string mode) 参数解析
7. EA使用样本
//+------------------------------------------------------------------+ //| __TEST_EX__.mq5 | //| Copyright 2022, i201102053. | //| https://www.mql5.com/en/users/i201102053 | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, i201102053." #property link "https://www.mql5.com/en/users/i201102053" #property version "1.00" #include <More_BackTest_Result.mqh> // Usually it is enough to load this sentence. //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //---Set CustomMax, unnecessary. iSetCustomMax("CUSTOM_SQN"); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //---Display multiple strategy results when backtesting alone (not opt). unnecessary iOnDeinit(); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { }