Nuevas Oportunidades para Trabajar con Colores en Pine

May 13, 2021

Sus scripts brillarán con colores vivos ahora que hemos añadido nuevos colores de serie y degradados de la paleta RGB.

Se ha añadido a Pine una nueva función ‘color.rgb (rojo, verde, azul, transp)’. Permite establecer el color pasando los valores de los componentes rojo, verde, azul y transparente (transp) como argumentos. Ahora puede deshacerse de la definición de toda la paleta de colores utilizada en el script, y en su lugar calcular el color basado en los argumentos pasados. Eche un vistazo a este pequeño ejemplo, que muestra lo mucho que ha facilitado el uso de transiciones de color complejas:

//@version=4
study("Relative Bars Color Saturation", "RBCS", overlay=true)

i_barcolor = input(color.rgb(33, 150, 243), "Bar Color", input.color)

f_grad_transp(_c_col, _transp) =>
    _c_red = color.r(_c_col)
    _c_green = color.g(_c_col)
    _c_blue = color.b(_c_col)
    color.rgb(_c_red, _c_green, _c_blue, _transp)

f_indexedPercent(_currentValue, _relativeValue, _maxValue) =>
    _currentValue * _maxValue / _relativeValue

transp = f_indexedPercent(abs(close - open), high - low, 100)
c_color = f_grad_transp(i_barcolor, transp)
barcolor(c_color)

El valor de los componentes de color se establece en el rango desde 0 (menos intenso) a 255 (más intenso). Para un componente de transparencia, este rango va de 0 (totalmente opaco) a 100 (completamente transparente).

Si necesita obtener el valor numérico de un color específico o de un componente de transparencia, intente utilizar las funciones especiales ‘color.r()‘, ‘color.g()‘, ‘color.b()‘ y ‘color.t()‘ pasándoles un color como argumento.

Y la función ‘color.from_gradient()’ le permite crear impresionantes transiciones de color en cada barra, los colores de los scripts están limitados ahora sólo por su imaginación. Aquí hay un ejemplo que muestra lo fácil que se ha vuelto describir el color dependiendo del valor del índice de fuerza relativa:

//@version=4
study("RGB RSI")
i_src = input(close, "Source", input.source)
i_length = input(14, "Length", input.integer)

f_grad_transp(_c_col, _transp) =>
    _c_red = color.r(_c_col)
    _c_green = color.g(_c_col)
    _c_blue = color.b(_c_col)
    color.rgb(_c_red, _c_green, _c_blue, _transp)

rsi = rsi(i_src, i_length)
c_grad = color.from_gradient(rsi, 30, 70, color.lime, color.red)

plot(rsi, color=c_grad, linewidth=3)
band1 = hline(70, "Overbought", color=color.rgb(255, 82, 82))
band0 = hline(30, "Oversold", color=color.rgb(76, 175, 80))
fill(band1, band0, color=f_grad_transp(c_grad, 90), title="Background")

Lea todas las actualizaciones de Pine en la sección Notas de la Versión en el Manual del Usuario.

Algunos indicadores incorporados (Momentum, TRIX, Price Oscillator, Detrended Price Oscillator, Chaikin Oscillator, Volume Oscillator, Ease of Movement, Rate of Change) han sido actualizados y ahora utilizan estas nuevas características, puede añadirlos a su gráfico para ver la funcionalidad RGB en efecto.

Y aquí hay algunos ejemplos impresionantes de indicadores con colores RGB de los desarrolladores de la comunidad:

Directional Value by RicardoSantos

Color Gradient Framework by LucF, for PineCoders

Delta Volume Columns Pro by LucF

Esperamos que las nuevas funciones le resulten útiles. Y, por favor, siga dándonos su opinión y sus sugerencias: estamos construyendo TradingView para usted, y siempre nos interesa saber lo que piensa sobre las actualizaciones de nuestra plataforma.

Look first Then leap

TradingView está hecho para usted, asegúrese de aprovechar al máximo nuestras increíbles funciones
Abrir gráfico