AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?
Thema durchsuchen
Ansicht
Themen-Optionen

Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

Ein Thema von Hansi · begonnen am 20. Dez 2004 · letzter Beitrag vom 20. Dez 2004
Antwort Antwort
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#1

Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 13:43
Hey,

Für mein Programm möchte ich Berechnungen durchführen.

Nun meine Frage: "Wie mache ich das am besten? Mit DLL? Mit Funktion und Procedure? oder???

Was möchte ich machen? z.B.:

1. Gleitender Durchschnitt (GD)
2. Wurzel aus(Akt. Kurs-GD)hoch2.../2
3. ...
4. Also ziemlich komplizierte Berechnungen für sehr viele Daten((jeden Tag 1 bis 100) über die letzten Jahre hinweg)

Was würdet Ihr mir empfehlen?

Bin für jeden Tip dankbar!
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 13:49
Was für Berechnungen "besser" geeignet ist, entscheidet sich aus dem Verwendungszweck des Programms. Falls du viele Updates an deinen Formeln machst (also die Formeln zum Rechnen umschreibst), solltest du die Berechnungen in einer DLL erledigen.

Ob nun Prozedur oder Funktion ist eigentlich nicht zu beantworten, denn am Ende tun beide das selbe. Sie unterscheiden sich nur darin, wie sie ihre Ergebnisse zurückliefern.
  Mit Zitat antworten Zitat
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#3

Re: Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 13:53
Also updates sollen eigentlich nicht vorkommen.
Wenn eine Berechnung fertig ist soll es laufen.

Welche Arten von Berechnungen gibt es noch?
Wie sieht das mit der Geschwindigkeit aus?
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#4

Re: Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 14:01
Der Aufruf einer Funktion in einer DLL unterscheidet sich nicht vom Aufruf einer Funktion in einer ausführbaren Exe-Datei. Beides ist gleichschnell. Ob Funktion oder Prozedur hängt davon ab, ob du einen Rückgabewert haben willst oder nicht. Wenn du mehrere Ergebnisse zurückliefern willst, musst du sowieso Ausgabeparameter verwenden.

Da deine Funktionen augenscheinlich mathematische Dinge berechnen sollen, würde ich die ganzen mathematischen Funktionen in eine Unit packen und bei Bedarf dann ins Programm einbinden.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#5

Re: Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 14:06
Zitat von Hansi:
...Also ziemlich komplizierte Berechnungen für sehr viele Daten((jeden Tag 1 bis 100) über die letzten Jahre hinweg)...
- sind die formeln sehr rechenintensiv oder nur kompliziert zu verstehen?
- 100 Daten (=Werte?) sind doch nicht wirklich viele!
- mach doch erstmal eine, (für dich komplizierte [nicht negativ gemeint!)) berechnungs -funktion/prozedur, dann kannst du ja abschätzen ob es wirklich lange dauert...
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#6

Re: Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 14:09
Du schreibst das Deine Berechnungen über die letzten fünf Jahre hinweg laufen sollen. Falls Du diese Daten aus einer Datenbank beziehst würde ich versuchen die Berechnung direkt auf Datenbankebene über eine Stored Procedure durchzuführen. Dies entlastet zum einen das Netzwerk und zum anderen ist die Geschwindigkeit auch wesentlich höher.

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#7

Re: Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 14:09
Spielt doch im Prinzip keine große Rolle, ob eine Funktion jetzt 0,0001 oder 0.001 Sekunden braucht, solange sie nicht ständig an einer zeitkritischen Stelle aufgerufen wird.
  Mit Zitat antworten Zitat
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#8

Re: Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 14:20
@ IBP
- 100 Werte für jeden Tag, das für jeden Arbeitstag; kommt schon was zusammen
- den Gleitenden Durchschnitt habe ich über glaube ich 5 Schleifen hinbekommen; Wenn ich den GD für eine Zeitreihe also ca. 3000 Werte, merke ich ein kleines "Ruckeln" von ca. 1/2 Sekunde(Rechner Leistung mehr als ausreichend!!)
- Die Berechnungen sind für Aktien-Indikatoren gedacht. Daraus sollen Wahrscheinlichekeiten berechnet werden, d.h. wenn der Indikator berechnet wurde soll ein Parameter geändert werden und dann neu berechnet werden.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 14:27
Zitat von Hansi:
Wenn ich den GD für eine Zeitreihe also ca. 3000 Werte, merke ich ein kleines "Ruckeln" von ca. 1/2 Sekunde
Lager die Berechnung in einen Thread mit niederiger Priorität aus, und du wirst das Ruckeln nicht mehr merken.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#10

Re: Konzeptfrage Berechnungen Welches Vorgehen ist sinnvoll?

  Alt 20. Dez 2004, 14:31
Zitat von Hansi:
@ IBP
- 100 Werte für jeden Tag, das für jeden Arbeitstag; kommt schon was zusammen
- den Gleitenden Durchschnitt habe ich über glaube ich 5 Schleifen hinbekommen; Wenn ich den GD für eine Zeitreihe also ca. 3000 Werte, merke ich ein kleines "Ruckeln" von ca. 1/2 Sekunde(Rechner Leistung mehr als ausreichend!!)
- Die Berechnungen sind für Aktien-Indikatoren gedacht. Daraus sollen Wahrscheinlichekeiten berechnet werden, d.h. wenn der Indikator berechnet wurde soll ein Parameter geändert werden und dann neu berechnet werden.
.. da lässt sich doch sicherlich etwas optimieren, wlchen gleitenden durchschnitt berechnest du denn, den "normalen", den gewichteten, oder den exponentiellen?

zeig doch mal den code!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz