LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > Pine语言入门(八)如何定义一个数字输入函数

Pine语言入门(八)如何定义一个数字输入函数

2020-11-10 金金 来源:区块链网络

TradingView脚本经常具有影响脚本行为的输入选项,例如移动平均线的长度。

举个例子就是假如我定义一条移动平均线是这的:

jjma = sma(close,30)

这样只是在图上显示一条固定的30日移动平均线,如我想把“30”这个数做成一个输入选项,可以随时改成21、89等,即把这个数由常量变成一个变量,就需要用到input()函数了。

我们如何将这样的数字输入选项添加到脚本中?

在TradingView中创建数字输入选项

这些变量的值由输入选项手动设置。这样,我们不必编辑脚本的源代码即可更改变量的值。相反,我们只需要在脚本的“输入”窗口中更改其设置即可。

这些手动输入选项是通过input()函数创建的。此函数还返回设置的当前值。通过将该值分配给变量,可以在脚本代码中使用输入的当前设置。

在TradingView中可以进行几种输入,例如true / false复选框和符号搜索框。数字输入也是可能的。例如,它们使我们能够手动更改EMA的长度或价格区间的偏移量。为此,我们将input()函数的type参数设置为integer(对于接受整数的输入)或float,这将创建一个允许十进制值的浮点输入。

#在TradingView中创建数字输入的默认语法

在TradingView中创建数字输入函数格式大致是这样的:

numericalVariable = input(title, type=integer/float, minval, maxval, step, defval, confirm)

input()函数括号中的不同参数的含义以及用法如下:

title可选参数,用于指定将哪些文本放在输入选项(例如title=”EMA Length”)之前。

type必填参数,当设置为integer或时float,将创建数字上/下选项(请参见下图)。

minval可选参数,用于设置输入的最小值(如minval=20)。在输入选项中输入一个小于此值的值时,输入将重置为该minval值。

maxval定义输入最大值的可选参数(例如maxval=1.5)。当我们输入一个大于此值的值时,数字输入将自动减小到该maxval设置。

step可选参数,用于设置脚本的“输入”窗口中的选项递增和递减的步长。的值step确定当我们单击小的向上/向下箭头或使用键盘的箭头键时输入值的变化量。如果不设置input(),则step默认为1。

defval必填参数,用于设置选项的默认值,可以是整数(如defval=2)或十进制(defval=1.005)。使用defval脚本后,只要将其添加到图表中就可以开始计算。

confirm可选参数,当设置true为时,要求用户在将脚本添加到图表之前确认输入的值。在启动“输入”窗口之前,只input()需要confirm启用一个语句。confirm默认为false,因此缺少该参数时,不需要确认输入选项。就是是否需要一个确认按钮,如果不设置,默认输入对话框之后,就是确认了。

输入选项的值由input()函数返回。该整数或浮点值始终需要分配给变量。

该integer(整型)和float(浮点型)对应的的输入input()对话框图示:

TradingView中的数字输入示例

在讨论代码之前,让我们首先看一下示例脚本的功能。它在“输入”选项卡中创建两个选项:

一个是偏移量Offset,一个是是否显示蓝色的线。

带数字输入的图示:

当我们将此脚本添加到图表时,如下:

如果我们将“偏移”整数设置更改为7并启用“蓝线”?复选框选项,指示器如下所示,变成了蓝线。

示例指标的代码如下:

study(title=”Offset plot”)
offsetPlot = input(title=”Offset”, type=integer,
defval=5, minval=1, maxval=10)
blueLine = input(title=”Blue line?”, type=bool, defval=false)
plotColour = blueLine ? blue : red
plot(series=offset(close, offsetPlot), color=plotColour)

我们从设置指标属性的study()函数开始。然后,创建两个输入函数。第一个是名为“偏移”的整数,其默认值为5,允许范围为1至10。该输入的当前值存储在变量中。

第二个输入是名为“ Blue line?”的真/假输入,默认情况下,不选中,并将其当前值放入输入变量中。

input()defvalminval=1maxval=10offsetPlotbooldefval=falseblueLine

然后,我们使用条件三元运算符(?:)为plotColour变量赋值。该运算符评估一个真/假条件,当该条件为真时返回其第二个值,如果该条件为假则返回其第三个值(Pine Script Language Tutorial,nd)。在我们的示例中,评估条件是blueLine输入变量。当该变量为true时(表示已启用其复选框),blue则由条件运算符返回并分配给该plotColour变量。什么时候出现“蓝线”?输入未选中,red存储在中plotColour。

我们以结束该示例plot(),该函数在图表上显示一系列数据(TradingView,nd)。该函数的series参数使用该offset()函数将收盘价向右移动一些K线柱(TradingView,nd)。offsetPlot输入的变量指定了移动的小节数量,我们之前给它的默认值为5。此绘制线的颜色设置为plotColour变量。

总结

输入选项通过添加到脚本中input()。该函数还返回输入选项的当前值,我们需要将该值分配给变量。该type参数允许指定输入的类型:通过此操作,integer我们可以得到整数的输入,同时float可以生成允许使用十进制值的浮点输入。数字输入的最小值和最大值使用minval和maxval参数设置。

有想制定自己的指标和交易策略的伙伴,欢迎大家添加微信jinvlog交流。

注册Tradingview平台,点击Tradingview。

金金的分区间定投最近已经停止定投,等待更高位置,对分区间定投不了解的可以点击链接:考虑周期的定投——才是最适合普通人的投资方法

—-

编译者/作者:金金

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...