Я написал разные индикаторы осцилляторов (такие как RSI, SRSI и т. д.) в одном и том же скрипте pine, чтобы их можно было построить, загрузив один скрипт. Однако все показатели рисуются вместе. Мне нравится рисовать их отдельно. Есть какой-либо способ сделать это?
Ниже приведен пример кода. Он объединяет их вместе.
indicator("RSI and SRSI", overlay=false)
// Input parameters
length = input.int(14, minval=1, title = "RSI Length")
srsi_k = input.int(14, title = "SRSI %K Length")
srsi_d = input.int(3, title = "SRSI %D Smoothing")
// Calculate RSI
rsi = ta.rsi(close, length)
// Calculate SRSI
srsi = ta.stoch(rsi, rsi, rsi, srsi_k)
srsi_d_value = ta.sma(srsi, srsi_d)
// Plot RSI
plot(rsi, color=color.blue, title = "RSI")
// Plot SRSI %K
plot(srsi, color=color.red, title = "SRSI %K")
// Plot SRSI %D
plot(srsi_d_value, color=color.green, title = "SRSI %D")
В настоящее время невозможно отобразить два осциллятора на разных панелях с помощью одного кода Pine Script.
Однако, поскольку и RSI, и Stochastic RSI являются ограниченными осцилляторами (т. е. их диапазон составляет от 0 до 100), для этого вы можете изменить масштаб одного из них.
Ниже я добавил 100 к Stochastic RSI и нарисовал сплошную горизонтальную линию, используя hline()
, чтобы разделить их. Я также добавил уровни перекупленности и перепроданности:
Код:
// @version=5
indicator("RSI and SRSI", overlay=false)
// Input parameters
length = input.int(14, minval=1, title = "RSI Length")
srsi_k = input.int(14, title = "SRSI %K Length")
srsi_d = input.int(3, title = "SRSI %D Smoothing")
// Calculate RSI
rsi = ta.rsi(close, length)
// Calculate SRSI
srsi = ta.stoch(rsi, rsi, rsi, srsi_k)
srsi_d_value = ta.sma(srsi, srsi_d)
// Plot RSI
plot(rsi, color=color.blue, title = "RSI")
// Plot RSI OB/OS Levels
rsi_h0 = hline(70, "RSI Upper Band", color=#787B86)
hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsi_h1 = hline(30, "RSI Lower Band", color=#787B86)
fill(rsi_h0, rsi_h1, color=color.rgb(33, 150, 243, 90), title = "RSI Background")
// Plot a solid separator line between the two oscillators
hline(100, "Separator", color.white, hline.style_solid)
// Plot SRSI %K
plot(srsi+100, color=color.red, title = "SRSI %K")
// Plot SRSI %D
plot(srsi_d_value+100, color=color.green, title = "SRSI %D")
// Plot SRSI OB/OS Levels
srsi_h0 = hline(180, "SRSI Upper Band", color=#787B86)
hline(150, "SRSI Middle Band", color=color.new(#787B86, 50))
srsi_h1 = hline(120, "SRSI Lower Band", color=#787B86)
fill(srsi_h0, srsi_h1, color=color.rgb(33, 150, 243, 90), title = "SRSI Background")
Спасибо. Отметьте этот ответ как решение, если он помог решить вашу проблему.