首页 > 解决方案 > 如何用实线绘制linebr?

问题描述

我有一个关于 PineScript 的化妆品问题。我试图弄清楚为什么我不能画出一条连续的指标线。我过去用 Stochs 做过这个,它没有间隙地工作,但我不知道为什么它在这里不起作用。这是一个最小的例子。

study(title="Directional Movement Index", shorttitle="DMI", format=format.price, precision=4)
lensig = input(title="ADX Smoothing", defval=14, minval=1, maxval=50)
len = input(title="DI Length", defval=14, minval=1)
[diplus, diminus, adx] = dmi(len, lensig)

adxStronger = adx[1] <= adx
adxWeaker = adx[1] >= adx
plot(adxStronger ? adx : na, color=#2196f3, title="ADX Stronger", style=plot.style_linebr, linewidth=2)
plot(adxWeaker ? adx : na, color=#2196f3, title="ADX Weaker", style=plot.style_linebr, linewidth=1)

此代码在 ADX 行中产生中断。我认为是因为从一根柱线到另一根柱线的值并没有完全在它们开始的位置结束,因此产生了这种差距,但我看到其他指标这样做,我想知道他们是如何做到的。我是否必须放弃这个想法,只正常绘制 ADX 一次,然后绘制我想要不同的 ADX 值?

另外,有没有办法以某种方式将外观菜单中的两个 ADX 设置“分组”,使它们显示在一个组中,而不是分开显示?我在有关此的文档或 Kodify 上找不到。

谢谢你。

在此处输入图像描述

标签: pine-script

解决方案


一直绘制,但使颜色有条件:

//@version=4
study(title="Directional Movement Index", shorttitle="DMI", format=format.price, precision=4)
lensig = input(title="ADX Smoothing", defval=14, minval=1, maxval=50)
len = input(title="DI Length", defval=14, minval=1)
[diplus, diminus, adx] = dmi(len, lensig)

adxStronger = adx[1] <= adx
adxWeaker = adx[1] >= adx
plot(adx, color=adxStronger ? #2196f3 : na, title="ADX Stronger", linewidth=2)
plot(adx, color=adxWeaker   ? #2196f3 : na, title="ADX Weaker",   linewidth=1)

在此处输入图像描述


推荐阅读