如何在自定义工具上精确绘制先前的最高价和最低价?

How to Draw Previous High and Low on Custom Instrument precisely?

美好的一天, 我做了一个标记前一天的高点和低点的指标。

它运行良好,但适用于自定义仪器,例如: 美元欧元 * 美元英镑 * 美元日元 * 美元瑞郎 * 美元澳元 * 美元新西兰元 * 美元加元

而且,有时它并不完全适合。

enter image description here

请问我该如何正确操作?

//@version=4
study("Prev H&L", overlay=true)
security_1 = security(syminfo.tickerid, '1440', high[1],  lookahead=barmerge.lookahead_on)
security_2 = security(syminfo.tickerid, '1440', low[1],   lookahead=barmerge.lookahead_on)
plot(timeframe.isintraday ? security_1 : na, title="Yhigh",  trackprice=true, offset=-99999, color=#a5d6a7, linewidth=2)
plot(timeframe.isintraday ? security_2 : na, title="Ylow",   trackprice=true, offset=-99999, color=#a5d6a7, linewidth=2)

此致。

传播是从较低的分辨率构建的,因此仅通过安全请求另一个分辨率在这里是不合适的。

您应该使用简单搜索前一整天的高点:

//@version=4
study("Prev H&L", overlay=true)

dailyTime = security(syminfo.tickerid, "D", time, lookahead=true)
prevDayEnd = barssince(dailyTime != dailyTime[1]) + 1

prevHigh = high[prevDayEnd]
prevLow = low[prevDayEnd]
for i = prevDayEnd + 1 to 10000
    if nz(dailyTime[i]) != nz(dailyTime[prevDayEnd])
        break

    if high[i] > prevHigh
        prevHigh := high[i]

    if low[i] < prevLow
        prevLow := low[i]

plot(timeframe.isintraday ? prevHigh : na, title="Yhigh", offset=-24, color=#a5d6a7, linewidth=2)
plot(timeframe.isintraday ? prevLow : na, title="Ylow",   offset=-24, color=#a5d6a7, linewidth=2)