错误、漏洞、问题 - 页 814

 
paladin800:

在外部EA参数中,我只使用参数R=1或2或12或13(一般简单的例子)。你可以在OnInit()中检查这个参数的正确性,如果一个公民错误地输入了另一个数字,那么就报告错误。然而,有ENUM_...类型的输入。(例如:ENUM_MA_METHOD),此时你可以简单地从扩展的窗口中选择一个值。

问题。是否有一个选项,我可以做这样一个结构,以便在外部参数中通过与ENUM_...只出现程序员想要的东西,而不需要检查OnInit()。我在文档中没有找到。如果没有,愿望是做这样一件事。

ENUM也是如此。

enum MyLimitedType
  {  
   Адын = 1,
   Дыва = 2,
   Трынацать = 13,
   Читырныцыть = 14,
  };
我甚至做了一个肮脏的把戏,使用ENUM双数组,步骤有限(例子在这里),但在这里我不能不转换到OnInit(),当然。
 
MetaDriver:

ENUM也是如此。

我甚至下定决心使用ENUM来创建有限步骤的双数组(这里的 例子),但你当然不能不转换到OnInit()。
像这样的东西!谢谢你的链接,我自己会弄清楚的。
 
paladin800:
像这样!谢谢你的链接,我自己会弄清楚的。

这也适用于输入。

enum MyLimitedType
  {  
   Адын = 1,// почти Адын 
   Дыва = 2,// совсем Дыва
   Трынацать = 13,// ++ Трынацать
   Читырныцыть = 14,// Читырныцыть.--
  };

键入代码并调出窗口,看看枚举选项是什么样子。

代码将使用枚举变体,输入窗口将使用注释。

 

我有一个这样的枚举。

enum ENUM_FIBO_LEVEL
  {
   O_0,  //0.0
   O_236,//0.236
   O_382,//0.382
   O_5,  //0.5
   O_618 //0.618
  };

ZY如果枚举器选项没有分配值,如MetaDriver ,那么默认值将从0开始连续分配。

Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
  • www.mql5.com
Основы языка / Операции и выражения / Операции присваивания - Документация по MQL5
 
Urain:

这也适用于输入。

键入代码并调出窗口,看看枚举选项是什么样子。

代码将使用枚举变体,输入窗口将使用注释。

是的,确认,这一切都很有效。:)

paladin800
像这样的东西!谢谢你的链接,我自己会去查的。
祝你好运。大型枚举(如果需要的话)我尽量自动生成,因为首先我很懒,其次是错误/类型较少。 特别是那些枚举,在链接上,是由这些脚本生成的(见预告片)。
附加的文件:
 
如何在OnTesterPass中知道哪些参数被用于优化?我只看到这些参数是在FrameInputs函数的 数组参数开始时返回的,但在什么时候优化参数结束,常量参数开始?
 
marketeer:
如何在OnTesterPass中知道哪些参数被用于优化?我只看到这些参数是在FrameInputs函数的数组参数开始时返回的,但在什么时候优化参数结束,常量参数开始?
我不太明白这个问题,但我可以推荐一个有用的函数--ParameterGetRange
 
Rosh:
我不太明白这个问题,但我可以建议一个有用的函数--ParameterGetRange
是的,这很好。在当地的帮助下,尚无法获得。
 
正如我所发现的,被截断的优化结果 被传递到OnTesterPass和优化结果标签一样。我希望至少通过这种方式可以得到全套的数据。因此,躺在SD中的第459431号 申请是唯一的出路,如果它被完成的话(如果它被完成,可能是在锦标赛之后,唉)。
 

你能告诉我,如果要调用的指标名称包含在一个变量中,为什么在获取指标句柄时发生错误?

我的意思是,不存在这样的错误。

handle=iCustom(_Symbol,tf_ind,"Name_Indicator",param_ind);

这就是我们如何得到错误4802 (指标不能被创建)。

string lnm_ind="Name_Indicator";
//---
handle=iCustom(_Symbol,tf_ind,lnm_ind,param_ind);