# How do I combine many LineArrays?

Hello,

I've created many LineArrays with VarSet()
and want to combine these LineArrays to one,
but it's failed with ValueWhen(), is there a way to do this?

``````x0 = y0 = x1 = y1 = 0;
for( i = 100; i < BarCount; i+=300 )
{
x0 = i - 100; y0 = L[i - 100];
x1 = i;       y1 = L[i];
VarSet("T" + i, LineArray(x0, y0, x1, y1, 1));
}

TrendLine = ValueWhen(VarGet("T" + BarIndex()), VarGet("T" + BarIndex()));
Plot (TrendLine, "TrendLine", colorTan, styleline);
``````

Thank you very much !

You code is incorrect. There is proper code by T.J. at User KB.
See Tomasz's version (2nd code) from there.

``````/// modified from T.J. code of User KB at:
bi = Barindex();
Sig = bi % 100 == 0;// every n-bar

y0 = 0;
y1 = L;
FirstVisibleBar = FirstVisibleValue(bi);
Lastvisiblebar = LastVisibleValue(bi);
CombinedLine = Null;
for ( b = Firstvisiblebar; b <= Lastvisiblebar; b++ )
{
if ( Sig[b] )
{
TPrice[b] = L[b];

x0 = y0;
x1 = y1;
y0 = b;
y1 = TPrice[b];
La = LineArray( x0, x1, y0, y1 );

CombinedLine = IIf( IsNull( la ), CombinedLine, la );
}
}

Plot( C, "Price", colorDefault, styleBar );
Plot( CombinedLine, "", colorRed);
``````
5 Likes