终端全局问题 - 页 3

 

嗨,深思熟虑

我试过了,每次我尝试这样做的时候,MT4都会锁定。不过,当我试图加载模板时,我并没有坐在断点上。我将尝试在OnStart()的开始处设置一个断点,看看会发生什么。当你坐在一个断点上时,不管是什么类型的应用程序,IDE都应该停止。我刚刚试过了--没有用。当调试器遇到断点时,终端被冻结。试图做任何事情都会把它锁住。我确实注意到你在使用离线图表。我没有。这可能是区别--如果你运行的是MT4。谢谢你的建议--这值得一试。现在我有一个更大的问题。我的调试器已停止工作。我一定是做了什么,但我不确定是什么。啊--一个程序员的生活和时间。)

[删除]  

没问题。

但是没有,离线图表对保存模板没有影响(至少在最新的构建中,因为几周前也有一个错误)。

是的,终端在调试时冻结。调试器钩住了IDE的主线程,所有指标通常都在那里运行。它在离开你的事件方法(OnStart, OnInit)后,会解冻一段时间,直到你再次在断点处停止它的运行。

 
ProfessorMetal:

嗨,深思熟虑

我试过了,每次我尝试这样做的时候,MT4都会锁定。不过,当我试图加载模板时,我并没有坐在断点上。我将尝试在OnStart()的开始处设置一个断点,看看会发生什么。当你坐在一个断点上时,不管是什么类型的应用程序,IDE都应该停止。我刚刚试过了--没有用。当调试器遇到断点时,终端被冻结。试图做任何事情都会把它锁住。我确实注意到你在使用离线图表。我没有。这可能是区别--如果你运行的是MT4。谢谢你的建议--这值得一试。现在我有一个更大的问题。我的调试器已停止工作。我一定是做了什么,但我不确定是什么。啊--一个程序员的生活和时间。)

对不起,我的调试器没有任何问题。它使用我保存的debug.tpl,没有锁死。

因此,我可以建议你做两件事,要么在这里发布如何重现你的问题,这样我们可以尝试帮助。或者写信给 Metaquotes的服务台

 

再次感谢你,DeepThought。我真的不认为图表与它有什么关系,但认为它值得一提,以防万一。如果你看了我的资料,你会发现我是非常有经验的开发者。我已经知道,你认为不是问题的东西往往会变成一个问题。即使你认为这个问题没有意义,也总是值得一问的。不过我觉得我对你之前的帖子有误解。如果调试器碰到断点时终端被冻结,你就不可能为你所在的图表加载一个模板。很明显,我误解了你想告诉我的东西。

angevoyageur。

我不能再发表什么了。没有什么A、B、C步骤会导致这种情况。它的表现是试图找到一个调试模板,但没有成功,因此没有打开一个图表。日志似乎证实了这一点。如果我删除debug.tpl,调试器会打开一个图表。我仍然需要自己设置图表,但这总比没有调试要好。这开始看起来像是服务台的问题。我不知道为什么我看到了这个,而你和DeepThought却没有。我甚至还重新安装了MT4,但情况仍然存在。这也可能是我的代码有问题,导致它在试图加载模板时崩溃。在我把问题提交给服务台之前,我打算从这个角度来解决。现在,我需要让自己崩溃并得到一些休息。我太累了,无法集中精力。再次感谢您的帮助。

[删除]  
哦,我现在明白你遗漏的观点了。这句话是说,如果图表从调试器中被打开,模板debug.tpl 就会自动加载--任何普通图表的default.tpl策略 测试器的tester.tpl、离线图表的offline.tpl 也是如此,除了策略测试器之外,<ea_name>.tpl 也会优先加载。
 

说实话,我从来没有使用过调试器。只是使用打印函数。这样,我可以更快地进行调试。当然,我也使用模拟账户,但这是向前测试,而不是向后测试。

许多人喜欢后测,但我喜欢前测。你对历史数据做优化有什么意义?

我在真实的数据上做优化。正因为如此,我的EA已经变得100%稳定,并且无需我做任何事情就能处理大多数错误。

当然,我花了很多个月才做到这一点,但这是值得的。

 
ProfessorMetal:

再次感谢你,DeepThought。我真的不认为图表与它有什么关系,但认为它值得一提,以防万一。如果你看了我的资料,你会发现我是非常有经验的开发者。我已经知道,你认为不是问题的东西往往会变成一个问题。即使你认为这个问题没有意义,也总是值得一问的。不过我觉得我对你之前的帖子有误解。如果调试器碰到断点时终端被冻结,你就不可能为你所在的图表加载一个模板。很明显,我误解了你想告诉我的东西。

angevoyageur。

我不能再发表什么了。没有什么A、B、C步骤会导致这种情况。它的表现是试图找到一个调试模板,但没有成功,因此没有打开一个图表。日志似乎证实了这一点。 如果我删除debug.tpl,调试器会打开一个图表。我仍然需要自己设置图表,但这总比没有调试要好。这开始看起来像是服务台的问题。我不知道为什么我看到了这个,而你和DeepThought却没有。我甚至还重新安装了MT4,但情况仍然存在。这也可能是我的代码有问题,导致它在试图加载模板时崩溃。在我把问题提交给服务台之前,我打算从这个角度来解决。现在,我需要让自己崩溃并得到一些休息。我太累了,无法集中精力。再次感谢您的帮助。

你能用一个非常简单的模板试试吗?也许这与模板本身有关?如果用简单的模板(比如显示蜡烛图)就可以了,那就一步一步来,每次在你的模板中添加一个东西。

如果它从一开始就不工作,那肯定是服务台的问题。

 

深思熟虑。

" 据说 如果图表从调试器中打开,模板 debug.tpl 自动加载" 一个问题可能是我之前提到的。 MT4的安装并没有文档中所说的profiles/templates目录。这就是为什么我自己添加了它,然后把我的调试模板保存在里面。我试着在MT4运行的情况下启动调试器,也试着在MT4关闭的情况下让调试器启动,结果都一样。在这两种情况下,我都看到了一些奇怪的事情。日志有时会报告单元化错误2,表明当我启动调试器时我的独立软件正在重新编译。这没有意义。我试着在MT4运行的情况下启动调试器,以及简单地让调试器自己启动一切,结果都一样。只有当我有profiles/template文件夹,里面有debug.tpl时才会发生这种情况。如果我去掉这个文件夹,调试器就会出现一个有我试图测试的独立图表,而没有别的。至于调试器启动并运行,然后试图加载一个模板,当我选择模板时,调试器立即关闭,我看的是图表,就像我用一个包含我设置的图表的配置文件启动MT4一样。

deysmacro,我同意。

回溯测试是没有用的。像你一样,我只进行正向测试。这需要大量的时间,但你可以更准确地了解你的应用程序将做什么。如果我打算为我的个人使用或商业销售创造一个工具,我将通过把它应用于现在的市场,而不是五年前的市场来判断其效率。对我来说,这是唯一有意义的事情。

好建议,Angevoyageur。我自己也应该想到这一点。我仍然不能完全肯定我所从事的独立公司在这一点上是无责的。我根据MA值计算进场和出场点,确实偶尔会出现零除数。日志显示这不是问题,但谁知道呢。我认为这不是问题的原因之一是,当我根据文件设置目录和文件结构时,日志显示indies和EA被成功加载,然后立即被解除初始化,但没有给出原因。我在OnInit()和OnDeinit()函数中设置了警报,但它们都没有被执行,这表明无论什么东西被炸毁,都是在任何东西有机会执行之前。我将继续研究这个问题,并公布我的发现。我可能不得不把这个问题交给服务台处理。就像我之前说的,我确实有一个解决方法,尽管它可能很痛苦。:-)

[删除]  
ProfessorMetal:

深思熟虑。

MT4的安装并没有文档中所说的profiles/templates目录。这就是为什么我自己添加了它,然后把我的调试模板保存到它。


我的在安装目录中也没有。不要紧。
 
DeepThought:

在安装目录中,我的也没有它。不要紧。

:-)