#line #pine-script #crossover
#линия #pine-script #пересечение
Вопрос:
Длинные позиции откроются, когда цена пересечет ema10, а короткие — когда цена пересечет ниже. Длинная цель — линия l, а короткая цель — линия s.
Например, находясь в long, я хочу нарисовать горизонтальную линию немедленно (не при закрытии), когда цена пересекает линию l. Аналогично, я хочу нарисовать горизонтальную линию, когда цена пересекает линию s, находясь в шорте. Я не мог нарисовать линию, потому что l и s не являются постоянными. Я хочу рассчитать цену при пересечении и пересечении.
//@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, linewidth=1, transp=0)
longCond = crossover(high, ema1)
shortCond = crossunder(low, ema1)
plotshape(series=longCond, title="Long", style=shape.triangleup, location=location.belowbar, color=color.green, text="LONG", size=size.small)
plotshape(series=shortCond, title="Short", style=shape.triangledown, location=location.abovebar, color=color.red, text="SHORT", size=size.small)
Ответ №1:
Этот скрипт напечатает линию на пересечении верхнего / верхнего диапазона, как вы описали.
//@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, linewidth=1, transp=0)
longCond = crossover(high, ema1)
shortCond = crossunder(low, ema1)
plotshape(series=longCond, title="Long", style=shape.triangleup, location=location.belowbar, color=color.green, text="LONG", size=size.small)
plotshape(series=shortCond, title="Short", style=shape.triangledown, location=location.abovebar, color=color.red, text="SHORT", size=size.small)
var float lineOnCrossOver = na
if crossover(high, l)
lineOnCrossOver := l
plot(lineOnCrossOver, color = change(lineOnCrossOver)? na : color.green)