这-input.timeframe("")
显示列表'1分钟','2小时','1天'等-但仍然返回数字/字符串表示-即4hr = 240, 1天= D
我的目标是实现相同的,但更少/自定义时间框架(list)。但是,如果我设置options
参数(例如。["6 hours"]
),它返回字符串原样-不是360(这是security
调用所需的)
有什么解决方法,如。"6 hours"在名单上,但得到价值360?
input.timeframe()的返回值不是数字表示。
它总是一个字符串。
会出现如果你进入较低的时间范围,就会变成一个数字。
示例:1小时的时间框架表示为60分钟,因此input.timeframe()将返回字符串60
.
这个60
字符串可以在request.security()调用中使用。
编辑1
你不能直接从字符串1 hour
中得到60
.
你必须在得到输入后手动翻译。
像这样。
//@version=5
indicator("SO", overlay=false)
i_res = input.timeframe('D', "Resolution", options=['1 hour','D', 'W', 'M'])
res = switch i_res
'1 hour' => '60'
=> i_res
if barstate.islast
var label lbl = label.new(na, na, "")
label.set_xy(lbl, bar_index, high)
label.set_text(lbl, res)
plot(na)