[英]How to get close price of a specific date
我下面的代码在我输入的日期的收盘价处绘制了一条水平线。 但是,它仅适用于图表上的“每日”时间范围。 我需要它在任何时间范围内工作(主要是 15 分钟时间范围)。 对于任何其他时间范围,它不会 plot 实际收盘价。 相反,它绘制最后一根蜡烛的收盘价。
我尝试了安全性 function,但我无法在 if 条件下使用它。 但是,如果条件是我要求验证我输入的日期。
//@version=4
study("How to get actual close price for a specific date", overlay=true)
text = input(false, type=input.bool, title="---------------------Select Date--------------------------")
startDate = input(title="Date", type=input.integer,
defval=12, minval=1, maxval=31)
startMonth = input(title="Month", type=input.integer,
defval=5, minval=1, maxval=12)
startYear = input(title="Year", type=input.integer,
defval=2021, minval=1800, maxval=2100)
Time_start = timestamp(syminfo.timezone, startYear, startMonth, startDate, 00, 00)
Time_end = timestamp(syminfo.timezone, startYear, startMonth, startDate, 23, 59)
pinDateRange = time >= Time_start and time <= Time_end
var pclose = 0.00
if pinDateRange
pclose := close
// pclose := security(syminfo.tickerid, 'D', close)
plot(pclose, title="Close Price of Selected Date", color=#F94D00, linewidth=1, style=plot.style_stepline, offset=-9999, trackprice=true)
尝试使用此示例作为参考:
//@version=4
study("Plot value starting n months/years back", "", true)
monthsBack = input(3, minval = 0)
yearsBack = input(0, minval = 0)
fromCurrentDateTime = input(false, "Calculate from current Date/Time instead of first of the month")
targetDate = time >= timestamp(
year(timenow) - yearsBack,
month(timenow) - monthsBack,
fromCurrentDateTime ? dayofmonth(timenow) : 1,
fromCurrentDateTime ? hour(timenow) : 0,
fromCurrentDateTime ? minute(timenow) : 0,
fromCurrentDateTime ? second(timenow) : 0)
beginMonth = not targetDate[1] and targetDate
var float valueToPlot = na
if beginMonth
valueToPlot := high
plot(valueToPlot)
bgcolor(beginMonth ? color.green : na)
https://www.pinecoders.com/faq_and_code/#how-can-i-plot-a-value-starting-n-monthsyears-back
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.