错误、漏洞、问题 - 页 750

 
多时间框架 的实时图表指标 上,测试者当然会疯掉。一切都变得越来越紧。
 
x100intraday:
在多时间框架的实时图表指标上,测试者当然会疯掉。所有东西都是锥形的。
我可以给你举个例子吗?我想知道它是什么样子的,因为从解释中什么也看不清楚。
 
tol64:
我可以给你举个例子吗?我想知道它是什么样子的,因为从解释上看没有什么是清楚的。

当然,你可以。一旦我完成它,我将免费提供......但同时...

问题是,根据我的猜测,测试器从未想过在所有预设的时间框架上完美地工作,它只充分跟踪所选的测试时间框架。但这只是一种感觉,我不知道它在现实中如何运作。

顺便说一下,我将不得不花很多时间来修复它而不在测试器中运行,因为我将不得不在没有任何加速的情况下实时测试一切。

 

致开发者

我不明白ChartIndicatorDelete 的逻辑。用短名字工作的诀窍是什么?

按手柄添加,按短名称删除,这符合逻辑吗?

我想我应该把参数从名字改为句柄,或者添加一个带句柄的重复函数。

 

对《中国日报》的开发者来说

谁能解释一下为什么这段代码在终端工作时没有错误,而在测试器中却有错误?

  if((FirstStart)&&(Handle_JRSX==INVALID_HANDLE))
  {
  Handle_JRSX = iCustom(NULL,PERIOD_D1,"3c_JRSX_H",20,240);
  
    if(Handle_JRSX==INVALID_HANDLE)ChartIndicatorAdd(0,1,Handle_JRSX);
  
  }

在测试器中,ChartIndicatorAdd 返回错误,并显示错误4014

同时,测试器中的视觉模式显示,该指标在图表上,并且是正常呈现 的。

 
victorg:

请帮助我理解!

在我的计算过程中,我得到的数字对我来说意义并不明确。

我把这样一个数字分配给变量a,然后打印出来。

结果。

但根据文档,类型为double ,其功率不能低于-308。谁知道它们是什么样 的数字

这是一个黑暗的森林...

我正在努力争取权力

     double x,z;
     int y;
     x=-7.56414503782948460000;
     y=MathPow(
     10,         // основание 
     321      // показатель степени
     );
     z=x*y;
     Print("z = ",z);

我得到

2012.06.11 09:55:30     dbl (EURUSD,M4) z = 16243877779.83916

     double a=-7.56414503782948460000 e-321;
     int b=a;
     Print("b = ",b);

似乎是对的,溢出和

2012.06.11 09:55:30     dbl (EURUSD,M4) b = 0

加入这个问题。

 

是否有任何功能允许你设置/改变图表的高度

如果没有这样的功能,我希望能得到它。

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5
 
Silent:

黑暗森林...

就我对IEEE 754标准的理解,double的最小正数值约为2.3-10-308。但这个值对应的是归一化的数字,即尾数至少等于1的数字。然而,也有非正态化的数字,即尾数小于1的数字。对于这些数字,最小的正数为双数,大约为5.0-10-324。对非标准化数字的支持总是会引起很多问题。似乎MQL5 支持非正常化 数字的操作,尽管手册上没有说什么。那么问题来了,函数MathIsValidNumber()对这样的数字应该如何反应?

我们可以确保MQL5 不考虑非标准化的数字等于零

double a=-7.56414503782948460000 e-321;
PrintFormat("a = %.18e",a);
if(a==0.0)Print("a == 0.0");
else Print("a != 0.0");

得到

  a != 0.0
  a = -7.564145037829484600 e-321
至于你的例子

     double a=-7.56414503782948460000 e-321;
     int b=a;
     Print("b = ",b);

数字a 的绝对值远远小于1,所以整数 b 也等于0。这可能是正确的。

 
Interesting:

致开发者

我不明白ChartIndicatorDelete 的逻辑。用短名字工作的诀窍是什么?

按手柄添加,按短名称删除,这符合逻辑吗?

我想我应该把参数从名字改为句柄,或者添加一个带句柄的重复函数。

所有必要的功能都已经存在,请看IndicatorParameters()的例子。
 
Interesting:

是否有任何功能允许你设置/改变图表的高度

如果没有这样的功能,我希望能得到它。

EA_OBJPROP_CHART_ID