you might use XValues and YValues of SeriesData instead of Chart.Series[0].Add
//.....
while not dsHistory.Eof do
begin
Chart.SeriesData[0].XValues := Chart.SeriesData[0].XValues + IntToStr(dsHistory.RecNo + 1) + ';';
Chart.SeriesData[0].YValues := Chart.SeriesData[0].YValues + FloatToStr(dsHistory.Value('Result')) + ';';
dsHistory.Next;
end;
//.....