Pinescript - 获取一个系列的最后一个元素并将其添加到另一个系列
Pinescript - Get last element of one series and add it to another series
我想计算每日 ATR 并绘制前一天的收盘价 +/- ATR
我能够计算每日 ATR,但是当我将其添加到前一天的收盘价时,我没有得到一条清晰的水平线。
//@version=4
study(title="Natr levels", shorttitle="Natr levels", overlay = true)
true_range(h, l, c) =>
max(h - l, max(abs(h - c[1]), abs(l - c[1])))
res = input(title="Resolution", type=input.resolution, defval="D")
t = syminfo.tickerid
daily_high = security(t, res, high)
daily_low = security(t, res, low)
daily_close = security(t, res, close)
natrS = sma(true_range(daily_high, daily_low, daily_close), 22)
width = input(2, minval=1)
vPP = daily_close
// TODO: try to find array.get()
vR1 = daily_close + natrS // should only add last value
vS1 = daily_close - natrS
plot(vPP, color=color.yellow, title="PP", linewidth = width, style=plot.style_stepline)
plot(vS1, color=color.green, title="S1", linewidth = width, style=plot.style_stepline)
plot(vR1, color=color.red, title="R1", linewidth = width, style=plot.style_stepline)
我如何添加一个常量,即每日 ATR 的最后一个值到前一天的收盘值?
虽然这不是每日 atr。这将计算 ATR 的 22 个周期(如图表时间范围的 22 个周期,而不是每日)平均值。要正确获取 atr,您需要在安全调用的上下文中使用它。
daily_close = security(syminfo.tickerid, "D", close)
daily_ATR = security(syminfo.tickerid, "D", atr(22)) // <-- Correct
daily_TR = security(syminfo.tickerid, "D", tr)
sma_atr = sma(daily_TR, 22) // <-- Incorrect
plot(daily_close)
plot(daily_close + daily_ATR, color = color.aqua) // <-- Correct
plot(daily_close + sma_atr, color = color.fuchsia) // <-- Incorrect
我想计算每日 ATR 并绘制前一天的收盘价 +/- ATR
我能够计算每日 ATR,但是当我将其添加到前一天的收盘价时,我没有得到一条清晰的水平线。
//@version=4
study(title="Natr levels", shorttitle="Natr levels", overlay = true)
true_range(h, l, c) =>
max(h - l, max(abs(h - c[1]), abs(l - c[1])))
res = input(title="Resolution", type=input.resolution, defval="D")
t = syminfo.tickerid
daily_high = security(t, res, high)
daily_low = security(t, res, low)
daily_close = security(t, res, close)
natrS = sma(true_range(daily_high, daily_low, daily_close), 22)
width = input(2, minval=1)
vPP = daily_close
// TODO: try to find array.get()
vR1 = daily_close + natrS // should only add last value
vS1 = daily_close - natrS
plot(vPP, color=color.yellow, title="PP", linewidth = width, style=plot.style_stepline)
plot(vS1, color=color.green, title="S1", linewidth = width, style=plot.style_stepline)
plot(vR1, color=color.red, title="R1", linewidth = width, style=plot.style_stepline)
我如何添加一个常量,即每日 ATR 的最后一个值到前一天的收盘值?
虽然这不是每日 atr。这将计算 ATR 的 22 个周期(如图表时间范围的 22 个周期,而不是每日)平均值。要正确获取 atr,您需要在安全调用的上下文中使用它。
daily_close = security(syminfo.tickerid, "D", close)
daily_ATR = security(syminfo.tickerid, "D", atr(22)) // <-- Correct
daily_TR = security(syminfo.tickerid, "D", tr)
sma_atr = sma(daily_TR, 22) // <-- Incorrect
plot(daily_close)
plot(daily_close + daily_ATR, color = color.aqua) // <-- Correct
plot(daily_close + sma_atr, color = color.fuchsia) // <-- Incorrect