用测试器创造奇迹。

 

尊敬的开发者,我有一个指标,它给出了一个进入的信号和一个退出的信号。
我用这个指标启动了一个交易机器人。测试仪的三次运行给了我三种不同的结果。
我从第3版开始使用测试器工作。好像所有的细微差别都被考虑到了:指标没有超额完成,信号没有在第0个柱子上读取。

我在开盘价做测试,并在每个tick模式下反复检查。 你需要什么信息来理解为什么测试结果似乎在相同的指标 和EA设置 下切换?

 

尽可能多的细节,最好能达到服务水平。

  1. 几份关于结果的报告。
  2. 日志文件。
  3. 服务器。
  4. 用什么代理
  5. 专家顾问的指标(最好是源代码)
  6. 策略测试器 中的设置。
 
1CMaster:

尊敬的开发者,我有一个指标,它给出了一个进入的信号和一个退出的信号。
我用这个指标运行一个交易机器人。测试仪的三次运行--三种不同的结果。
我已经用测试器工作了很长时间,从第三版开始。我算是考虑到了所有的细微差别:指标没有透支,我读到的信号不是在第0条上。

你需要什么信息来理解,为什么测试结果似乎在相同的指标 和EA设置 下切换?

MT4 MT5?
 
1CMaster:

尊敬的开发者,我有一个指标,它给出了一个进入的信号和一个退出的信号。
我用这个指标运行一个交易机器人。测试仪的三次运行--三种不同的结果。
我已经用测试器工作了很长时间,从第三版开始。我算是考虑到了所有的细微差别:指标没有透支,我读到的信号不是在第0条上。

我在开盘价做测试,并在每个tick模式下重新检查。 你需要什么信息,以了解为什么测试结果在相同的指标 和EA设置 下切换?

有时,如果某些变量(特别是数组)被证明是未初始化的,这种奇迹就会发生。// 错了。

检查一下,也许是代码上的碰撞。 我有(喘,喘)测试仪最近没有创造奇迹。

 
alexvd:

尽可能多的细节,最好能达到服务水平。

  1. 几份关于结果的报告。
  2. 日志文件。
  3. 服务器。
  4. 用什么代理
  5. 专家顾问的指标(最好是源代码)
  6. 策略测试器 中的设置。

亲爱的开发者们。

我将把所有的源代码发给你。

一个简短的指示。

打开欧元兑美元H1,把SS(信号系统)和FB(费波条)指标放在上面。它们会显示两个信号--圆圈--卖出信号。所有参数都是严格规定的,没有什么需要设置的。

2.2012年1月1日至2012年2月25日期间的启动测试器,欧元兑美元H1。在出现卖出信号时,测试者应该卖出,并在出现平仓信号时关闭交易。

3 当几个测试仪运行时,显示出不同的结果(+96.80;-156.20;-416.20;-335.20)。正确的是-335.20 - 然后目测信号测试器与信号指示器SS相吻合。

该指标是专门为检查测试器的正确性而编写的。通过转移信号重新检查了几次。

发生了什么事情还不清楚。我希望你能澄清这个情况。由于结果不同,我无法运行优化。

重要提示:我在一台装有Windows Server 2008 R2 SP1,2*Xeon 5640(12个核心,24个线程)的服务器上运行Metatrader的便携版本(/portable)。

附加的文件:
MQL5.zip  248 kb
 
这个服务台在哪里 - 我应该向那里发出请求吗?
 
1CMaster:
这个服务台在哪里 - 我应该向那里发出请求吗?
在你的个人资料中,个人资料在右上方。
 
1CMaster:

MT5的特殊性:如果指标缓冲区 没有被故意清零,当通过iCustom()工作时,终端可能会从堆栈中返回任何垃圾作为缓冲区的值。

因此,出现了难以理解的信号。

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
MoneyJinn:

MT5的特殊性:如果指标缓冲区 没有被故意清零,当通过iCustom()工作时,终端可能会从堆栈中返回任何垃圾作为缓冲区的值。

因此,出现了难以理解的信号。

考虑到这些细微差别,你是否有一个关于正确使用iCustom()的链接?我已经很累了,想检查一下,看看有什么问题。
 
1CMaster:
考虑到这些细微差别,是否有一个关于正确使用iCustom()的 链接?因为我已经厌倦了检查它和寻找问题所在。

iCustom()与此有什么关系?要连接的指示器在使用前必须初始化缓冲器(例如,如果是振荡器,则用零)。

我昨天相当准确地暗示了你关于你的口水的来源。

MetaDriver

有时,如果某些变量(尤其是数组)被证明是未初始化的,这种奇迹就会发生。// 通过监督。

// 还是你神圣地认为这是测试员的错,那么为什么只有你?
 
https://www.mql5.com/ru/docs/array/arrayinitialize

ArrayInitialize

用指定的值初始化一个数字数组。

void  ArrayInitialize(
   double  array[],     // инициализируемый массив
   double  value        // значение, которое будет установлено
   );

参数

阵列[]

[out] 要初始化的数字阵列。

价值

[in] 将被设置为数组中所有元素的新值。

Документация по MQL5: Операции с массивами / ArrayInitialize
Документация по MQL5: Операции с массивами / ArrayInitialize
  • www.mql5.com
Операции с массивами / ArrayInitialize - Документация по MQL5
原因: