到底发生了什么事?

 

这又是关于测试仪/优化器...

注意到优化和单一测试的结果存在差异。重新启动了终端,改变了设置(以确定)。开始优化。

进行了一次测试...

怎么可能呢?这些胡言乱语从何而来?

 

你是否保证你的代码的逻辑在两种情况下都是一样的?

不是说 "我没有改变代码",而是要保证机器人的技术和逻辑行为没有改变。

这种说法需要给出尽可能多的技术细节,包括逻辑学和重放条件。加上你自己试图了解和收集更多信息。该计划是你的。

大喊 "我在这里写了一些东西,我不明白,我没有描述细节,我只是想表达我的愤慨,因为我认为我的程序,我不知道它是如何工作的,被别人以某种方式处理不当 "是徒劳的。

 
我曾经在年轻和青涩的时候运行过优化器,现在已经有好几年没有开始优化 了,只是一个测试员就足以理解了,优化器给我们带来的是幻觉
 
Aleksey Semenov:
在我年轻气盛的时候,我曾经运行过优化器,现在我已经好几年没有运行 了,因为测试人员只需要了解,而优化器只是给我们提供幻想。

优化器有一个明确的任务:检查期权领域,并为交易者定义的函数给出一组参数。

这是一项技术性任务,他应对自如,做得很好。

必须对机器人的质量和稳健性进行监测。

 
Renat Fatkhullin:

优化器有一个明确的任务:检查期权领域,并为交易者定义的函数给出一组参数。

这是一项技术任务,它过去和现在都做得很好。

必须对机器人的质量和稳健性进行监测。

我已经删除了所有的缓存。重复了优化测试。结果是一样的。清除差异。

当然,我不是专家顾问,但我只是不明白为什么优化器在使用参数3、5、20时有100,而相同参数的测试显示-20....。

优化器和测试器中的EA逻辑是相同的。硬件是一样的。我应该怎样做才能获得如此不同的结果?

雷纳特-法特库林

而且你已经保证在这两种情况下,你的代码的逻辑不会改变?

不是指 "我没有改变代码",而是指保证机器人在技术和逻辑层面的行为不变。

这种说法需要给出尽可能多的技术细节,包括逻辑学和重放条件。加上你自己试图了解和收集更多信息。该计划是你的。

大喊 "我在这里写了一些东西,我没有调查,我没有描述细节,我只是想表达我的愤慨,因为我相信我的程序,我不知道它是如何工作的,被别人以某种方式处理不当 "是徒劳的。

关于如何检测优化和测试之间的这种 "可变性 "的建议?

我明天会发布日志。我将清理一切,进行优化和测试。我记得你的课))))我将非常注意。


同时,祝大家大获全胜!!!。

我将去庆祝))))

 
Сергей Таболин:

彻底删除了所有缓存。重复了优化测试。同样的结果。清除差异。

当然,我不是专家,但我只是不明白为什么优化器的结果是100,而相同参数的测试显示为-20....。

优化器和测试器中的EA逻辑是相同的。硬件是一样的。我需要做什么才能获得如此不同的结果?

请告诉我,如何检测优化器和测试器之间的这种 "变异性"?

我明天会发布日志。我将清理一切,进行优化和测试。我记得你的课))))我将非常注意。


同时,祝大家大获全胜!!!。

我将去庆祝))))

在英语区有一个小主题,一个用户正在问同样的问题。
他的优化和回测对他所有的EA都是一样的(一切正常),但有一个EA和你的一样。
他给出了回溯测试的结果--你可以看看(我给了他一个想法,一目了然--为什么会有差异)。

他没有给出代码,但很明显,原因在他的EA的逻辑中(代码中)(因为他说他的所有其他EA都没有这样的问题--见他在主题中的最后一个帖子):https://www.mql5.com/en/forum/338047
 
只要忘记在代码中初始化一些东西,就会有差异。检查代码。
 
Andrey Barinov:
你可能只是忘记了在你的代码中初始化一些东西,就会出现差异。检查代码。

我很久以前跑过测试变体,变量中真的有垃圾,难道是开发者一开始就用自己的努力打败了吗? 毕竟,如果代码中间有什么垃圾,应该总是这样的,对吗?

我不是一个专业的程序员,这是个问题,我不知道低级别的编程原理。

 
Sergey Golubev:
在英语区有一个小主题,一个用户正在问同样的问题。
他的优化和回测在他所有的EA上都是匹配的(一切正常),有一个EA和你一样。
他给出了回溯测试的结果--你可以看看(我给了他一个想法,一目了然--为什么会有差异)。

他没有给出代码,但很明显,原因在于他的EA的逻辑(代码中)(因为他说他在所有其他的EA中没有这样的问题--见他的最新帖子):https://www.mql5.com/en/forum/338047

一切都和我的一样 ))))

安德烈-巴里诺夫
你只需要忘记在代码中初始化一些东西,就会有区别。检查代码。

怎么说呢?那里和那里都一样。怎么会有区别呢?特别是由于实际上所有的数据都是在一个循环中初始化的。如果那里的东西没有被初始化,你就会以错误退出。

快235

很久以前,我运行测试变体,在变量中存在着垃圾,难道开发者没有在一开始就通过自己的努力打败它吗? 毕竟,在代码中间如果可能有垃圾,它应该总是一样的,对吗?

我不是一个专业的程序员,这是个问题。

这正是我的观点。在这两种情况下,它必须是相同的。即使我在某个地方有虫子,它也一定是到处都有。但事实证明,这个缺陷(我的)不知不觉中被神奇地纠正了。但绝对不清楚在哪里?要么在优化器中,要么在测试器中....


暂时远离节日的餐桌 )))))))))))

 
Сергей Таболин:

一切都和我的一样 ))))

怎么说呢?那里和那里都一样。怎么会有区别呢?特别是由于实际上所有的数据都是在一个循环中初始化的。如果那里的东西没有被初始化,你会得到一个错误。

这就是我的意思。在这两种情况下,它必须是相同的。即使某个地方有错误,也一定是到处都有。但事实证明,这个缺陷(我的)不知不觉中被神奇地纠正了。但绝对不清楚在哪里?要么在优化器中,要么在测试器中....


暂时远离节日的餐桌 )))))))))))

我指的是变量,当你运行脚本时,它们包含了上次运行的数据,而不是0,或者类似的东西,我不记得了,好像是5年前或类似的东西。

而在测试器中,很可能你又有什么细微的差别,顺便说一下,MQ需要改进,我个人不喜欢测试器中的一切,运行它的界面也不喜欢。

 
Сергей Таболин:

一切都和我的一样 ))))

怎么说呢?那里和那里都一样。怎么会有区别呢?特别是由于实际上所有的数据都是在一个循环中初始化的。如果那里的东西没有被初始化 - 输出一个错误。

...

我给支部的那位同志讲了为什么他在这个EA中会有分歧。
毕竟,当回测结束时(在回测结束的那一刻),所有未结头寸 都被强行关闭(只在测试器中)。
如果他只是交易,他们就不会在那一刻关门。

因此,在这里为他 -

  • 或信任优化(在他的情况下,这是更可取的)。
  • 或者忽略强制平仓,在最好的情况下才结束,但这样他就得不到数字了。
  • 或者为回测挑选一个具有相同优化参数的时间间隔,此时EA将在回测结束前关闭所有头寸(通过挑选......),然后我想它会是一样的。
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...