如何解决我怎样才能让我两天的水平线不像现在那样加入?
我正在使用我自己的代码绘制密谋等级。但是两天的线路正在加入,看起来很奇怪。还有我希望出现在每行开头的标签文本。现在它位于第一个栏的顶部。我该如何解决这个问题?
//@version=4
study("Camarilla 1-6",overlay=true)
[prevIoUs_day_high,prevIoUs_day_low,prevIoUs_day_close] = security(syminfo.tickerid,"D",[high[1],low[1],close[1]])
prevIoUs_day_range = prevIoUs_day_high - prevIoUs_day_low
// Resistances
r4 = round(prevIoUs_day_close + (prevIoUs_day_range) * 1.1 / 2,2)
r3 = round(prevIoUs_day_close + (prevIoUs_day_range) * 1.1 / 4,2)
r2 = round(prevIoUs_day_close + (prevIoUs_day_range) * 1.1 / 6,2)
r1 = round(prevIoUs_day_close + (prevIoUs_day_range) * 1.1 / 12,2)
r5 = round(r4 + 1.168 * (r4 - r3),2)
r6 = round((prevIoUs_day_high / prevIoUs_day_low) * prevIoUs_day_close,2)
// Supports
s4 = round(prevIoUs_day_close - (prevIoUs_day_range) * 1.1 / 2,2)
s3 = round(prevIoUs_day_close - (prevIoUs_day_range) * 1.1 / 4,2)
s2 = round(prevIoUs_day_close - (prevIoUs_day_range) * 1.1 / 6,2)
s1 = round(prevIoUs_day_close - (prevIoUs_day_range) * 1.1 / 12,2)
s5 = round(s4 - 1.168 * (s3 - s4),2)
s6 = round(prevIoUs_day_close - (r6 - prevIoUs_day_close),2)
// Plots
plot(r3,title="H3: Go Short",style=plot.style_stepline,color=color.red,linewidth=2)
plot(r4,title="H4: Long Breakout",color=color.green,linewidth=2)
plot(r5,title="H5: Target 1",linewidth=2)
plot(r6,title="H6: Target 2",linewidth=2)
plot(s3,title="L3: Go Long",linewidth=2)
plot(s4,title="L4: Short Breakout",linewidth=2)
plot(s5,title="L5: Target 1",linewidth=2)
plot(s6,title="L6: Target 2",linewidth=2)
// Labels
if (change(r3))
label.new(bar_index,r3,text="H3: " + tostring(r3),style=label.style_none,textalign=text.align_left,yloc=yloc.abovebar)
if (change(r4))
label.new(bar_index,r4,text="H4: " + tostring(r4),style=label.style_none)
if (change(r5))
label.new(bar_index,r5,text="H5: " + tostring(r5),style=label.style_none)
if (change(r6))
label.new(bar_index,r6,text="H6: " + tostring(r6),style=label.style_none)
现在的样子:
但我希望它看起来像这个示例代码截图看起来像 https://www.tradingview.com/pine-script-docs/en/v4/essential/Drawings.html#pivot-points-standard。我需要改变哪些方面?
我正在尝试选项 textalign=text.align_left,yloc=yloc.abovebar
,但它们不能解决我的问题。我暂时保留了它们,这就是您在我的代码中看到它的原因。
解决方法
连接线可以这样固定。
//@version=4
study("Camarilla 1-6",overlay=true)
[previous_day_high,previous_day_low,previous_day_close] = security(syminfo.tickerid,"D",[high[1],low[1],close[1]])
previous_day_range = previous_day_high - previous_day_low
// Resistances
r4 = round(previous_day_close + (previous_day_range) * 1.1 / 2,2)
r3 = round(previous_day_close + (previous_day_range) * 1.1 / 4,2)
r2 = round(previous_day_close + (previous_day_range) * 1.1 / 6,2)
r1 = round(previous_day_close + (previous_day_range) * 1.1 / 12,2)
r5 = round(r4 + 1.168 * (r4 - r3),2)
r6 = round((previous_day_high / previous_day_low) * previous_day_close,2)
// Supports
s4 = round(previous_day_close - (previous_day_range) * 1.1 / 2,2)
s3 = round(previous_day_close - (previous_day_range) * 1.1 / 4,2)
s2 = round(previous_day_close - (previous_day_range) * 1.1 / 6,2)
s1 = round(previous_day_close - (previous_day_range) * 1.1 / 12,2)
s5 = round(s4 - 1.168 * (s3 - s4),2)
s6 = round(previous_day_close - (r6 - previous_day_close),2)
// Plots
plot(r3,title="H3: Go Short",style=plot.style_linebr,color=change(r3)?na:color.red,linewidth=2)
plot(r4,title="H4: Long Breakout",color=change(r4)?na:color.green,linewidth=2)
plot(r5,title="H5: Target 1",color=change(r5)?na:color.green,linewidth=2)
plot(r6,title="H6: Target 2",color=change(r6)?na:color.green,linewidth=2)
plot(s3,title="L3: Go Long",color=change(s3)?na:color.green,linewidth=2)
plot(s4,title="L4: Short Breakout",color=change(s4)?na:color.red,linewidth=2)
plot(s5,title="L5: Target 1",color=change(s5)?na:color.red,linewidth=2)
plot(s6,title="L6: Target 2",color=change(s6)?na:color.red,linewidth=2)
// Labels
if (change(r3))
label.new(bar_index,r3,text="H3: " + tostring(r3),style=label.style_none,textalign=text.align_left,yloc=yloc.abovebar)
if (change(r4))
label.new(bar_index,r4,text="H4: " + tostring(r4),style=label.style_none)
if (change(r5))
label.new(bar_index,r5,text="H5: " + tostring(r5),style=label.style_none)
if (change(r6))
label.new(bar_index,r6,text="H6: " + tostring(r6),style=label.style_none)
哪个收益
不确定你的意思
还有我希望出现在每行开头的标签文本。
现在它位于第一个栏的顶部。
编辑 1 以回应 this comment
?:
是 ternary conditional operator。
这是 if-then-else
语法的简写形式。
本声明
color=change(s3)?na:color.green
等同于
if change(s3)
color := na
else
color := color.green
它的作用是在值改变时将线的颜色设置为na
(=无颜色)。
通常,当绘图线的值发生变化时,Pine 会绘制一条从旧值到新值的连接线,颜色与该线相同,如本例中的黄色所示:
那条“连接”黄线的代码是
plot(s6,color=color.yellow)
因此,当值发生变化时,通过将颜色设置为 na
(=无颜色),连接线变得不可见,与其他(非黄色)线一样可以看到。
当我们用另一种颜色替换 na
时,连接线将显示为该颜色而不是不可见。
例如,如果我们将 s4
的代码更改为显示颜色 white
而不是 na
:
plot(s4,color=change(s4)?color.white:color.red,linewidth=2)
这将使连接线 white
而不是不可见。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。