如何从期刊中获得 "错误 "信息? - 页 3

 
ydrol:

我希望我没有说得太明显,如果我说得太明显,请原谅!我怀疑每个人的回答都假定你知道。

我猜想每个人在回答时都认为你已经知道了,但是MT日志只是一些文件,其中的最后几行在GUI中显示。

这些文件(用于回测)位于MetaTrader安装文件夹/测试器/日志 中。

你可以使用任何可用的工具进行搜索--例如,用dos命令Findstr来提取文件......

cd MetaTrader Folder/tester/logs

Findstr some_text *.log

Findstr some_text *.log > small_log.txt


再次道歉,如果我说的是显而易见的事情,而你实际上是在寻找别的东西!?


在我的第一个答复中,我问:"日志可能没有所有的信息,但日志文件没有被删除,对吗?"

所以我确实假设他确实在打开日志。

可能这是个错误的假设,他是想检查 日记,而不是日志。

如果他不知道。你可以通过在日志窗口中点击右键并点击打开来访问日志。然后就可以打开最后一个日志文件或哪一个。

 
Proximus:

+我通常做5000-7000个交易或更多的回测,1条线用于开仓,3-4条线用于止损,1条线用于平仓=6条线/交易*7000个交易=~42000条线或模式, 我确信MT4日志中不会有这么多:)

日志文件 .你似乎对计算错误更感兴趣,而不是发现和解决它们,如果这就是你想做的,那么只需为每个错误号码编码一个计数器,并增加计数。
 

没问题,我是在回复OP。他们可以直接用工具来分析日志文件? 如果在Linux上,grep "some text" *.log | wc -l 可以快速计算出匹配的内容,但我没能很快 找到一个内置的Windows对应工具(在这里花了太多时间:) )。

现在我想起来了,我怀疑Powershell有什么东西。

 
Ovo:

无需道歉,但我理解,OP对发现和修复错误不感兴趣,而是对它们的统计感兴趣。
我想首先知道发生的错误类型,因为我对自己的代码没有信心,而且非常怀疑,所以我想排除我的EA中的所有错误,在我有一些关于它们的数据后,将更容易纠正它们并在未来避免它们。
ydrol

没问题,我是在回复OP。他们可以直接用工具来分析日志文件? 如果在Linux上,grep "some text" *.log | wc -l 可以快速计算出匹配的内容,但我无法快速 找到内置的Windows对应工具(在这里花了太多时间:) )。

现在我想起来了,我怀疑Powershell有什么东西。

我认为你们对文件搜索的事情很感兴趣,当我告诉你们不需要的时候,那也是一个解决方案,但那是 "硬方法"。一个好的程序员必须先找到最佳方法,所以我们必须在代码内部搜索,当它仍然可以获得的时候,所以在日志中,因为日志在我的情况下太大了。

因为我已经添加了一些 "Print()",它将打印一些关键数据,如指标当前值、SL、TP,它将在日志中很好地显示出来,但我必须看到与该数据相关的错误,例如,如果我发现SL值为0,那么我将知道该错误是由于这个原因造成的。

所以经过大量的搜索和对mql4语言的深入研究,我找到了这个。

GetLastError();

我想我需要的解决方案就在这个函数 里面。我读了关于它的文档,它非常简短。谁能帮助我使用它或更详细地解释它?

 
Proximus:

所以经过大量的搜索和对mql4语言的钻研,我发现了这个。

我想我需要的解决方案就在这个函数里面。我读了关于它的文档,它很短。谁能帮助我使用它或更详细地解释它?

 
好吧,我想我们可能都认为你在寻找GetLastError() 的打印结果
 
GumRai:
好吧,我想我们可能都认为你在寻找GetLastError() 的打印结果
是的,但我需要建立一个测试器,测试错误并按类型分组,如果可能的话,对它们进行计数。谁能更详细地解释一下,我如何在高级编码中使用这个函数
 
Proximus:
是的,但我需要建立一个测试器,测试错误并按类型分组,如果可能的话,对它们进行计数。谁能更详细地解释一下,我如何在高级编码中使用这个功能?

什么是函数的返回值?我如何使用它们?

我如何控制调试输出到日志中

 
Proximus:

我认为你们对文件搜索的事情很感兴趣,当我告诉你们没有必要的时候,那也是一个解决方案,但那是 "困难的方法",一个好的程序员必须先找到最佳方法。


一个好的程序员会使用正确的工具来完成工作。 日志是一个文本文件。有无数的工具可以搜索文本文件,计算行数,如果你想的话,还可以显示上下文/相邻的行。这些工具已经存在多年了。我打赌有些工具甚至有你喜欢的点对点的图形用户界面。

一个好的程序员不会在他们没有必要的时候去编程(除非是出于好奇心)。

首先,你告诉程序员你的趋势线代码有多简单,尽管缺乏信息,现在你把搜索文本文件的最简单的方法当作困难的方法?

祝您好运!

 

谢谢你的信息,看起来很有趣。


ydrol

一个好的程序员会使用正确的工具来完成工作。 日志是一个文本文件。有很多工具可以搜索文本文件,计算行数,并显示上下文/相邻的行,如果你想的话。这些工具已经存在多年了。我打赌有些工具甚至有你喜欢的点对点的图形用户界面。

一个好的程序员不会在他们没有必要的时候去编程(除非是出于好奇心)。

首先,你告诉程序员你的趋势线代码有多简单,尽管缺乏信息,现在你又把搜索文本文件的最简单的方法当作困难的方法?

祝您好运!


你有一些有趣的观点。好吧,也许它不是那么简单,但它是舒适的,并提高了你的好奇心。还有,我喜欢编程的东西,这是因为懒惰,如果一个机器人做艰苦的工作会更好。