到底发生了什么事? - 页 6

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

如果你用相同的EA参数进行几次优化,不同的优化结果是否一致?如果一致,那么问题就出在优化器和单通道之间的差异。如果不一致--那么问题肯定出在EA的代码上。

 

让我解释一下--这里的时髦写作在......。

if (condition) {

} else if (!condition) {

}

声称可以增加代码的可读性和理解性,实际上是一种邪恶的行为。

再加上你必须非常、非常小心地处理双倍的

 
Andrey Dik:

你认为全局 EA变量会保留过去优化器运行时的数值,并被带到下一个优化器中?

是的,这就对了。我是想这么做的。

只是它不仅仅是一个全局变量,而是一个静态类成员或一个终端变量或其他东西。


此外,启动终端后立即进行的一次 测试和对同一代理进行的重复测试可能是不同的。出于同样的原因。

总而言之,你需要初始化一切,并对其进行严格的监督。


ps:不,这提醒了我。我在初始化方面没有问题,只是在构建过程中初始化静态时出现了问题。迅速得到了修复。

 
Andrey Dik:

任何从一个运行到另一个运行的EA变量内容的转移都应该被认为是测试人员的错误,即使它涉及到终端的全局变量。

如果一个EA有多个副本在图表上实时运行,用户使用法师或其他方式识别,而优化过程意味着一个EA有多个且相互独立的运行,有相同的法师,如果不是这样,那么不仅从优化的意识形态角度来看是错误的,而且为影响优化和通过误导买方滥用市场产品提供了可能。

等待TC关于未修剪交易的报告,虽然很好奇。

不是为圣洁的盗贼而设的。

像往常一样,重点很简单--EA不是为了更快地优化而卸载。EX文件可能很大。

[删除]  

直到今天我才有时间来处理这个问题。我决定从小事做起。一次只做一件事。包括检查已打开的文件。代码如下。

      int      h     = FileOpen(filename, FILE_BIN|FILE_READ|FILE_COMMON);
      if(h == INVALID_HANDLE)
      {
         Print("Ошибка открытия файла обученной сети по индикатору >>> ",name);
         writeErrorFile(program_name,program_version,"======= "+IntegerToString(bars_count-1)+" === Ошибка открытия файла обученной сети по индикатору >>> "+name);
         writeOptTestFile(file_Opt_Tst,"======= "+IntegerToString(bars_count-1)+" === Ошибка открытия файла обученной сети по индикатору >>> "+name+"\n");
         FileClose(h);
         return(TRADESIGNAL_NO);
      }

我已经运行了优化,然后进行了一次测试。结果是,我得到了两个文件。

1_100_100_300_300_.opt
1_100_100_300_300_.tst

我在WinMerge程序中打开这两个文件。这就是我在那里看到的情况

在优化器中打开文件时有一个问题。请注意,在测试器中没有这样的错误!

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

优化器打开文件时有问题。请注意,在测试器中没有这样的错误!

几个核心同时打开文件。一个打开了,其余的都被搞坏了。
需要有等待的代码,或者至少是FILE_SHARE_READ 标志的代码

 

如果你

  • 正在从公共区域的EA访问同一个文件。
  • 获取访问错误
  • 不保护多个并行进程的共享访问,不尝试用超时来重复。
那么当然,你会得到优化器和单通道的区别。这是一个逻辑上的错误。
[删除]  
Andrey Khatimlianskii:

几个核心同时打开文件。一个人开业,其他人就会被坑。
我需要有等待的代码,或者至少有FILE_SHARE_READ 标志的代码

嗯,我没有专门为优化器写代码。预计优化器将已经意识到这种细微差别。我试着加一个标志,它不会使情况更糟。)))

雷纳特-法特库林

如果你

  • 你正在从专家顾问中访问comon区域的同一个文件。
  • 获取访问错误
  • 不保护多个并行进程的共享访问,不尝试用超时来重复。
那么你当然会得到优化器和单通道的区别。这是一个逻辑上的错误。

  1. 我包括提交区完全是为了方便查找文件。
  2. ....
  3. 我没有任何共享权限。这些文件只能由一个EA访问。
 

既然仍然没有代码,测试条件也没有任何描述,而且你的说法明显错误,那就自己处理吧。

如果你甚至不能打开文件,这意味着专家顾问有很多问题。

你甚至隐藏了这些文件的名称。

[删除]  
Renat Fatkhullin:

既然仍然没有代码,测试条件也没有任何描述,而且你的说法明显错误,那就自己处理吧。

如果你甚至不能打开文件,这意味着专家顾问有很多问题。

你甚至隐藏了这些文件名。

没有代码,因为添加气球真的解决了问题。现在,优化结果 和单次运行是完全一致的。

只是我以前几乎不在EA中使用文件(至少在优化/测试过程中所有的写入/读取都被禁止),但认为优化器解决了从单个EA中访问的问题。