程序库: MT4 订单快速报告 - 页 8

 
Edgar Akhmadeev #:

当然,图形文件管理器是为业余爱好者准备的。这是习惯问题。我曾经从基于文本的 NortonCommander 换成了带有大量插件的 FarCommander。

我曾在 DOS 下愉快地使用过 NC 类似程序。然而,FAR 立即引起了我的强烈反感,却不知道原因何在。我兴致勃勃地试用了 TC(升级版,我没有调整任何东西)--它运行得非常好。

我至今仍对 NC 记忆犹新,而对 FAR 则不寒而栗。尽管我遇到的所有程序员都只使用 FAR。

 
fxsaber #:

在 TotalCommander 中,我只需按下一个键,就能对信号源进行比较。任何编码都可以很容易地与其他编码进行比较。

是的,我也在本地使用它。但还有更方便的软件和第三方服务。并非所有编码都 "无关紧要"。

 

更新:添加了一些内容。

1) 翻转图表已被买入、卖出的盈亏及其金额图表所取代。这样您就可以了解您的策略是看涨还是看跌。如果其中一个交易方向无法盈利,您可以决定将其关闭。


2) 按小时和星期显示盈亏图。

与 MQ 测试仪不同,盈利和亏损不是在发生时显示,而是按进入交易的时间显示。这样就更容易理解在某一小时内进场大多是无利可图的,因此只需关闭这一小时的进场。
此外,还制作了买卖图表。


如果点击其中任何一个图表,就会看到按小时和天数分列的精确金额表。还可以使用复选框禁用输入的小时和天数--图表和表格将被重建,您无需额外测试即可评估结果。它与 Fxsaber 中的BestInterval 类似,但更粗略(步长为 1 小时),且不带自动化功能。增加了 M10 间隔,以减少步长。

在这些图表中,可以看到在小测试期内出现的一些每小时或每天的利润爆发。在上面的图表中,测试期为 5 个月,呈上升趋势。因此买入是盈利的,卖出是亏损的。如果将测试时间延长至一年或更长,届时两个方向上的几个大趋势都将过去,一切都将变得模糊不清,而且通常无利可图,因此你不太可能关掉某些东西并获得显著的利润变化。

以下是同一策略经过 1 年测试后的结果:(您应该关闭几乎所有的东西)。

因此,它不太可能成为你的策略的基础。

BestInterval
BestInterval
  • www.mql5.com
Вычисление лучшего интервала торговли.
 

我建议对代码做如下修改。

//void QuickReport(string file_name, bool is_open_file_in_browser=true, int virtual_number=0, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){//
bool QuickReport(string file_name, bool is_open_file_in_browser=true, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){//
// ....
    #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID="+(string)VIRTUAL::GetNumber(VIRTUAL::GetHandle()) + " " + VIRTUAL::GetID() +";");
    #else // #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID=0;");
    #endif // #ifdef __VIRTUAL__ #else
// ....
   return(f!=INVALID_HANDLE);
}


然后是标题中的示例。

 for (int v = 1 ; v <= VIRTUAL::Total(); v++)
   _VI(v, QuickReport("report_"+(string)v, true));
 
Forester #:

更新:增加了一些内容。

在自定义报告中添加了报告类型选择。尝试通过它查看回溯测试/信号- 有时很方便,谢谢。

Возможности анализа не только своей торговой истории.
Возможности анализа не только своей торговой истории.
  • 2022.07.11
  • www.mql5.com
Семейство терминалов MetaTrader позволяет штатно визуализировать историю торговли открытого счета, бэктестов и Сигналов (мониторинг огромного числа торговых счетов). Ниже пойдет речь об использовании
 
fxsaber #:

我建议对代码作如下修改。

然后是标题中的示例。

我做了

    #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)virtual_number+" " + VIRTUAL::GetID() +"';");
    #else // #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)virtual_number+" ';");
    #endif // #ifdef __VIRTUAL__ #else

...
return(f!=INVALID_HANDLE);
}

为了与旧版本兼容,我没有改变函数调用,这样工作代码就不会中断。也就是说,虚拟化的编号和以前一样取自 virtual_number 变量,函数将自行添加 VIRTUAL::GetID()。

 
fxsaber #:

我建议对代码作如下修改。


然后是标题中的示例。

增加一个新变量

bool QuickReport(string file_name, bool is_open_file_in_browser=true, int virtual_number=-1, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){
    #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)(virtual_number<0?VIRTUAL::GetNumber(VIRTUAL::GetHandle()):virtual_number)+" " + VIRTUAL::GetID() +"';");
    #else // #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)(virtual_number<0?0:virtual_number)+" ';");
    #endif // #ifdef __VIRTUAL__ #else
...
return(f!=INVALID_HANDLE);
}

virtual_number - 虚拟测试器编号(-1 - 自动确定,0 - MT5 测试器,>0 - 虚拟测试器)

现在默认情况下(如果未指定 virtual_number),如本示例所示

QuickReport("report_"+(string)v, true))

则虚拟编号将自动定义。
如果指定了 virtual_number,且 >=0,则会显示出来。

 
更新。已添加过滤器。

订单过滤。

添加了许多筛选器,可按不同参数显示订单。


买入、卖出、买入限价、卖出限价、买入止损、卖出止损、余额 - 您可以从报告中删除任何类型的订单。
Symbols - 显示所有使用的工具列表,您可以只选择必要的工具。
Magic - 您可以只显示指定 Magic 的订单
Min Lot, Max Lot - 您可以选择所需手数的订单
Negative Slippage - 您可以分别显示开仓或平仓订单的负滑点
Swap - 显示掉期 > 0 的订单。0
Min LengthTime - 持续时间超过指定时间(以天数、小时数、分钟数和秒数指定)的订单
Max LengthTime - 持续时间少于指定时间的订单
Open Time - 从指定日期开始到结束的订单开仓时间
Close Time - 从指定日期开始到结束的订单平仓时间
TP、SL - 以触发 TP 或 SL 结束的订单
Profits, Losses - 盈利或亏损的订单(不包括佣金和掉期,它们会使最终利润为负)
Rejects - 未执行的订单

重置按钮允许您将筛选器重置为默认值,并在不进行筛选的情况下显示所有订单。


已执行的 MT5 挂单

触发该订单/头寸的挂单在上面同一行以深蓝色显示。挂单设置时间、从设置到触发订单的时间以及挂单类型(买入限价、卖出限价、买入止损或卖出止损)都会显示。此信息仅在 MT5 终端或测试仪上显示,虚拟测试仪或 MT4 不提供此信息。

 
Forester #:

执行 MT5 挂单

在上一行中,触发该订单/头寸的挂单以深蓝色显示。设置挂单的时间、从设置到触发订单的时间以及挂单类型(买入限价、卖出限价、买入止损或卖出止损)均有说明。

请不要显示这些信息。这没有任何用处。尤其是当订单在执行前被修改时。
 
fxsaber #:
请提供不显示此信息的选项。这没有任何用处。尤其是在订单执行前被修改的情况下。
默认情况下是隐藏的。通过 #define ORDER_PARENT 启用