pine 脚本 - ADX 指标修改
pine script - ADX indication modification
我想对 ADX 指标做一些小修改,但我的编程技能有限:
//@version=4
study("Average Directional Index", shorttitle="ADX LP", format=format.price, precision=2, resolution="")
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / truerange)
minus = fixnan(100 * rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
plot(sig, color=color.red, title="ADX")
我想实现类似于下图的效果:
outcome
想法是有两条线,一条在 20 处,另一条在 30 处。30 号以上为绿色,30 到 20 号之间为蓝色,20 号以下为红色。
提前致谢
可以直接在plot
中使用三元条件运算符
plot(sig,color = sig > 30 ? color.green : sig < 20 ? color.red : color.grey)
您也可以使用颜色变量来保存space
col = sig > 30 ? color.green : sig < 20 ? color.red : color.gray
plot(sig,color = col)
我想对 ADX 指标做一些小修改,但我的编程技能有限:
//@version=4
study("Average Directional Index", shorttitle="ADX LP", format=format.price, precision=2, resolution="")
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / truerange)
minus = fixnan(100 * rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
plot(sig, color=color.red, title="ADX")
我想实现类似于下图的效果: outcome
想法是有两条线,一条在 20 处,另一条在 30 处。30 号以上为绿色,30 到 20 号之间为蓝色,20 号以下为红色。
提前致谢
可以直接在plot
plot(sig,color = sig > 30 ? color.green : sig < 20 ? color.red : color.grey)
您也可以使用颜色变量来保存space
col = sig > 30 ? color.green : sig < 20 ? color.red : color.gray
plot(sig,color = col)