Пользовательская функция возвращает серию вместо значения - PullRequest
0 голосов
/ 05 марта 2019

Я определил пользовательскую функцию в сосновом скрипте, чтобы получить временную метку относительно некоторой даты.Но при выполнении он возвращает ошибку как

Add to Chart operation failed, reason: line 35: Cannot call `timestamp` with arguments (series, series, literal integer, literal integer, literal integer);available overloads: timestamp(integer, integer, integer, integer, integer) => integer; timestamp(string, integer, integer, integer, integer, integer) => integer;

Мой код:

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)

Я ожидаю дату 29 дней назад (4 февраля 2019 года) с этого момента (5 марта2019) для функции отметки времени.Но каким-то образом я получаю серию, которая приводит к ошибке.

Любая помощь будет оценена

1 Ответ

0 голосов
/ 28 июня 2019

В 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 )
...