Как преобразовать код из версии #2 в версию #4 скрипта pine? без перекраски

#pine-script #tradingview-api

Вопрос:

У меня есть код для программы pine script версии 2, но мне нужно преобразовать его в версию 4, чтобы он был той же версии, что и остальная часть моей программы.

 //@version=2
study("GetTrendStrategy", overlay=true)
tim=input('50')
out1 = security(tickerid, tim, open)
out2 = security(tickerid, tim, close)
plot(out1,color=red)
plot(out2,color=green)

longCondition = crossover(security(tickerid, tim, close),security(tickerid, tim, open))
plotshape(longCondition ? open : na, title="Buy", style=shape.arrowup, location=location.belowbar, size=size.normal, text="B", transp=0, textcolor = white, color=blue, transp=0)

shortCondition = crossunder(security(tickerid, tim, close),security(tickerid, tim, open))
plotshape(shortCondition ? open : na, title="Sell", style=shape.arrowdown, location=location.abovebar, size=size.normal, text="S", transp=0, textcolor = white, color=red, transp=0)
 

Ответ №1:

 //@version=4
study("GetTrendStrategy", overlay=true)
tim=input('50')
out1 = security(syminfo.tickerid, tim, open)
out2 = security(syminfo.tickerid, tim, close)
plot(out1,color=color.red)
plot(out2,color=color.green)

longCondition = crossover(security(syminfo.tickerid, tim, close),security(syminfo.tickerid, tim, open))
plotshape(longCondition ? open : na, title="Buy", style=shape.arrowup, location=location.belowbar, size=size.normal, text="B", textcolor = color.white, color=color.blue)

shortCondition = crossunder(security(syminfo.tickerid, tim, close),security(syminfo.tickerid, tim, open))
plotshape(shortCondition ? open : na, title="Sell", style=shape.arrowdown, location=location.abovebar, size=size.normal, text="S", textcolor = color.white, color=color.red)
 

Если ваш индикатор ремонтируется, воспользуйтесь следующими рекомендациями:

https://www.tradingview.com/chart/?solution=43000478429

https://www.pinecoders.com/faq_and_code/#how-to-avoid-repainting-when-using-the-security-function