En-têtes et fusion de cellules
Il est désormais possible de fusionner plusieurs cellules dans un tableau pour créer des en-têtes et des séparateurs sophistiqués. Une cellule fusionnée ne doit pas nécessairement être un en-tête: vous pouvez fusionner des cellules dans n’importe quelle direction, tant que la cellule résultante n’affecte pas les cellules déjà fusionnées et ne sort pas des limites du tableau.
Pour créer une cellule fusionnée, utilisez la nouvelle fonction table.merge_cells(). Les règles sont simples. Vous devez transmettre les coordonnées de la première et de la dernière cellule que vous souhaitez fusionner. Tout ce qui se trouve entre elles sera fusionné en une seule cellule. La taille d’une cellule fusionnée est automatiquement déterminée par les dimensions de ses lignes et colonnes voisines.
Dans l’exemple de script ci-dessous, vous pouvez voir trois cellules fusionnées : la première fusionne toutes les cellules de la ligne zéro et contient « SMA Table », les autres en dessous créent les sous-titres.

//@version=5
indicator("MA Ratings", overlay = true)
TRANSP = 80
TABLE_WIDTH = 6
var CELL_TOOLTIP = "Cell color depends on the SMA direction: green for rising SMAs, red for falling ones"
var smaLengths = array.from(10, 20, 50, 100, 200, 500)
smaValues = array.new_float()
for i = 0 to array.size(smaLengths) - 1
array.push(smaValues, ta.sma(close, array.get(smaLengths, i)))
var maTable = table.new(position.top_right, TABLE_WIDTH, 4, border_width = 2)
if barstate.isfirst
headerColor = color.new(color.blue, TRANSP)
table.cell(maTable, 0, 0, text = "SMA Table", bgcolor = headerColor)
table.cell(maTable, 0, 1, text = "Short-term", bgcolor = headerColor)
table.cell(maTable, 2, 1, text = "Long-term", bgcolor = headerColor)
table.merge_cells(maTable, 0, 0, 5, 0)
table.merge_cells(maTable, 0, 1, 1, 1)
table.merge_cells(maTable, 2, 1, 5, 1)
if barstate.islast
for i = 0 to TABLE_WIDTH - 1
cellTitle = str.format("SMA {0}", array.get(smaLengths, i))
cellValue = array.get(smaValues, i)
cellColor = color.new(array.get(smaValues, i) >= array.get(smaValues[1], i) ? color.green : color.red, TRANSP)
table.cell(maTable, i, 2, bgcolor = cellColor, text = cellTitle, text_color = color.gray, tooltip = CELL_TOOLTIP)
table.cell(maTable, i, 3, bgcolor = cellColor, text = str.tostring(cellValue, format.mintick), tooltip = CELL_TOOLTIP)
Infobulles
Les infobulles constituent la deuxième amélioration des tableaux. Les infobulles sont des étiquettes de texte flottantes qui apparaissent lorsque vous survolez une cellule d’un tableau. Elles sont très pratiques pour fournir des informations sur le contenu d’une cellule sans encombrer le tableau.
Pour créer une cellule avec une info-bulle, il suffit de passer une chaîne de caractères à l’argument new tooltip de la fonction table.cell(). Vous pouvez voir les infobulles en action dans notre exemple de script, où nous utilisons tooltip = CELL_TOOLTIP dans l’appel de table.cell() des deux dernières lignes. Les infobulles ressembleront à ceci:

Nous espérons que vous trouverez cette fonctionnalité très demandée utile. Continuez à nous envoyer vos commentaires et vos suggestions d’amélioration. Nous construisons TradingView pour vous, et sommes toujours heureux d’avoir de vos nouvelles.