程序库: Report

 

Report:

这个 MetaTrader 4/5 开发库可以使您根据交易历史生成报表。

作者: fxsaber

 

Добавление этих двух строк так же сохранит отчеты каждого прохода оптимизатора.

这样,无需等待优化结束,就可以立即详细查看已计算出的相关传递。优化结束后,无需重复运行和等待相应的单次运行。可以快速、清晰地查看优化器计算出的所有结果。在一个屏幕上以缩略图等形式显示多个单次运行的平衡图(PNG 文件)。

直到现在我才意识到,MT4 也可以这样做。

 
fxsaber:

您好。

您在屏幕上看到的图表形式的报告不适用 4 ?


 
Sergey Kolemanov:

您在屏幕上看到的图表形式的报告不能用于 4 ?

默认情况下不可用,但可以这样做

// MT4 下的图表报告
#property strict

//https://www.mql5.com/zh/docs/standardlibrary/graphics/cgraphic
#include <Graphics\Graphic.mqh> //MQL5\Include\Graphics\Graphic.mqh
#include <Report.mqh> // 注释掉第 295、350、382、404、434 和 455 行。

void OnStart()
{
// REPORT::ToChart(); // 将图表输出到图表中
  REPORT::ToFile("Report.htm"); // 将报告和图表一起保存
}
 

标准 MT4 测试报告不包含评论数据。

所有报告(MT4/5 常规报告和测试报告)都不包含主要指标数据。


该库总是同时显示主要指标和评论。

该库的编写方式可简单嵌入其他指标

const string REPORT:: Shablon = FIELD(N) + FIELD(Ticket) + FIELD(OpenTime) + FIELD(Type) + FIELD(Lots) + FIELD(Symbol) +
                                FIELD(OpenPrice) + FIELD(StopLoss) + FIELD(TakeProfit) + FIELD(CloseTime) + FIELD(ClosePrice) +
                                FIELD(Commission) + FIELD(Swap) + FIELD(Profit) + FIELD(Comment) + FIELD(MagicNumber);

  static string OrderToString( const int Num )
  {
//...
    ADD(Ticket, OrderTicket());
    ADD(OpenTime, OrderOpenTime());
//...

例如,可以添加每个仓位的滑点值字段(MT5 中提供)或附加注释。

交易、自动交易系统和交易策略测试论坛

MT4 或 MT5 交易评论脚本

Alexander Bykov, 2017.07.24 11:49 AM.

你好,在MT中对交易进行评论的问题已经变得很重要了。想象一下这样一种情况--交易需要在某个时间点对情况进行报道,例如,假设您作为经理收到了投资者的请求。提供了计数,一切都很好,但没有评论。而当月的报告,这里就是工作,坐着就能记住。在 MT4 或 MT5 中制作 "热门评论 "脚本将非常方便。如果有这样一个张贴,在哪里,附加一个链接,它可能被称为。
 

事实证明,该库在处理"单次运行与优化结果不匹配 " 的情况时非常有用。

目前,唯一缺少的就是计算所依据的报告中的代理构建数据。

 
fxsaber:

结果发现,该库在处理"单次运行与优化结果不匹配 " 的情况时非常有用。

目前,唯一缺少的是计算所依据的报告中的代理构建数据。

TERMINAL_BUILD 在代理上返回什么?

 
Stanislav Korotky:

TERMINAL_BUILD 在代理上返回什么?

您的构建

 
fxsaber:

您的构建。

与 __MQL5BUILD__ 有没有混淆TERMINAL_BUILD 应取自 rantime(代理没有 "自己的构建",而是自己的构建)。

 
Stanislav Korotky:

__MQL5BUILD__ 没有混淆吗?按照我们的想法, TERMINAL_BUILD 应该取自 rantime(代理没有 "自己的构建",而是自己的构建)。

这两个指标完全不同。

 
fxsaber:

嗯,这是一个非常不同的衡量标准。

当然是不同的。我只是想知道,为什么在代理上运行的程序要返回本地终端的 TERMINAL_BUILD?[如果是这样(尽管我对此 表示怀疑),那就像是一个错误。