Line.标签上的新交叉.new(现在要解析) [英] line.new crosses over label.new (now to resolve)

查看:13
本文介绍了Line.标签上的新交叉.new(现在要解析)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下午,

我正在尝试创建标签和行。标签显示每日开盘,包括价值,然后显示从那里到价格轴的线。

但.new行部分覆盖了标签中的信息。我认为问题在于我使用的是bar_index(在line.new内),但我似乎不知道应该使用什么,这样,line.new将在Label.new之后开始。

感谢您抽出时间。

//@version=4
study(title="Label Testing", overlay=true)

dOpen = security(syminfo.tickerid, "D", open, lookahead = barmerge.lookahead_on)

var line dOpenLine = na
if PriceLine 
    dOpenLine := line.new(bar_index[1], dOpen, bar_index, dOpen, color=color.blue, style=line.style_dashed, width=2, extend=extend.right)
    label dOpenLabel = label.new(bar_index, dOpen, text = "dOpen -   "+tostring(dOpen), color=color.blue, textcolor=color.white, style=label.style_label_left, size=size.small )
    
    line.delete(dOpenLine[1])
    label.delete(dOpenLabel[1])

#更新18/03/2021#

line.new将优先于label.new,并将覆盖Label.new中的文本。

稍有改动的是在文本中添加 ,这将在标签内的行上方放置一个回车,并在该行下方放置价格。

label dOpenLabel = label.new(bar_index, dOpen, text = "dOpen

"+tostring(dOpen), color=color.blue, textcolor=color.white, style=label.style_label_left, size=size.small, xloc=xloc.bar_index ) 

或者,如果您患有强迫症并希望文本位于行上方。new,但这样您就不能拥有label.new框或style = label.style_label_left

label mOpenLabel = label.new(bar_index, mOpen, text = "mOpen - "+tostring(mOpen), color=color.yellow, textcolor=color.yellow, style=label.style_none, size=size.normal,  xloc=xloc.bar_index)

我试图解决的最后一个问题是如何定位文本。我希望将文本定位为紧贴价格轴(如下图所示)。

当前,我正在尝试使用空格移动文本,如下面的代码所示。

 label mOpenLabel = label.new(bar_index, mOpen, text = "                                                                                                                                                    mOpen - "+tostring(mOpen), color=color.yellow, textcolor=color.yellow, style=label.style_none, size=size.normal,  xloc=xloc.bar_index)

有没有更好的方法?

推荐答案

您可以让标签指向右侧,这样它就不会相交。

//@version=4
study("Label Testing", "LBL", overlay=true)

var bool    PriceLine   = true

var line    dOpenLine   = line.new(na, na, na, na, color=color.blue, style=line.style_dashed, width=2, extend=extend.right)
var label   dOpenLabel  = label.new(na, na, text = "", color=color.blue, textcolor=color.white, style=label.style_label_right, size=size.normal)

dOpen = security(syminfo.tickerid, "D", open, lookahead = barmerge.lookahead_on)

if PriceLine 
    line.set_xy1(dOpenLine,    bar_index[1], dOpen)
    line.set_xy2(dOpenLine,    bar_index,    dOpen)
    label.set_xy(dOpenLabel,   bar_index,    dOpen)
    label.set_text(dOpenLabel, "dOpen -   " + tostring(dOpen))

这篇关于Line.标签上的新交叉.new(现在要解析)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆