<Pinescript> 不同时间范围内的绘图框
<Pinescript> Drawing box in different timeframe
我正在我的图表上绘制方框(每日时间表),但我需要在 H1 图表上绘制这些方框。除了让他们合影之外,我还需要获得最高值和最低值:这是我正在使用的代码:
217 box fiboL = box.new(na, na, na, na, color.new(color.green, show_fib ? 50 : 100), 2, bgcolor=color.new(color.green, show_fib ? 75 : 100))
218 var float fibo_topL = na
219 var float fibo_botL = na
220 var fibo_topL_D = security(syminfo.tickerid, "D", fibo_topL)
221 if new_max and val_ph_H1 > val_ph_H1[1]
222 box.set_top (fiboL, fiboL_61)
223 box.set_bottom (fiboL, fiboL_78)
224 box.set_left (fiboL, bar_index [piv_len])
225 box.set_right (fiboL, bar_index + extend_fib)
226 fibo_topL := box.get_top (fiboL)
227 fibo_botL := box.get_bottom(fiboL)
您不能在 security()
中使用可变变量(定义为 var
)。
如果 fibo_topL
将传递到 security()
,它将在其他时间范围内计算,即在另一个图表上。因此,除了当前图表的全局范围之外,不可能在任何范围内更改此值。此外,您将无法将框本身传递到 security()
。所以现在你的错误是,而不是
var float fibo_topL = na
应该是
float fibo_topL = na
我正在我的图表上绘制方框(每日时间表),但我需要在 H1 图表上绘制这些方框。除了让他们合影之外,我还需要获得最高值和最低值:这是我正在使用的代码:
217 box fiboL = box.new(na, na, na, na, color.new(color.green, show_fib ? 50 : 100), 2, bgcolor=color.new(color.green, show_fib ? 75 : 100))
218 var float fibo_topL = na
219 var float fibo_botL = na
220 var fibo_topL_D = security(syminfo.tickerid, "D", fibo_topL)
221 if new_max and val_ph_H1 > val_ph_H1[1]
222 box.set_top (fiboL, fiboL_61)
223 box.set_bottom (fiboL, fiboL_78)
224 box.set_left (fiboL, bar_index [piv_len])
225 box.set_right (fiboL, bar_index + extend_fib)
226 fibo_topL := box.get_top (fiboL)
227 fibo_botL := box.get_bottom(fiboL)
您不能在 security()
中使用可变变量(定义为 var
)。
如果 fibo_topL
将传递到 security()
,它将在其他时间范围内计算,即在另一个图表上。因此,除了当前图表的全局范围之外,不可能在任何范围内更改此值。此外,您将无法将框本身传递到 security()
。所以现在你的错误是,而不是
var float fibo_topL = na
应该是
float fibo_topL = na