SingleTesterCache - MetaTrader 5 库








该库允许您读取/写入 tst 文件 - MT5-Tester 单通道格式。
一些使用变体
MetaTrader 5 平台 beta 版本 2155:MQL5 中的可视性区域、策略测试器和内置托管的全局更新
FXSABER,2019.10.04 07:18 下午。
如果他们打开 tst 文件的格式并且将Tester的缓存文件夹放入沙箱中,可以创建新型市场产品,它将成为测试器结果的分析器/校正器。
例如,可以编写一个市场组合来显示缓存中可用的所有单通道。
您不需要启动测试器来实现每个项目。
如果您通过 mklink 将缓存文件夹放入沙箱中,所有这些现在都可以完成。您只需要 tst 格式。
任何感到自己有力量的人都应该开始编写这样的产品。我很乐意加入其开发团队并购买它。利基市场完全是空的。
如果缓存文件夹未沙箱化,则类似产品出现在 MQ 生态系统之外的可能性可能会增加,因为它们将用其他语言编写。
#包括// 测试者的单遍数据。 空白 启动时() { SINGLETESTERCACHE SingleTesterCache;// 创建一个测试器缓存对象。 SingleTesterCache.Set();// 将投标的真实故事放入其中。 // ..\.\.\MQL5\Files/Test.tst。 打印(SingleTesterCache.Save(“测试.tst”));// 将其写入可导入测试器的文件。}
该脚本将真实账户交易历史记录转换为 tst 格式。按如下方式将其导入到测试仪中。
事实证明是这样的。
DLL解决方案不能放在KB中,因此下面是另一个脚本的源代码,该脚本不包含在KB交付中。
#包括// 测试者的单遍数据。 #包括<图形\Graphic.mqh>#包括 //https://www.mql5.com/en/code/26132 #定义最小宽度10 // 创建图表。 细绳图形图(常量 双倍的&Y1[],常量 双倍的&Y2[], 整数宽度=0,整数高度=0,常量ENUM_CURVE_TYPE 类型 = CURVE_NONE, 常量 细绳曲线名称1 =无效的,常量 细绳曲线名称2 =无效的,细绳对象名称 =无效的) { 宽度=宽度?宽度 : (整数)::图表获取整数(0,CHART_WIDTH_IN_PIXELS); 高度=高度?高度 : (整数)::图表获取整数(0,CHART_HEIGHT_IN_PIXELS); 对象名称 = (对象名称 ==无效的)?__功能__: 对象名称; CGraphic图形; 常量 布尔值分辨率 = (::对象查找(0, 对象名称) >=0)?图形.附加(0, 对象名称) : Graphic.Create(0, 对象名称,0,0,0,宽度,高度); 如果(研究) { 常量 整数尺寸1=::数组大小(Y1); 常量 整数尺寸2=::数组大小(Y2); Graphic.CurveAdd(Y1, ((Type == CURVE_NONE) && Size1) ? ((Width / Size1 < MIN_WIDTH) ? CURVE_LINES : CURVE_POINTS_AND_LINES) : 类型, CurveName1); Graphic.CurveAdd(Y2, ((Type == CURVE_NONE) && Size2) ? ((Width / Size2 < MIN_WIDTH) ? CURVE_LINES : CURVE_POINTS_AND_LINES) : 类型, CurveName2); Graphic.CurvePlotAll(); 图形.更新(); } 返回(Res?Graphic.ChartObjectName():无效的); }空白 启动时() { 乌查尔字节2[]; 如果(MTTESTER::GetLastTstCache(Bytes2) != -1)// 是否可以读取单次运行的最后一条缓存记录 { 常量SINGLETESTERCACHE SingleTesterCache(Bytes2);// 将其驱动到相应的对象中。 SingleTesterCache.SaveSet(无效的,真的,“创建者”+__文件__);// 保存包含详细信息的设置文件。 双倍的平衡[]; 双倍的公平[]; // 打印余额和净值图表。 如果(SingleTesterCache.GetBalance(余额) && SingleTesterCache.GetEquity(权益)) GraphPlot(余额、净值、1200,500,曲线_无,“平衡”,“公平”); 打印(SingleTesterCache.Header.ToString()); // 输出单遍的头部。 打印(SingleTesterCache.Summary.ToString());// 统计。 打印(SingleTesterCache.Inputs); // 输入参数。 } }
该脚本将自动获取最后一次传递的数据并输出其数据,包括余额/净值图。
感谢开发人员创建测试器缓存并帮助我解压其格式。
附件下载
📎 exptradesummarysingle.mqh (10.32 KB)
📎 testerpositionprofit.mqh (1.4 KB)
📎 testertradestate.mqh (1.06 KB)
📎 tradeorder.mqh (8.38 KB)
📎 exptradesummaryext.mqh (10.08 KB)
📎 tradedeal.mqh (16.52 KB)
📎 string.mqh (1.79 KB)
📎 singletestcacheheader.mqh (14.58 KB)
📎 singletestercache.mqh (33.39 KB)
📎 singletestercache_example.mq5 (0.4 KB)
📎 typetobytes.mqh (20.45 KB)
Source: MQL5 #27611
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
