Nouvelles possibilités de travailler avec la couleur dans Pine

May 13, 2021

Vos scripts vont briller avec des couleurs vives maintenant que nous avons ajouté de nouvelles séries de couleurs et de nuances de la palette RVB.

Une nouvelle fonction ‘color.rgb (red, green, blue, transp)’ a été ajoutée à Pine. Elle vous permet de définir la couleur en passant les valeurs des composantes de rouge, vert, bleu et transparence (transp) comme arguments. Vous pouvez maintenant vous débarrasser de la définition de toute la palette de couleurs utilisée dans le script, et calculer la couleur sur la base des arguments passés. Jetez un coup d’œil à ce petit exemple, qui montre à quel point il est désormais plus facile d’utiliser des transitions de couleurs complexes :

//@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)

La valeur des composantes de couleur est définie dans la plage allant de 0 (le moins intense) à 255 (le plus intense). Pour une composante de transparence, cette plage va de 0 (complètement opaque) à 100 (complètement transparent).

Si vous devez obtenir la valeur numérique d’une couleur ou d’une composante de transparence spécifique, essayez d’utiliser les fonctions spéciales ‘color.r()’, ‘color.g()’, ‘color.b()’ et ‘color.t()’ en leur fournissant une couleur comme argument.

Et la fonction ‘color.from_gradient()’ vous permet de créer des transitions de couleurs impressionnantes sur chaque barre, les couleurs des scripts ne sont plus limitées que par votre imagination. Voici un exemple qui montre à quel point il est désormais plus facile de décrire la couleur en fonction de la valeur de l’indice de force relative :

//@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")

Lisez toutes les mises à jour de Pine dans la section Notes de publication du manuel d’utilisation.

Certains indicateurs intégrés (Momentum, TRIX, Oscillateur de Prix, Oscillateur de Prix Dé-tendanciel, Oscillateur de Chaikin, Oscillateur de Volume, Facilité de Mouvement, Taux de Changement) ont été mis à jour et utilisent maintenant ces nouvelles fonctionnalités; vous pouvez les ajouter à votre graphique pour voir la fonctionnalité RGB en action.

Et voici quelques exemples impressionnants d’indicateurs avec des couleurs RVB provenant des développeurs de la communauté :

Directional Value par RicardoSantos

Color Gradient Framework par LucF, pour PineCoders

Delta Volume Columns Pro par LucF

Nous espérons que vous trouverez ces nouvelles fonctionnalités utiles. Et n’hésitez pas à nous faire part de vos commentaires et suggestions – nous construisons TradingView pour vous, et nous sommes toujours ravis de savoir ce que vous pensez des mises à jour de notre plateforme.

Look first Then leap

TradingView est conçu pour vous, assurez-vous donc de profiter au maximum de nos fonctionnalités exceptionnelles
Ouvrir le graphique