Невозможно экстраполировать функцию тренда TeeChart - PullRequest
0 голосов
/ 25 февраля 2011

Я использую teechart с delphi для построения ряда и линии тренда для этого ряда, используя следующий код:

TF:= TTrendFunction.Create(self);
TrendSeries.SetFunction(TF);
TrendSeries.DataSource := OrigSeries;
TrendSeries.CheckDataSource;

Это работает нормально, но мне было интересно, возможно ли иметь трендлиния экстраполирует вперед или назад?Я не могу найти способ получить значения x и y ряда после того, как он применяет функцию для экстраполяции.Я попытался с помощью функции CalculateTrend вычислить «m» и «b» в y = mx + b, но это дало нарушение прав доступа, как и при попытке доступа к серии. YValue [i].

Так есть ли способ получить те точки, которые он строит после применения функции тренда?

Спасибо.

Ответы [ 2 ]

1 голос
/ 03 июня 2011

Функция Trend добавляет 2 балла к TrendSeries. Точка 0 находится на минимуме X OrigSeries, а точка 1 - на максимуме X.

Чтобы расширить TrendSeries, например, вперед, измените индекс точки 1:

procedure TForm1.Button1Click(Sender: TObject);

var 
  y, m, b: Double;

begin

  TF.CalculateTrend(m, b, OrigSeries, 0, OrigSeries.Count-1);
  TrendSeries.XValue[1]:=OrigSeries.Count+10;   // Extend last point by 10
  y:=m* (OrigSeries.Count+10) +b;
  TrendSeries.YValues[1]:=y;
end;
0 голосов
/ 05 марта 2011

Линия тренда основана на исходных данных в серии, поэтому для экстраполяции линии тренда необходимо предоставить больше данных для исходной серии.

...