更改线图的位置
Changing location of line plots
我已经编写了一个代码来绘制自定义时间范围的高点和低点。线图是通过以下代码完成的
study(title="Neowave Charts v.1", overlay = true, max_lines_count =100)
//Define variables
string res = input("D")
var float h_price = na
var float l_price = na
var int h_date = na
var int l_date = na
var line z = na
var line w = na
bool isnewtbar = change(time(res)) > 0
//getting lines
if isnewtbar and bar_index > 1
h_price := high
l_price := low
h_date := time
l_date := time
z := line.new(x1=h_date, y1=h_price, x2=l_date, y2=l_price, xloc=xloc.bar_time, extend=extend.none, color=color.black, style=line.style_solid, width=2)
w := line.new(x1=line.get_x2(z[1]), y1=line.get_y2(z[1]), x2=l_date, y2=l_price, xloc=xloc.bar_time, extend=extend.none, color=color.black, style=line.style_solid, width=2)
if high > h_price
h_price := high
h_date := time
h_price
if low < l_price
l_price := low
l_date := time
if h_date <= l_date
line.set_xy1(id=z, x=h_date, y=h_price)
line.set_xy2(id=z, x=l_date, y=l_price)
line.set_color(id=z, color=color.red)
else
line.set_xy1(id=z, x=l_date, y=l_price)
line.set_xy2(id=z, x=h_date, y=h_price)
line.set_color(id=z, color=color.lime)
line.set_xy2(id=w, x=line.get_x1(z[0]), y=line.get_y1(z[0]))
line.set_color(id=w, color=color.blue)
我想把x1和x2的位置改到时间段的中点和末尾,请给barindex或bartime什么参考。
当前图片是这样的
我要这样
也许有更优雅的解决方案,但我尝试对您的原始脚本进行最少的更改。
//@version=4
study(title="Help (Neowave Charts v.1)", overlay = true, max_lines_count =100)
//Define variables
string res = input("D")
var float h_price = na
var float l_price = na
var int h_date = na
var int l_date = na
var line z = na
var line w = na
bool isnewtbar = change(time(res)) > 0
var int count = 0
var int beg_time = na
var int delta = na
//getting lines
if isnewtbar and bar_index > 1
h_price := high
l_price := low
h_date := time
l_date := time
z := line.new(x1=h_date, y1=h_price, x2=l_date, y2=l_price, xloc=xloc.bar_time, extend=extend.none, color=color.black, style=line.style_solid, width=2)
w := line.new(x1=line.get_x2(z[1]), y1=line.get_y2(z[1]), x2=l_date, y2=l_price, xloc=xloc.bar_time, extend=extend.none, color=color.black, style=line.style_solid, width=2)
beg_time:= time
count := 0
else
count := count + 1
if high > h_price
h_price := high
h_date := time
h_price
if low < l_price
l_price := low
l_date := time
if timeframe.isminutes
delta := (count - count%2)/2*timeframe.multiplier*1000*60
if h_date <= l_date
line.set_xy1(id=z, x=beg_time + delta, y=h_price)
line.set_xy2(id=z, x=time, y=l_price)
line.set_color(id=z, color=color.red)
else
line.set_xy1(id=z, x=beg_time + delta, y=l_price)
line.set_xy2(id=z, x=time, y=h_price)
line.set_color(id=z, color=color.lime)
line.set_xy2(id=w, x=line.get_x1(z[0]), y=line.get_y1(z[0]))
line.set_color(id=w, color=color.blue)
我已经编写了一个代码来绘制自定义时间范围的高点和低点。线图是通过以下代码完成的
study(title="Neowave Charts v.1", overlay = true, max_lines_count =100)
//Define variables
string res = input("D")
var float h_price = na
var float l_price = na
var int h_date = na
var int l_date = na
var line z = na
var line w = na
bool isnewtbar = change(time(res)) > 0
//getting lines
if isnewtbar and bar_index > 1
h_price := high
l_price := low
h_date := time
l_date := time
z := line.new(x1=h_date, y1=h_price, x2=l_date, y2=l_price, xloc=xloc.bar_time, extend=extend.none, color=color.black, style=line.style_solid, width=2)
w := line.new(x1=line.get_x2(z[1]), y1=line.get_y2(z[1]), x2=l_date, y2=l_price, xloc=xloc.bar_time, extend=extend.none, color=color.black, style=line.style_solid, width=2)
if high > h_price
h_price := high
h_date := time
h_price
if low < l_price
l_price := low
l_date := time
if h_date <= l_date
line.set_xy1(id=z, x=h_date, y=h_price)
line.set_xy2(id=z, x=l_date, y=l_price)
line.set_color(id=z, color=color.red)
else
line.set_xy1(id=z, x=l_date, y=l_price)
line.set_xy2(id=z, x=h_date, y=h_price)
line.set_color(id=z, color=color.lime)
line.set_xy2(id=w, x=line.get_x1(z[0]), y=line.get_y1(z[0]))
line.set_color(id=w, color=color.blue)
我想把x1和x2的位置改到时间段的中点和末尾,请给barindex或bartime什么参考。
当前图片是这样的
我要这样
也许有更优雅的解决方案,但我尝试对您的原始脚本进行最少的更改。
//@version=4
study(title="Help (Neowave Charts v.1)", overlay = true, max_lines_count =100)
//Define variables
string res = input("D")
var float h_price = na
var float l_price = na
var int h_date = na
var int l_date = na
var line z = na
var line w = na
bool isnewtbar = change(time(res)) > 0
var int count = 0
var int beg_time = na
var int delta = na
//getting lines
if isnewtbar and bar_index > 1
h_price := high
l_price := low
h_date := time
l_date := time
z := line.new(x1=h_date, y1=h_price, x2=l_date, y2=l_price, xloc=xloc.bar_time, extend=extend.none, color=color.black, style=line.style_solid, width=2)
w := line.new(x1=line.get_x2(z[1]), y1=line.get_y2(z[1]), x2=l_date, y2=l_price, xloc=xloc.bar_time, extend=extend.none, color=color.black, style=line.style_solid, width=2)
beg_time:= time
count := 0
else
count := count + 1
if high > h_price
h_price := high
h_date := time
h_price
if low < l_price
l_price := low
l_date := time
if timeframe.isminutes
delta := (count - count%2)/2*timeframe.multiplier*1000*60
if h_date <= l_date
line.set_xy1(id=z, x=beg_time + delta, y=h_price)
line.set_xy2(id=z, x=time, y=l_price)
line.set_color(id=z, color=color.red)
else
line.set_xy1(id=z, x=beg_time + delta, y=l_price)
line.set_xy2(id=z, x=time, y=h_price)
line.set_color(id=z, color=color.lime)
line.set_xy2(id=w, x=line.get_x1(z[0]), y=line.get_y1(z[0]))
line.set_color(id=w, color=color.blue)