如何使用多时间周期(MTF)功能?

MTF功能允许您使用时间周期下拉菜单,只需在输入中单击两次即可更改任何指标的时间周期。

 

Pine 编码人员可以在他们自己的脚本中使用我们在内置指标中使用的相同时间周期参数。 通过简单地将其添加到脚本的指标声明语句中,编码人员现在可以轻松地将 MTF 功能添加到脚本中,并让用户决定他们希望指标运行的时间周期。

使用时间周期参数会自动将Timeframe输入字段添加到脚本的输入中。该参数的默认值可以是任何有效的时间周期字符串。但是,如果它未包含在字段下拉菜单中可用的选项中,则默认的跟商品一样将显示为字段中的默认值。使用空字符串 ("") 表示图表的时间范围。

例如,假设您想要使用时间周期为5m的图表,但希望它显示基于1D时间周期的移动平均线。以前,您可以使用request.security函数来执行此操作:

//@version=5
indicator(title="Moving Average", shorttitle="MA with security", overlay=true)
len = input.int(9, minval=1, title="Length")
src = input.source(close, title="Source")
out = ta.sma(src, len)
tf = input.timeframe(title="Timeframe", defval="1D")
s1 = request.security(syminfo.tickerid, tf, out, gaps=barmerge.gaps_on)
plot(s1, color=color.red)
Java


但是,现在您只需将 timeframe="D" 添加到您的指标调用中:

//@version=5
indicator(title="Moving Average", shorttitle="MA with timeframe", overlay=true, timeframe="D", timeframe_gaps=true)
len = input.int(9, minval=1, title="Length")
src = input.source(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out = ta.sma(src, len)
plot(out, color=color.blue, title="MA", offset=offset)
Java

timeframe参数提供了一种向相对简单的脚本添加 MTF 功能的简便方法。添加 timeframe_gaps=true 是可选的,原则上类似于 `request.security()` 函数中的 `gaps` 参数。更复杂的 Pine 脚本仍然需要request.security来使用更高的时间周期信息来实现高级计算。

请注意,timeframe.* 变量的值将表示脚本当前运行的时间周期,由脚本输入中的Timeframe字段的值确定,与图表的时间周期无关。另请注意,由于在脚本中使用 timeframe 参数时较高的时间范围值包含间隙(除非 timeframe_gaps 设置为 false),timeframe.* 变量也将包含时间转换之间的 n/a 值。此行为是预期的。您可以在我们帮助中心了解更多资讯。