在 pine 编辑器中查找时间范围内的最高值和最低值
Find the highest and lowest value for a time frame in the pine editor
作为一个绝对的新手,我正在尝试使用 Tradingview 的 pine 编辑器。
我写了一个简单的脚本来描绘 ema 和 dema 之间的区别。此外,我想获得所选时间范围内的最高值和最低值。
让我们假设一只股票在 6M 时间范围内的最高收盘价为 $120,3,最低收盘价为 $49,41。我想绘制这两条水平线,代表特定时间范围内的历史最高价和历史最低价。
//@version=4
study(title="Test")
biggest(series) =>
max = 0.0
max := nz(max[1], series)
if series > max
max := series
max
smallest(series) =>
min = 0.0
min := nz(min[1], series)
if series < min
min := series
min
fast = 14, slow = 50
length = input(fast, minval=1)
src = input(close, title="Source")
e1 = ema(src, length)
e2 = ema(e1, length)
dema = 2 * e1 - e2
band4 = hline(0, "Upper Band", color=#ff0000)
fastEMA = ema(close, fast)
slowEMA = ema(close, slow)
test = (dema - slowEMA)//(high1-low1)
plot(test,color=color.white)
您可以使用 highest()
和 lowest()
函数。
因此,使用您的示例,您可以按如下方式添加最高和最低波段:
//@version=4
study(title="Test")
hiloperiod = 200 // track highest/lowest of the last 200 periods
fast = 14, slow = 50
length = input(fast, minval=1)
src = input(close, title="Source")
e1 = ema(src, length)
e2 = ema(e1, length)
dema = 2 * e1 - e2
band4 = hline(0, "Upper Band", color=#ff0000)
fastEMA = ema(close, fast)
slowEMA = ema(close, slow)
test = (dema - slowEMA)//(high1-low1)
plot(test,color=color.white)
// Plot the highest and lowest values for the last hilo period.
hi=highest(hiloperiod)
lo=lowest(hiloperiod)
plot(hi, color=color.green, linewidth=2)
plot(lo, color=color.green, linewidth=2)
例如,在比特币价格上使用它会产生这张图。请注意绿线如何移动以表示该时间范围内的最高价和最低价
//@version=4
study(title="Help (Test)")
biggest(series) =>
max = 0.0
max := nz(max[1], series)
if series > max
max := series
max
smallest(series) =>
min = 0.0
min := nz(min[1], series)
if series < min
min := series
min
fast = 14, slow = 50
length = input(fast, minval=1)
src = input(close, title="Source")
e1 = ema(src, length)
e2 = ema(e1, length)
dema = 2 * e1 - e2
band4 = hline(0, "Upper Band", color=#ff0000)
fastEMA = ema(close, fast)
slowEMA = ema(close, slow)
test = (dema - slowEMA)//(high1-low1)
plot(test,color=color.black)
//[ADDON]
period = input("6M", "Period hi/lo detect", input.resolution) // Six Months
var hi = 0.0
var lo = 10e10
var br = 0
var lnhi = line.new(na, na, na , na)
var lnlo = line.new(na, na, na , na)
if change(time(period))
hi := test
lo := test
br := bar_index
lnhi := line.new(br, hi , br, hi, color=color.red, width=2)
lnlo := line.new(br, lo , br, lo, color=color.green, width=2)
float(na)
else
hi := max(test, hi)
lo := min(test, lo)
line.set_xy1(lnhi, br, hi)
line.set_xy2(lnhi, bar_index, hi)
line.set_xy1(lnlo, br, lo)
line.set_xy2(lnlo, bar_index, lo)
您的图表 test
具有六个月时间范围内的绝对最高值和最低值。
作为一个绝对的新手,我正在尝试使用 Tradingview 的 pine 编辑器。 我写了一个简单的脚本来描绘 ema 和 dema 之间的区别。此外,我想获得所选时间范围内的最高值和最低值。
让我们假设一只股票在 6M 时间范围内的最高收盘价为 $120,3,最低收盘价为 $49,41。我想绘制这两条水平线,代表特定时间范围内的历史最高价和历史最低价。
//@version=4
study(title="Test")
biggest(series) =>
max = 0.0
max := nz(max[1], series)
if series > max
max := series
max
smallest(series) =>
min = 0.0
min := nz(min[1], series)
if series < min
min := series
min
fast = 14, slow = 50
length = input(fast, minval=1)
src = input(close, title="Source")
e1 = ema(src, length)
e2 = ema(e1, length)
dema = 2 * e1 - e2
band4 = hline(0, "Upper Band", color=#ff0000)
fastEMA = ema(close, fast)
slowEMA = ema(close, slow)
test = (dema - slowEMA)//(high1-low1)
plot(test,color=color.white)
您可以使用 highest()
和 lowest()
函数。
因此,使用您的示例,您可以按如下方式添加最高和最低波段:
//@version=4
study(title="Test")
hiloperiod = 200 // track highest/lowest of the last 200 periods
fast = 14, slow = 50
length = input(fast, minval=1)
src = input(close, title="Source")
e1 = ema(src, length)
e2 = ema(e1, length)
dema = 2 * e1 - e2
band4 = hline(0, "Upper Band", color=#ff0000)
fastEMA = ema(close, fast)
slowEMA = ema(close, slow)
test = (dema - slowEMA)//(high1-low1)
plot(test,color=color.white)
// Plot the highest and lowest values for the last hilo period.
hi=highest(hiloperiod)
lo=lowest(hiloperiod)
plot(hi, color=color.green, linewidth=2)
plot(lo, color=color.green, linewidth=2)
例如,在比特币价格上使用它会产生这张图。请注意绿线如何移动以表示该时间范围内的最高价和最低价
//@version=4
study(title="Help (Test)")
biggest(series) =>
max = 0.0
max := nz(max[1], series)
if series > max
max := series
max
smallest(series) =>
min = 0.0
min := nz(min[1], series)
if series < min
min := series
min
fast = 14, slow = 50
length = input(fast, minval=1)
src = input(close, title="Source")
e1 = ema(src, length)
e2 = ema(e1, length)
dema = 2 * e1 - e2
band4 = hline(0, "Upper Band", color=#ff0000)
fastEMA = ema(close, fast)
slowEMA = ema(close, slow)
test = (dema - slowEMA)//(high1-low1)
plot(test,color=color.black)
//[ADDON]
period = input("6M", "Period hi/lo detect", input.resolution) // Six Months
var hi = 0.0
var lo = 10e10
var br = 0
var lnhi = line.new(na, na, na , na)
var lnlo = line.new(na, na, na , na)
if change(time(period))
hi := test
lo := test
br := bar_index
lnhi := line.new(br, hi , br, hi, color=color.red, width=2)
lnlo := line.new(br, lo , br, lo, color=color.green, width=2)
float(na)
else
hi := max(test, hi)
lo := min(test, lo)
line.set_xy1(lnhi, br, hi)
line.set_xy2(lnhi, bar_index, hi)
line.set_xy1(lnlo, br, lo)
line.set_xy2(lnlo, bar_index, lo)
您的图表 test
具有六个月时间范围内的绝对最高值和最低值。