MT4Orders QuickReport - MetaTrader 5 库



























快速 JavaScript 版本报告通过以下方式实现的 MT4 风格交易命令库MT4订单或者虚拟的。
工作速度比报表快 10 倍,NTML 文件大小更小,可以上传和显示多达 540 万条报表行(截图如下)。
功能:(与报告相同)
与报告的差异:
成交量图表被带有买入、卖出及其金额的盈亏图表所取代。这样您就可以了解您的策略是看涨还是看跌。如果其中一个交易方向无法盈利,您可以决定关闭该方向。工具收盘价图表如下所示。可以方便地跟踪当利率上升时购买如何获利而销售如何亏损,反之亦然。如果有多种工具,它们的价格将一起显示,最好通过过滤器仅选择其中一种工具以仅查看其价格。

添加了开仓、平仓时滑点和累计滑点及其总和的图表,这个想法取自这里https://www.mql5.com/ru/blogs/post/760817。

使用示例:
#包括#define REPORT_BROWSER // 自动在浏览器中打开报表。需要 DLL。//#include #包括 // 空白 初始化时(){}空白 勾选(){ 战略 (); }空白 解初始化(常量 整数 原因){ 快速报告(“报告”,真的); }整数时间 小时 (日期时间时间 ){返回((整数)((时间 /3600) %24));}//一天中的当前时间。 3600 秒 每小时 空白战略 (){ 细绳符号=_象征; MQTick打钩; 如果(符号信息勾选(符号,勾选)){ 如果(时间小时(时间当前())<23&& 时间小时(时间当前())>0){返回;} 订单发送(符号,OP_BUY, 10, 勾选.询问,0, 勾号. 出价, 勾号. 出价, 无效的,1000); 订单发送(符号,OP_SELL,10, 勾号. 出价,0, 勾选.询问, 勾选.询问, 无效的,1000); } }
#包括#包括 #define REPORT_BROWSER // 自动在浏览器中打开报表。需要 DLL。//#include #包括 双倍的 测试仪() { //或 OnDeinit() 为了(整数v =0; v <= 虚拟::总计(); v++){如果(VIRTUAL::SelectByIndex(v)){QuickReport(“报告_”+(细绳)v,真的, v);}}//显示每个测试人员的报告 返回(帐户信息双(账户余额)); }
空白快速报告(细绳文件名,布尔值is_open_file_in_browser=真的,整数虚拟号码=0,布尔值隐藏帐户和名称=错误的,布尔值公共路径=错误的,布尔值文件ANSI=真的){...}文件名-文件录音名称
是在浏览器中打开文件- 计算完成后自动在浏览器中打开文件(需要DLL权限)。文件在优化期间不会自动打开,因为文件可能有数千个。
虚拟号码-(与 Virtual 一起使用)虚拟测试人员数量(-1 - 将自动确定,0 - MT5 测试人员,>0 - 虚拟测试人员)
隐藏帐户和名称- 隐藏帐号和姓名
公共路径- 保存到终端的公共文件夹。为了防止文件在优化期间被其他代理覆盖,代理编号(3000、3001...)将添加到文件名中。保存在测试器文件夹中时 (false),它们将保存在执行计算的代理的文件夹中。
文件ANSI- 以 ANSI 编码或 UNICODE 保存。 UNICODE 文件的大小是其 2 倍,并且处理时间较长,因此如果您上传大量数据,例如 1 GB,则使用 ANSI 更经济。如果需要,添加 UNICODE 是为了与第三方服务兼容。
540 万笔交易的报告示例:
(我的计算机上的虚拟报告超过 100 000 行会占用所有内存并挂起,因此我制作了 JavaScript 版本)。
这份报告展示了 Firefox。 Chrome 挂起,它需要较小的文件。
一个文件可以上传超过 540 万行,但 Firefox 浏览器无法处理更多。
加载此报告时,浏览器使用了大约6GB内存(处理了大约1分钟),然后将其释放,之后页面上显示了报告:(报告使用了5-6GB,80-10万行)。

带缩放功能的详细图表。
单击任何图表将打开带有该图表的交互式图表,并且可以放大以进行详细查看。
有 2 个选项:
您可以选择对数-对数规模(如果您的余额呈指数增长,可能会很有用)。为了高图表您还可以选择序数- 统一步骤(如 MetaQuotes 测试报告中所示)。更改这些项目后,您需要再次单击所需的图表以应用所选选项。
示例来自谷歌图表:(用鼠标滚轮缩放)。
示例来自高图表:(通过用鼠标选择必要的区域来更改比例)。
已执行 MT5 挂单
对于因挂单触发而出现的订单,类型字段以深蓝色显示挂单类型(买入限价、卖出限价、买入止损或卖出止损)、从设置到触发订单的时间(以秒为单位)以及激活的订单/仓位类型。此信息仅针对 MT5 终端或测试仪显示,虚拟测试仪或 MT4 不提供此信息。

按小时和星期几显示利润和损失图表。
与 MQ 测试器不同,利润和损失不是在发生时显示,而是在进入交易时显示。这样可以更容易地理解,某个时间段内的入场大多无利可图,只需关闭该时间的入场即可。
此外,还制作了采购和销售图表。
如果您单击这些图表中的任何一个,您将看到按小时和天列出准确金额的表格。还有一些复选框可用于禁用输入中的小时和天 - 图表和表格将被重建,您将能够评估结果而无需额外的测试。它是一个类似的最佳间隔来自 Fxsaber,但更粗糙(步长为 1 小时)并且没有自动化。增加M10间隔,减少步距。

在这些图表上,可以在小测试期间看到一些每小时或每天的利润爆发。上图显示了 1 个月的测试,呈上升趋势。所以买入是盈利,卖出是亏损。如果你将测试增加到一年或更长时间,当两个方向上的几个大趋势都会过去时,一切都会变得均匀,并且通常无利可图,因此你不太可能能够关闭某些东西并获得显着的利润变化。
以下是一年测试中相同策略的结果:(你应该关闭几乎所有东西)。
所以它很难成为你策略的基础。
订单过滤。
添加了许多过滤器以按不同参数显示订单。
买入、卖出、买入限价、卖出限价、买入止损、卖出止损、余额 - 您可以从报告中删除任何类型的订单。
符号 - 将显示所用仪器的完整列表,您可以仅选择必要的仪器。
Magic - 您只能显示指定 Magic 的订单
最小手数、最大手数 - 您可以选择具有所需手数的订单
负滑点 - 您可以分别显示开仓订单或平仓订单的负滑点
隔夜利息 - 显示隔夜利息 > 0 的订单
Min LengthTime - 持续时间超过指定时间(按天数、小时数、分钟数和秒数指定)的订单
Max LengthTime - 持续时间小于指定时间的订单
开放时间 - 从指定日期到指定日期的订单开放时间
关闭时间 - 订单从指定日期到指定日期结束的时间
TP、SL - 以 TP 或 SL 触发结束的订单
利润、亏损 - 盈利或亏损的订单(不包括佣金和掉期费用,它们会使最终利润为负)
拒绝 - 未执行的订单。
重置按钮允许您将过滤器重置为默认值并显示所有订单而不进行过滤。
附加选项:

附:对交易的评论越多,可以显示的行数就越少。一份包含 540 万行的报告除了“测试结束”之外没有任何注释。因此,如果报告的交易量超过 400 万笔,最好不要放置它们。
附言适用于 MT5 和 MT4。感谢fxsaber对MT4的修改。
改进方案:
附件下载
📎 testquickreport.mq5 (2.25 KB)
📎 mt4orders_quickreport.mqh (65.43 KB)
Source: MQL5 #47816
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
