错误、漏洞、问题 - 页 2658

 
Nikolai Semko:

Igor,然后尝试MathSrand(int(GetMicrosecondCount()%16384))。

我想知道图片会有什么变化

int OnInit()
   {
   MathSrand(int(GetMicrosecondCount()%16384));   
   return(INIT_SUCCEEDED);
   }
//+------------------------------------------------------------------+
void OnTick()
   {
   }
//+------------------------------------------------------------------+
double OnTester()
   {
      return(rand());
   }
//+------------------------------------------------------------------+


 

这样的问题。

CSymbolInfo类

当指的是当前的卖出价或买入价时,它返回0。

所有其他参数工作正常,例如AskHigh或Point

 
Ruslan Udintsev:

这样的问题。

CSymbolInfo类

当指的是当前的卖出价或买入价时,它返回0。

所有其他参数工作正常,例如AskHigh或Point

我需要先更新价格。

//+------------------------------------------------------------------+
//| Refreshes the symbol quotes data                                 |
//+------------------------------------------------------------------+
bool RefreshRates()
  {
//--- refresh rates
   if(!m_symbol.RefreshRates())
     {
      if(InpPrintLog)
         Print(__FILE__," ",__FUNCTION__,", ERROR: ","RefreshRates error");
      return(false);
     }
//--- protection against the return value of "zero"
   if(m_symbol.Ask()==0 || m_symbol.Bid()==0)
     {
      if(InpPrintLog)
         Print(__FILE__," ",__FUNCTION__,", ERROR: ","Ask == 0.0 OR Bid == 0.0");
      return(false);
     }
//---
   return(true);
  }
 
Igor Makanu:


哇,我不明白。
 
Nikolai Semko:
哇,我一点也不明白。

有什么好理解的呢?- 在测试器中,GetMicrosecondCount(), GetTickCount(), GetTickCount64()被绑定到测试器开始https://www.mql5.com/ru/forum/35402/page5#comment_15165640

和MathSrand(GetTickCount())构造的帮助。

开发人员应该同时完成Print()操作--它在GA模式下不会在测试器中输出消息。

和MathSrand(GetTickCount());应该由时间来初始化.....,谁知道是什么时间,但不是由GA开始的时间 - 现在MathSrand()不能按预期工作了

 
Igor Makanu:

有什么好理解的呢?- 在测试器中,GetMicrosecondCount(), GetTickCount(), GetTickCount64()被绑定到测试器开始https://www.mql5.com/ru/forum/35402/page5#comment_15165640

和MathSrand(GetTickCount())构造的帮助。

开发人员应该同时完成Print()操作--它在GA模式下不会在测试器中输出消息。

和MathSrand(GetTickCount());应该由时间来初始化.....,谁知道是什么时间,但不是由GA开始的时间 - 现在MathSrand()不能按预期工作了

所以它不是用于兰特的时间,而是一些每次都会变化的手柄。
 
Nikolai Semko:
所以它不是用于srand的时间,而是某种每次都会改变的手柄。

我知道如何解决这个问题--我会在WinAPI中花时间,但这是另一个需要不断检查的功能吗?))))

ZS:Alglieb有一个更高的精度生成器....。但问题还是在于帮助中的例子是否能正确工作。

 
Igor Makanu:

我知道如何解决这个问题--我会在WinAPI中花时间,但这是另一个需要不断检查的功能吗?))))

如果通行证不是闪电般的速度,并且你需要它没有DLL,你可以这样做。

MathSrand((uint)GetTimeLocal()); // https://www.mql5.com/ru/forum/170952/page105#comment_9044250

它是如何影响SSD的,我不知道。我使用RAMDrive。

 
fxsaber:

如果通行证不是闪电般的速度,而且不需要DLL,你可以这样做。

我不知道这对SSD有什么影响。我使用RAMDrive。

我通过输出到OnTester()来检查它

图片如上

这里的重点是要确定,如果你通过GA测试器选择性地加载NS,并不能保证所有本地处理器核心不会以相同的NS权重初始配置工作--这将破坏训练的结果,我认为

 

对不起,在这里放了一个口袋,但真的需要想办法。

关于交易、自动交易系统和交易策略测试的论坛

从更高的TFs(例如D1)下载指标的错误

Vladislav Andruschenko, 2020.02.27 18:42

以下是要点。

我注意到在开始的时候,从我安装在M5上的EA访问更高的TF D1和W1时,出现了这个错误和干扰(我不关心是哪个TF)。

现在我在另一个EA的策略测试器中发现了同样的错误(与前一个EA没有交集)。

我的行动。

  1. 专家顾问检查3个指标的复杂信号(2个指标+3个TF)。
  2. 如果这些指标和TF从任何TF中获取数据,直到D1(下面的一切)!那么就不会有任何错误。而有无视觉化的测试是一样的!
  3. 但如果我们选择TF D1以上的任何指标,那么结果就不同了(可视化和不可视化)。