【问题标题】:User defined function returns series instead of value用户定义的函数返回序列而不是值
【发布时间】:2019-03-05 09:03:53
【问题描述】:

我在 pine 脚本中定义了用户定义的函数来获取某个日期的时间戳。但是在执行时它返回错误为

添加到图表操作失败,原因:第 35 行:无法使用参数(系列、系列、文字整数、文字整数、文字整数)调用 timestamp;可用重载:时间戳(整数、整数、整数、整数、整数) => 整数;时间戳(字符串,整数,整数,整数,整数,整数)=> 整数;

我的代码规范:

getdate() =>
    tt = timenow - 1549238400
    yr = year(tt)
    mt = month(tt)
    dt = dayofmonth(tt)
    timestamp(yr, mt, 01, 0, 0)

value = getdate()
plot(value, color = red, linewidth = 5, title = "27", style = histogram)

我期待从现在(2019 年 3 月 5 日)开始的 29 天前(2019 年 2 月 4 日)的时间戳功能。但不知何故,我得到了系列,这导致了一个错误。

任何帮助将不胜感激。

【问题讨论】:

  • 如果您查看手册,您会看到 year(time)month(time) 函数返回 seriestimestamp() 函数需要 integer 值。这就是您收到此错误的原因。

标签: finance pine-script


【解决方案1】:

在 Pine v4 中,timestamp() 函数可以接受系列,您可以使用此脚本获取某个日期的时间戳:

//@version=4
study("My Script")
dayTms()=>
 yr = year(time)
 mt = month(time)
 dt = dayofmonth(time)
 timestamp(yr, mt, dt, 0, 0)

requiredDayTms(daysAgo) =>
 tt = timenow - 86400 * daysAgo * 1000
 yr = year(tt)
 mt = month(tt)
 dt = dayofmonth(tt)
 timestamp(yr, mt, dt, 0, 0)

// argument value is the indent (in days) from the current bar
d=requiredDayTms(5)
plot(d == dayTms() ? 1:0, color=color.red, style=plot.style_histogram, linewidth=5 )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2021-09-11
    • 2018-05-08
    • 2017-12-04
    • 1970-01-01
    • 2018-08-29
    相关资源
    最近更新 更多