Einzelnen Beitrag anzeigen

Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#1

Problem bei Formel zur Aktienanalyse

  Alt 22. Mär 2006, 15:33
Also, ich habe mich mal etwas näher mit der technischen Analyse von Aktienkursen beschäftigt.
z. B. Momentum = Berechnung aus der Differenz des heutigen Kurses zum Kurs vor z.B. 30 Tagen

Folgende Function berechnet das Momentum:
Delphi-Quellcode:
function TForm12.Momentum(Tage: integer): integer;
var
  value, value1: integer;
begin
  Value := Table3.FieldByName('Kurs').AsInteger;
  Table3.MoveBy(-Tage);
  Value1 := Table3.FieldByName('Kurs').AsInteger;
  Table3.MoveBy(Tage);
  result := Value - Value1;
end;
Die Darstellung des Momentums in einem TChart:
Delphi-Quellcode:
  Table3.First;
  Table3.MoveBy(Anzahl);
  for i := 0 to RecCount -1 do
  begin
    Value := Momentum(Anzahl);
    Series4.AddY(Value, Table3.FieldByName('Datum').AsString, clTeal);
    Table3.Next;
  end;
Dabei ist Anzahl die Zahl der Tage für die Berechnung des Momentums.
Soweit funktioniert auch anscheinend alles.

Mein Problem sind aber nun die Kurswerte am Ende der Tabelle.
(Siehe Anlage).

Die Berechnung funzt offenbar nicht mehr richtig, wenn die Anzahl der Kurse in der Table3 kleiner sind als die Variable Anzahl, d.h. die
Zahl der in der function momentum angegebenen Tage.

Bloß wie kann ich das ändern, dass auch für die letzten Werte eine korrekte Berechnung durchgeführt wird?
Miniaturansicht angehängter Grafiken
momentum_875.jpg  
  Mit Zitat antworten Zitat