微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pinescript - 当价格越过一条线时立即画一条水平线不是在收盘时

如何解决pinescript - 当价格越过一条线时立即画一条水平线不是在收盘时

价格上穿 ema10 时开多头,下穿时开空头。长目标是l线,短目标是s线。

例如,在做多时,当价格越过 l 线时,我想立即绘制一条水平线(不是在收盘时)。同样,我想在价格在 s 线下方交叉时画一条水平线。我无法画一条线,因为 l 和 s 不是常数。我想计算交叉和交叉的价格。

Here is an example of a picture

//@version=4
study(title="ema buy sell",overlay=true)
ema1 = ema(close,10)
l = ema1 * 1.02
s = ema1 * 0.98


plot(ema1,title="Ema 10",color=color.blue,linewidth=1,transp=0)
plot(l,title="Take Long TP",color=color.red,linewidth=2,transp=0)
plot(s,title="Take Short TP",color=color.green,transp=0)


longCond = crossover(high,ema1)
shortCond = crossunder(low,ema1)

plotshape(series=longCond,title="Long",style=shape.triangleup,location=location.belowbar,text="LONG",size=size.small)
plotshape(series=shortCond,title="Short",style=shape.triangledown,location=location.abovebar,text="SHORT",size=size.small)

解决方法

此脚本将按照您的描述在高/高频带分频器上打印该行。

//@version=4
study(title="ema buy sell",overlay=true)
ema1 = ema(close,10)
l = ema1 * 1.02
s = ema1 * 0.98

plot(ema1,title="Ema 10",color=color.blue,linewidth=1,transp=0)
plot(l,title="Take Long TP",color=color.red,linewidth=2,transp=0)
plot(s,title="Take Short TP",color=color.green,transp=0)

longCond = crossover(high,ema1)
shortCond = crossunder(low,ema1)

plotshape(series=longCond,title="Long",style=shape.triangleup,location=location.belowbar,text="LONG",size=size.small)
plotshape(series=shortCond,title="Short",style=shape.triangledown,location=location.abovebar,text="SHORT",size=size.small)

var float lineOnCrossOver = na
if crossover(high,l)
    lineOnCrossOver := l
plot(lineOnCrossOver,color = change(lineOnCrossOver)? na : color.green)

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。