Я попытался использовать функцию label.delete:
if (longsignal and showpos)
l3 = label.new(time + 10*dt, low, xloc=xloc.bar_time, text = 'SL='+tostring(longsl), color=#02ad09, style=label.style_labelup, textcolor=color.white, size=size.normal)
label.delete(l3[1])
Но у меня есть эта ошибка:
Undeclared identifier 'l3'
Я даже пытался добавить ":=" после "l3" вместо "=", но все равно получаю другую ошибку:
Mismatched input 'l3' expecting 'end of line without line continuation'.
Я подозреваю, что это связано с условием IF, которое я использовал перед созданием метки.... :(
строки внутри условия должны быть сдвинуты на 4 пробела или 1 сдвиг
if (longsignal and showpos)
l3 = label.new(time + 10*dt, low, xloc=xloc.bar_time, text = 'SL='+tostring(longsl), color=#02ad09, style=label.style_labelup, textcolor=color.white, size=size.normal)
label.delete(l3[1])
при первом выполнении условия метки l3[1] нет
Вы объявляете переменную в локальной области, это может вызвать проблему.
В приведенном ниже примере переменная метки объявлена в глобальной области, затем используйте :=
, чтобы переназначить значение в локальной области.
var label l3 = na
if (longsignal and showpos)
l3 := label.new(time + 10*dt, low, xloc=xloc.bar_time, text = 'SL='+tostring(longsl), color=#02ad09, style=label.style_labelup, textcolor=color.white, size=size.normal)
label.delete(l3[1])