在Pine Script中,如何找到基于特定天数的价格?我试过这样的东西。。。
// Find the price 90 days ago
target = time - 90 * 60 * 60 * 24 * 1000
valuewhen(time < target, close, 1)
然而,time < target
似乎从未返回true——可能是因为当前条的时间不可能同时也在过去。也许valuewhen()
的设计不是为了与每个小节上变化的动态值一起使用?
我是否需要使用循环,并扫描过去的每一个栏,直到找到我要找的日期?
也许有更好的方法,但我目前使用的解决方法是一个带有for
循环的函数,向后扫描,直到找到合适的日期。这是我的功能:
priceXDaysAgo(numDays) =>
targetTimestamp = time - numDays*60*60*24*1000
// Declare a result variable with a "void" value
float result = if false
1
// We'll scan backwards through the preceding bars to find the first bar
// earlier than X days ago (it might be a little greater than X days if
// there was a break in trading: weekend, public holiday, etc.)
for i = 1 to 1000
if time[i] < targetTimestamp
result := close[i]
break
result
然后,您可以在脚本中的任何位置调用该函数:
priceXDaysAgo(90)