错误、漏洞、问题 - 页 1866

 
测试员日志
2017.04.21 09:06:58.342 RTS-6.17,M1: testing of Experts\fxsaber\Test2.ex5 from 2017.04.07 00:00 to 2017.04.08 00:00 started
2017.04.21 09:06:58.342 RTS-6.17 : real ticks begin from 2017.04.05 00:00:00

实际的抽搐开始时间比最初的测试间隔日期早两天。这是否正常?

 
fxsaber:
测试员日志

实际的抽搐开始时间比最初的测试间隔日期早两天。这是否正常?

我想这是有意为之的--为了能够计算出需要一定数量历史记录的指标?
 
Artyom Trishkin:
我可以认为这是故意的--为了能够计算出需要一定历史量的指标来进行计算?
棒子就够了。勾选历史 可以有任何深度。
 
fxsaber:
测试员日志

实际的抽搐开始时间比最初的测试间隔日期早两天。这是否正常?

你是否假设每次都将历史记录和刻度线再次上传到测试器?

删除测试者文件夹中的历史缓存,运行测试并查看日志

 
stringo:

你是否假设每次都将历史记录和刻度线再次下载到测试器?

删除测试者文件夹中的历史缓存,运行测试并查看日志

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

mql5语言的特殊性、微妙性和技巧性

fxsaber, 2017.04.07 16:00

在MT5测试器的 "真实点 "模式中,历史的基础不是真实点,而是M1条。这意味着,如果真实的刻度线不对应条形图,它们会被忽略,而是生成必须对应条形图的人工刻度线。

同时,如果CopyTicks被请求超过128K,那么在测试器中,它们将不是从缓存中获取(真实的ticks+生成),而是从数据库中获取--真实的 ticks。并在测试器中得到蜱虫的历史和测试器所喂养的东西之间的不匹配。

这是对SD中收到的答复的汇编。
 
fxsaber:
它是对SR中收到的答案的汇编。
那么?
 
stringo:
那么?
既然CopyTicks能够从共享数据库中获取数据,为什么还要多花两天时间?
 
fxsaber:
既然CopyTicks能够从共享数据库中获取数据,为什么还要多花两天时间?

从什么共同的基础?所有测试剂的共同基础。

在一般情况下,在测试开始日期之前不会有任何标记。我建议你删除测试器中的所有缓存,运行测试并查看日志。

 
stringo:

从什么共同的基础?所有测试员代理的共同数据库。

一般来说,在测试开始日期之前,那里不会有蜱虫。我建议你删除测试器中的所有缓存,运行测试并查看日志。

明白了,谢谢。然后我没有完全理解SD的意思。
 
来自SD的。
Мы приняли решение отказаться от приведения неродственных структур

现在(1589)不编译这样简单的东西

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

如何快速比较 double 和 QNaN ?

fxsaber, 2016.10.11 10:57

double Nan(long bit_value)
  {
   struct L { long   x; } l; l.x=bit_value;
   struct D { double x; } d=(D)l;
   return(d.x);
  }

double QNaN   =Nan(0x7FF7000000000000);   // QNaN

而要找出双倍数是否等于QNaN就变得不可能了。

double QNaN2 = (double)"nan";

void OnStart()
{
  Print(QNaN == QNaN);
}


结果

false


因为你使TypeToBytes库完全无法工作,它完全能够将双倍数与QNaN进行比较。

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

如何快速比较 double 和 QNaN ?

fxsaber, 2016.10.11 11:14

#include <TypeToBytes.mqh>

void OnStart()
{
   if (_R(QNaN)==QNaN) {
      Alert("QNaN is QNaN");
   } else {
      Alert("Ooops");
   }   
}

更不用说它付诸实践的大量其他功能了--例如