mql5语言的特点、微妙之处以及技巧 - 页 193

 
fxsaber:

绝对所有的规则都是人为的。

我同意。问题是艺术的水平 :)

 

请教--如果你使用的自定义指标 有很多(比如说50个)参数,管理指标参数的最佳方法是什么?(除了直接将指标的参数转移到专家对,这里一切都很清楚)

我在别人的代码中发现了在调用iCustom时使用*.set文件加载的情况,但我没有发现这种情况,而且看起来它在测试中也不起作用。

也许有人知道,而且有一些没有记载的技巧?

 

最新的发布版本是2650。像这样的脚本不编译是可以的。

struct A_INFO
{
  int a;
};

bool operator<(const A_INFO &First,const A_INFO &Second) //operator< has invalid parameters count
{
  return First.a<Second.a;
}

void OnStart()
{
}

而这是正常的。

struct A_INFO
{
  int a;
};

bool operator<(const A_INFO &First)
{
  return true;
}

void OnStart()
{
}

它是在期待我比较1个值吗?或者说,为什么不能让经营者成为一个非成员结构

 
还有第二个后续问题。为什么ArraySort 不能应用于这种结构的数组?是什么阻止了它们使用<运算符进行比较,而这一运算符是被定义的?
 
traveller00:

它希望我比较1个值?

第二个值(在运算符左边的那个)是这样的。

 
fxsaber:

第二个值(操作员左边的那个)是这样的。

如果我没有让操作者成为结构的成员,而是全局性的,为什么会这样?或者我不能让它成为全球性的吗?C++的行为方式不同。

 
traveller00:

如果我让操作者成为全局的而不是结构的成员,为什么会这样?或者我不能在全球范围内进行吗?C++的行为方式不同。

我对这种运营商一无所知。

 
traveller00:
而我对后续行动的第二个问题。为什么ArraySort不能应用于这种结构的数组?是什么阻止了它们通过定义的运算符<进行比较?

内置的ArraySort只是一个函数,为所有标准类型重载。

类和其他OOP是一种帮助。如 果所有类型(结构)都有一个共同的祖先 SB中的CObject),以此类推...

 
Aleksey Mavrin:

内置的ArraySort只是一个函数,为所有标准类型重载。

类和其他OOP是一种帮助。如 果所有类型(结构)都有一个共同的祖先(SB中的CObject),以此类推...

是的,我对里面的情况有一个大致的了解。这个问题倒是不需要回答。但作为一个建议,要注意其他变种的实现,例如STL,并以类似的方式处理容器,在这里我们可以编写通用的东西,包括分类器。

 
traveller00:

我对里面的情况有一个大致的了解。这个问题并不是为了得到答案。但作为一个建议,要注意其他变体的实现,例如STL,并对容器做类似的工作方式,在那里我们可以编写通用的东西,包括分类器。

毫无疑问,STL是肯定的)虽然ArraySort 可以通过使其基于模板然后使用它来重载,但我不是模板方面的专家,我习惯于使用简单的类层次结构。