Samstag, 27. April 2024, 08:36 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

1

Samstag, 5. Mai 2007, 01:44

effiziente Programmierung - Berechung in Indikator auslagern ja/nein?

Hallo,

angenommen ich möchte z.B. folgende Berechnung mit der maximalen Geschwindigkeit ausführen lassen

Calc GD1: GD(Close, 5, AMA);
Calc GD2: GD(Close, 10, AMA);
Calc sum: (GD1+GD2)/4;

Variante A:
Ich lagere die Berechung komplett aus in einem Indikator und rufe dann im HS-Regelbereich diesen Indikator auf.

Variante B:
Ich kopiere die Berechnung direkt in den Definitionsbereich, d.h. lassen den Indiaktor weg.

Kann man bei Variante B Rechenzeit sparen (selbst wenn es nur ms sind), weil hier kein Zeitverlust durch den Indikatoraufruf auftritt? Bei mir haben sich mittlerweile schon über 500 Indiaktoren angesammelt.

Danke.

Viele Grüße
Torsten

PS:
Bei EoD oder gemütlichen IntradayHS werde ich Indikatoren in jeden Fall weiter verwenden. Es geht hier nur um HS die ganz extreme Geschwindikeitsanforderungen erfüllen müssen und wo alle anderen Investox/PC-Zeitoptimierungsmöglichkeiten schon voll ausgeschöpft sind.

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »sten« (5. Mai 2007, 01:50)


Vuego

Meister

Registrierungsdatum: 30. August 2002

Beiträge: 999

2

Samstag, 5. Mai 2007, 09:43

RE: effiziente Programmierung - Berechung in Indikator auslagern ja/nein?

Hallo,
die Frage ist sehr interessant:
angenommen der Basistitel hat 500.000 Perioden, das HS aktualisiert /benötigt für das aktuelle Signal aber nur 1000 Perioden.

Wird bei Variante "A" eventuell erst einmal der komplette Indikator über 500.000 Perioden berechnet und anschließend das HS mit 1000 Perioden verarbeitet?
Oder behält Investox den Indikator mit 500.000 Perioden im Speicher/Cache und berechnet beim Aufruf im HS lediglich die letzten 1000 Perioden der Datenreihe?

Falls alles im Indikator (500.000 Perioden) geladen/kalkuliert werden muß, ist es natürlich sehr aufwendig und würde sich in der Summe mit Sicherheit extrem bemerkbar machen.
Abschließend wird die Frage wohl nur Herr Knöpfel beantworten können.

Gruß, Vuego

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

3

Samstag, 5. Mai 2007, 11:26

Hallo,

ich denke das trotz vorhandener Mittel zur Optimierung die Verteilung der Last immer noch überwiegend seitens der überflüssiger Historienberechnung liegt, und nicht primär bei den Formeln! Vergleicht mal eine Formel in einem Anwender-Stopp und die gleiche Formel in einem HS oder im Chart. Im Formeleditor wird eine viel höhere Geschwindigkeit erreicht obwohl der rechnerische Aufwand (Periodenanzahl) nicht viel höher sein kann und muss!

Interessant wäre ,ob man Daten-Historien in Flash-Speicher auslagern.bzw, direkt vom Provider abzapfen und sammeln kann um diese direkt und nicht über RTT weiter zu verarbeiten. Mittlerweile stehen Flash-Speicher mit mehreren Gigs zu Verfügung und bei einigen Providern kann man Historien nachladen was das Problem von möglichen Datenlücken aufheben sollte. Meiner Ansicht könnte man die Historie, die nicht für Berechnungen benötigt wird ,"stumm" schalten so das diese absolut nicht in Regress genommen werden kann. Ich habe das schon mit den Kombititeln erläutert. Allerdings ist das nur ein umständliche Krücke-aber effektiv. Vielleicht lässt sich die Idee professionell von Herrn Knöpfel umsetzen und löst somit die gröbsten Probleme ohen ständig irgendwelche undurchsichtigen Optimierungen an den Zeitreihen durchzuspielen..

@Torsten

Es könnte sein das wenn Du die Formel als Anwenderformel mit Investox- Bordmitteln "hardcodest" eine höhere Geschwindigkeit erreicht wird. Das müsste man testen...
Happy Trading