Pine script 如何在Pine脚本中从不同的时间段绘制漩涡指示器?

Pine script 如何在Pine脚本中从不同的时间段绘制漩涡指示器?,pine-script,Pine Script,我希望使用不同时间段的值绘制漩涡指示器。 到目前为止,它正在绘制值,但它们与该时间段的实际值不匹配。 目前,我希望在查看每日时间段(甚至是日内)的同时,绘制每周时间段的漩涡指示器值 这是涡流指示器的标准代码 period_ = input(14, title="Period", minval=2) VMP = sum( abs( high - low[1]), period_ ) VMM = sum( abs( low - high[1]), period_ ) STR =

我希望使用不同时间段的值绘制漩涡指示器。 到目前为止,它正在绘制值,但它们与该时间段的实际值不匹配。 目前,我希望在查看每日时间段(甚至是日内)的同时,绘制每周时间段的漩涡指示器值

这是涡流指示器的标准代码

period_ = input(14, title="Period", minval=2)

VMP = sum( abs( high - low[1]), period_ )
VMM = sum( abs( low - high[1]), period_ )
STR = sum( atr(1), period_ )
VIP = VMP / STR
VIM = VMM / STR

plot(VIP, title="VI +", color=#3BB3E4)
plot(VIM, title="VI -", color=#FF006E)
这就是我所尝试的,绘制不正确的值

period_ = input(14, title="Period", minval=2)
[weekly_high, weekly_low, weekly_close] = security(syminfo.tickerid, "W", [high, low, close], barmerge.gaps_off, barmerge.lookahead_off)

pine_atr(length) =>
    trueRange = na(weekly_high[2])? weekly_high[1]-weekly_low[1] : max(max(weekly_high[1] - weekly_low[1], abs(weekly_high[1] - weekly_close[2])), abs(weekly_low[1] - weekly_close[2]))
    rma(trueRange, length)

weekly_VMP = sum( abs( weekly_high[1] - weekly_low[2]), period_ )
weekly_VMM = sum( abs( weekly_low[1] - weekly_high[2]), period_ )
weekly_STR = sum( pine_atr(1), period_ )
weekly_VIP = weekly_VMP / weekly_STR
weekly_VIM = weekly_VMM / weekly_STR

plot(weekly_VIP, title="VI +", color=#3BB3E4)
plot(weekly_VIM, title="VI -", color=#FF006E)

我们将非常感谢您提供的任何帮助。

您可以直接向安全功能提供以下值:

//@version=4
study("Vortex",overlay=true)

period_ = input(14, title="Period", minval=2)

VMP = sum( abs( high - low[1]), period_ )
VMM = sum( abs( low - high[1]), period_ )
STR = sum( atr(1), period_ )
VIP = VMP / STR
VIM = VMM / STR

plot(VIP, title="VI +", color=#3BB3E4)
plot(VIM, title="VI -", color=#FF006E)

[weekly_VIP, weekly_VIM] = security(syminfo.tickerid, "W", [VIP, VIM], barmerge.gaps_off, barmerge.lookahead_off) // Repaint
//[weekly_VIP, weekly_VIM] = security(syminfo.tickerid, "W", [VIP[1], VIM[1]], barmerge.gaps_off, barmerge.lookahead_off) // Won't repaint

plot(weekly_VIP, title="VI +", color=#3BB3E4)
plot(weekly_VIM, title="VI -", color=#FF006E)

请注意,这样您将获得最新的每周漩涡值,但指示器将重新绘制。为了避免你不得不使用上一周蜡烛的漩涡值(注释行)

就像一个符咒……太酷了!谢谢你的回答!谢谢你的提示。Pine脚本很难理解它是如何做到这一点的。看起来您正在将每日值传递到
security()
函数中,但实际上您正在将以前使用的公式传递到函数中,以便在每周时间刻度上再次使用。奇怪的逻辑在我看来,但是的,它似乎工作!文档中对此进行了详细说明,请参见: