文章 "用于在EA交易中包含指标的现成模板(第一部分):振荡指标"

 

新文章 用于在EA交易中包含指标的现成模板(第一部分):振荡指标已发布:

本文从振荡指标类开始研究标准指标,我们将创建现成的模板,用于EA中——声明和设置参数、指标初始化和去初始化,以及从EA中的指标缓冲区接收数据和信号。

将指标包括到EA中并在EA中使用指标缓冲区中的数据是一项相当简单的任务,尽管这需要不断浏览参考资料。我们需要记住传递给指标创建函数的所有参数,将其中一些参数形式化为EA输入,引入有效性检查等。为了获得数据,我们需要编写函数,从所需的柱形中返回必要的数据。所有这些都涉及到花费时间访问帮助、将所需变量输入EA、编写用于接收和监控数据以确定信号的函数等。

本文的目的是创建用于将指标包括到EA的模板。让我们来看看振荡器类别中的指标,它们的输入变量,创建一个指标句柄并从中获得所需的数据。


作者:Artyom Trishkin

 
为什么要将 wint 改为 int?
//--- 设置并在必要时调整计算周期
   period=int(InpPeriod<1 ? 14 : InpPeriod);

我知道输入是一个常数。我只是无法想象这项任务

好吧,这只是为了防止傻瓜输入负数,但最好能有一个提示,提醒用户输入错误。

 
Valeriy Yastremskiy #:
为什么要从 uint 变为 int?

我知道输入是一个常数。我只是无法想象这项任务

好吧,这只是为了防止一个傻瓜把负数放进去,但这样的话,最好能有一个提示,提醒这个人犯了一个错误。

InpPeriod 是一个输入变量。没有办法在这里输入减号。你可以在这里输入零。这种检查(小于 1 的检查)是一种不直接比较带零的数字的习惯--如果在另一个类似的结构中突然出现一个双类型的输入变量,这将使我避免直接比较两个双数字。是的,这是 "万无一失 "的。首先是我自己的原因--为了在将代码移植到其他地方时少犯错误。

 
Artyom Trishkin #:

InpPeriod - 输入变量输入。这里无法输入减号。你可以在这里放一个零。这种检查(小于 1 的检查)是一种不直接比较带零的数字的习惯--如果在另一个类似的结构中突然出现一个双类型的输入变量,就可以避免直接比较两个双数字。是的,这是 "万无一失 "的。首先是我自己的原因--为了在将代码移植到其他地方时少犯错误。

嗯,没错,就是 uint))))))你不能给它加上减号))))

 
Valeriy Yastremskiy #:

嗯,是的,wint)))))))不能打减号))))

零呢?

 
Alexey Viktorov #:

零呢?

零是可能的。但在这种情况下,指标将被设置为默认值。

但你问题的重点不在这里--你已经知道了零。

但我不会猜测

 
Artyom Trishkin #:

也可以为零。但在这种情况下,指标将设置为默认值。

但你的问题的重点不在这里--你已经知道了零。

但我不会猜测

没错。没必要猜这只是问瓦莱里的问题你不能写减号,那写零呢? You can't put a minus, but a zero?

 
Alexey Viktorov #:

零呢?

所以零就是电流))))作为一种万无一失的设计))))))

你还可以在键盘上加一个遮罩,这样就只能按数字键,其他键就不能按了))))))上世纪 90 年代的士兵就是这么做的))))))按其他键时,会出现大字警告))