关于MT5代码分析器 - 页 6

 
fxsaber #:

我只是不明白,为什么45%的弦子和其他的不被考虑在内?

它们包括那些原生函数,我写的是其中的负载。

RefreshHistory由HistorySelect和HistoryOrderGet组成,GetHistoryPositionData--来自它们+HistoryDealGet。

用你的眼睛跑一遍代码,分析最红的线,也是有帮助的。然而,如果代码比工作表稍微复杂一些,它们并不总是被突出显示。

 
fxsaber #:

29.41%(不清楚原因)是由于回归后的封闭式支架。难以解释。

移除本地函数变量、本地对象等。

这是在函数的任何返回之后进行的。

 
Andrey Khatimlianskii #:

移除本地函数变量、本地对象等。

这是在函数的任何返回之后进行的。

只有三个ulong变量。

 
fxsaber #:

在大事件上增加了20倍的重复。

29.41%(不清楚原因)是由于返回后有一个封闭的括号。难以解释。

这个函数的报告中有什么内容?

请给我看

 
Ilyas #:

这个功能的报告是什么?

请给我看

MQL剖析器报告 - \MQL5\Experts\Test19.mq5
职能 线路 总CPU 百分比 自己的CPU 百分比
MT4ORDERS::GetHistoryPositionData 1093 701
85.38%
260
31.67%
} 1360 157
21.96%
157
60.38%
static void GetHistoryPositionData( const ulong Ticket ) 1093 46
6.43%
46
17.69%
const string StrComment = ::HistoryDealGetString(OpenTicket, DEAL_COMMENT)。 1178 23
3.22%
11
4.23%
MT4ORDERS::Order.Comment = ::HistoryDealGetString(Ticket, DEAL_COMMENT)。 1107 20
2.80%
10
3.85%


我不确定是否需要这些信息。不幸的是,我还不是很了解这些数字。我想了解它。


SZY 在上表中,有两行的Line=1093相同。也许在PM中要提供什么回放数据?

 
fxsaber #:

只有三个ulong变量。

而所有这些都是从这个函数中调用的。

函数A的执行时间包含了所有函数B的执行时间,这些函数是由A调用的。除了当B从其他地方被调用时(那么只有B的部分时间会流向A)。

 
Andrey Khatimlianskii #:

以及从该函数调用的所有内容。

函数A的执行时间包含了所有函数B的执行时间,这些函数是由A调用的。除了当B被从其他地方调用时(那么只有B的部分时间会进入A)。

我指的是结尾的括号。

 
fxsaber #:

我是指结尾的括号。

这就是我的意思)。

也许我自己有什么误解。

 

剖析器 运行后的测试者日志(没有可视化)。

2021.11.08 03:21:54.358 Core 1  EURUSD,M1: 6820008 ticks, 258262 bars generated. Environment synchronized in 0:00:00.018. Test passed in 0:00:22.853 (including ticks preprocessing 0:00:01.219).
2021.11.08 03:21:54.358 Core 1  EURUSD,M1: total time from login to stop testing 0:00:22.871 (including 0:00:00.018 for history data synchronization)
2021.11.08 03:21:54.358 Core 1  disconnected
2021.11.08 03:21:54.358 Core 1  1578 Mb memory used including 24 Mb of history data, 192 Mb of tick data


紧接着,用手按下测试仪的启动按钮。

2021.11.08 03:23:00.166 Core 1  EURUSD,M1: 6820008 ticks, 258262 bars generated. Environment synchronized in 0:00:00.029. Test passed in 0:00:07.548 (including ticks preprocessing 0:00:01.203).
2021.11.08 03:23:00.166 Core 1  EURUSD,M1: total time from login to stop testing 0:00:07.577 (including 0:00:00.029 for history data synchronization)
2021.11.08 03:23:00.166 Core 1  444 Mb memory used including 24 Mb of history data, 192 Mb of tick data


  1. 为什么在剖析过程中,运行时间会延长三倍?
  2. 为什么在剖析过程中,内存消耗会高出三倍?
 

剖析器显示了实际上并没有发生的函数调用。我甚至遇到过这样的事情。

某种ArrayCopy,这不在mqh-file 源文件中!我甚至在静态数组的声明中画了一条红线。

不幸的是,我仍然不能使用剖析器。