如何在 Pine Script 中绘制不同时间范围内的涡流指标?
How to plot a vortex indicator from a different timeframe in Pine Script?
我希望使用不同时间范围内的值来绘制漩涡指标。
到目前为止,它正在绘制值,但它们与该时间范围内的实际值不匹配。
目前,我希望在查看每日时间范围(甚至日内)的同时绘制每周时间范围内的 Vortex 指标值。
这是涡流指示器的标准代码,
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)
我们将不胜感激任何形式的帮助。
您可以直接将 Vortex 值提供给安全函数:
//@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)
请注意,通过这种方式您将获得 Vortex 的最新每周值,但指标会重新绘制。为避免您必须使用之前每周蜡烛的漩涡值(注释行)
我希望使用不同时间范围内的值来绘制漩涡指标。 到目前为止,它正在绘制值,但它们与该时间范围内的实际值不匹配。 目前,我希望在查看每日时间范围(甚至日内)的同时绘制每周时间范围内的 Vortex 指标值。
这是涡流指示器的标准代码,
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)
我们将不胜感激任何形式的帮助。
您可以直接将 Vortex 值提供给安全函数:
//@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)
请注意,通过这种方式您将获得 Vortex 的最新每周值,但指标会重新绘制。为避免您必须使用之前每周蜡烛的漩涡值(注释行)