十月 31, 2019

警报中引入了变量

我们很高兴介绍我们对警报所做的最新更改和改进—现在支持带有变量的警报消息。您可以使用价格、指标值、蜡烛图时间和其他类型作为变量。触发警报并发送通知后,您将能够看到最新的变动。您需要使用变量的特定占位符,以便返回最新的值。请您参阅下面的占位符列表。若您希望在触发警报时收到相应的值,则它们应当在创建和修改警报的对话框中作为一部分的消息被使用。

例如,您可以为NASDAQ:AAPL股票代码创建警报,并在消息中包含以下内容:

{{exchange}}:{{ticker}}, Price = {{close}}, Volume = {{volume}}

触发警报后,您将能够看到这些值,而不是之前显示的占位符。

以下是可用占位符的列表。

1. {{ticker}}-返回代码(例如AAPL或BTCUSD)。

2. {{exchange}}-交易代码对应的交易所(例如NASDAQ,NYSE或AMEX)。延迟的数据应当包括DL或DLY参数,例如NYMEX_DL。

3. {{close}},{{open}},{{high}},{{low}},{{time}},{{volume}} –触发警报的蜡烛图上对应的值。指标,绘图对象和图表的特殊类型的警报取决于时间周期;而价格的警报始终基于1分钟的时间周期进行计算。{{time}}是蜡烛图的UTC时间,格式为yyyy-MM-ddTHH: mm: ssZ。例如,2019-08-27T09:56:00Z。其余值为定点数,例如1245.25。

4. {{timenow}}-触发警报的确切时间。它的格式与蜡烛图时间{{time}}相同。不论选择的时间周期如何,它都精确到秒。

5. {{plot_0}},{{plot_1}},…{{plot_19}} —用于设置警报的相应指标series。指标series是您在图表上看到的值。例如,内置的“成交量”指标具有两个series-“成交量”和“平均成交量”。您可以在指标上创建警报,并在消息中包括以下内容:

Volume: {{plot_0}}, Volume average: {{plot_1}}

触发警报时,您会看到相应的值。

注意:plot从0开始编号。 

相同的编写规则适用于用Pine语言编写的脚本。请根据代码中调用顺序对series进行排列。请参阅下面的功能列表,它们的series可用于警报的消息中:

  • plot;
  • plotshape;
  • plotchar;
  • plotarrow;
  • plotbar;
  • plotcandle

如果此类函数的series参数包含Boolean值,则警报消息中将替换0或1。请记住,某些功能—plotcandle和plotbar-分别显示4个series,并且在编号逻辑中将考虑其中的每个series。

但是,这种获取plot的方法并不总是很方便。为了使事情变得容易,我们增加了使用指标名称调用plot的支持。为此,请使用占位符

{{plot(“ Name”)}}

其中Name是series的名称。

对于内置指标,唯一支持的名称是英文版本中使用的名称。在带有用series name访问series的成交量指标的示例中,您将需要在消息中包括以下内容:

Volume: {{plot(“Volume”)}}, Volume average: {{plot(“Volume MA”)}}

同样,为了使用Pine 脚本获取该series,您应该从相应函数的title参数中指定name(除plotcandle和plotbar之外,所有绘图函数均支持该名称),因此指标的语言版本将不再重要。如果您无权访问代码,则可以在样式设置中看到该名称。

例如,访问此脚本的值:

//@version=4
study("My script")
plot(close, title="series")

在警报消息中包括

{{plot(“ series”)}}

相同的名称显示在脚本设置中:

在单个警报中使用多个指标时,您可以引用第一个指标的值—第一个下拉列表中指标的值。请参见下面的示例。

当警报包含这些设置时,您只能引用MA指标的值。要访问脚本“My script”的值,您需要在第一个下拉列表中选择它。

您还可以在alertcondition函数的message参数(message argument)中指定新的占位符。例如:

//@version=4 study("My script") alertcondition(close>open, message="price {{ticker}} = {{close}}")

来自参数的消息将被自动拉入警报创建对话框中的消息窗口。
请注意,从Alertcondition函数创建具有条件的警报时,值替换仅适用于v4脚本或更高版本。

通过将消息中的变量值发送到所需地址,您可以将触发警报中的值与Webhooks功能一起使用。这为使用警报功能的您扩展了更多可能性。