Freitag, 19. April 2024, 06:43 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.

Gerasan

unregistriert

1

Donnerstag, 2. Dezember 2004, 00:58

Datenreihen an VB6 übergeben

Sehr geehrter Herr Knöpfel,

ich möchte einige Datenreihen, die in der HS-Definition mit calc errechnet sind über die Programmierschnittstelle an Visual Basic übergeben und dort weiter bearbeiten.

So wie ich es bisher verstanden habe, geht es über das Object cDaten nicht, weil dort nur fest definierte Variablen wie z.B. Close usw. übergeben werden. Oder kann ich auch eigendefinierte Datenreihen so übergeben?

Über Parameter klappt es auch nicht: wenn ich in IV die externe Funktion mit Datenreihenparametern anlege, und die dann mit Datenreihen beim Aufruf versorge (MyFunktion(Vola)), bekomme ich in VB6 nur den Namen der Datenreihe (Vola), nicht aber den Inhalt. Kann ich das überhaupt über Parameter machen?

Wenn beides nicht geht, wie kann ich es sonnst übergeben, ohne die Datenreihen über callback nach IV wieder errechnen zu müssen?

Ferner möchte ich gerne mehrere Datenreihen und/oder Parameter zurück an IV übergeben. Ist es möglich? Vermutlich nicht, weil es eine Funktion mit einem Ergebnis ist :(

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Gerasan« (2. Dezember 2004, 01:01)


Registrierungsdatum: 2. September 2002

Beiträge: 433

Wohnort: Freiburg

2

Donnerstag, 2. Dezember 2004, 15:27

Hallo Gerasan,

meines Wissens kannst Du keine Rechnungen übergeben. Entweder Du lässt sie in VB über Investox berechnen (Du kannst da ja auf den Formelapparat zugreifen) oder Du lässt die Rechnung in einem Indikator machen. In beiden Fällen spart es aber keine Rechenzeit...

Grüsse
Bernhard

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

3

Donnerstag, 2. Dezember 2004, 16:11

Hallo Gerasan und Bernhard,

ich bin auch der Meinung, dass das wohl nicht geht. Ich habe mir vor einigen Wochen an einem ähnlichen Problem die Zähne ausgebissen. Ich hatte meine Definitionen in einem extra Klassenmodul innerhalb der gleichen DLL programmiert und wollte dann via Property Get und Konsorten im Klassenmodul 2 auf das Ergebnis der Funktion von Klassenmodul 1 zugreifen.
Ging auch nicht , obwohl es sonst bei mir immer in VB-Programmierungen (ohne Investox) klappt.
Die Sache mit dem Zugriff auf die Formelmaschine funktioniert natürlich-allerdings zu Lasten der Geschwindigkeit, so dass es für meine Arbeitsaufgabe nicht praktikabel ist.
Die Lösung die ich bis jetzt für mich gefunden habe, ist auch nur die umständliche: Alles (also auch die Indikatoren, die in Investox hardgecodet sind) noch einmal selber extern in VB programmieren, um möglichst nicht bzw. nur wenig auf die INV-Formelmaschine zuzugreifen.

Weil das aber ein Heidenaufwand ist, wäre ich ebenfalls sehr an einer eleganteren (nicht zu Lasten der Geschwindigkeit gehenden) Lösung interessiert, die mir aktuell -wie oben schon geschrieben- ebenfalls nicht bekannt ist.
Viele Grüße von Anke

http://www.ascunia.de

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

4

Montag, 6. Dezember 2004, 12:58

RE: Datenreihen an VB6 übergeben

Hallo,

vielleicht habe ich das Problem nicht ganz verstanden, weil mir die Lösung zu einfach erscheint: Eine Datenreihe (die z.B. mit "Calc" berechnet wurde) kann an einen Anwenderindi einfach per Datenreihen-Parameter übergeben werden.

Die Rückgabe mehrerer Datenreihen pro Indikator ist nicht möglich.

Viele Grüße
Andreas Knöpfel

Gerasan

unregistriert

5

Montag, 6. Dezember 2004, 13:16

Zitat

Über Parameter klappt es auch nicht: wenn ich in IV die externe Funktion mit Datenreihenparametern anlege, und die dann mit Datenreihen beim Aufruf versorge (MyFunktion(Vola)), bekomme ich in VB6 nur den Namen der Datenreihe (Vola), nicht aber den Inhalt. Kann ich das überhaupt über Parameter machen?


Hallo Herr Knöpfel,

ich denke auch, daß es gehen sollte, aber wie oben bereits beschrieben, bekomme ich im VB6 die Datenreihe nicht!
Wenn ich die Parameter, so wie in der Entwicklerkit-Doku beschrieben, in die Variable reinschreibe, sehe ich als Inhalt den Namen des Parameters, nicht aber dessen Inhalt (die Datenreihe).

Vielleicht könnten Sie ein kleines Beispiel für die Datenreihenübergabe und dessen Verarbeitung im VB6 hier posten?

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

6

Montag, 6. Dezember 2004, 15:38

Zitat

Die Rückgabe mehrerer Datenreihen pro Indikator ist nicht möglich.


Ist es eigentlich geplant - bzw. überhaupt realisierbar ????- das in einer Folgeversion von Investox (z.B. V5) zu ändern ?

Ich fände es hilfreich - z.B. könnte man sich dadurch bei der Programmierung von Trendlinien-Indikatoren innerhalb eines einzigen Indikators auch die historischen Trendlinien anzeigen lassen, was in Bezug auf die Bewertung von Backtest-Ergebnissen solcher Automatic-Trendlines Systeme - aus meiner Sicht - eine große Erleichterung wäre......
Viele Grüße von Anke

http://www.ascunia.de

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

7

Montag, 6. Dezember 2004, 15:44

Hallo Anke,

noch besser wäre wenn automatische Trendlinien gleich intigriert wären..;)
Happy Trading

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

8

Montag, 6. Dezember 2004, 16:45

Ja Udo- so kenn und mag ich Dich. Pragmatisch, praktisch, gut. =)

Mir würden aber dann trotzdem noch vielfältige andere Einsatzmöglichkeiten für solche Multiplot-Indikatoren einfallen .......
Viele Grüße von Anke

http://www.ascunia.de

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

9

Montag, 6. Dezember 2004, 23:09





>>Mir würden aber dann trotzdem noch vielfältige andere Einsatzmöglichkeiten für solche Multiplot-Indikatoren einfallen .......

Mir ehrlich gesagt auch Anke......


Wünsche Dir noch einen schönen Abend!
Happy Trading

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

10

Montag, 6. Dezember 2004, 23:49

Zitat

Wünsche Dir noch einen schönen Abend!
»Wiwu« hat folgendes Bild angehängt:
  • icon_dito.gif
Viele Grüße von Anke

http://www.ascunia.de

Gerasan

unregistriert

11

Montag, 6. Dezember 2004, 23:56

Hallo Herr Knöpfel,
zu der Parameterübergabe habe ich jetzt folgendes Beispiel:

1. Anlegen einer Kopie Ihrer Beispielfunktion SwingIndex.cls
2. Umbenennen.
3. Statt "DailyLimit" den Parameter "MeineDatenreihe" definieren und anschließend aus Parameter(1) füllen:

Dim MeineDatenreihe!()
MeineDatenreihe = Parameter(1)

4. Compilieren, Break-Point setzen.
5. Im Investox die Funktion anlegen und einen einzigen Parameter D1 als Datenreihe definieren.

6. Die Funktion im Chart einblenden. In sich dabei öffnenden Felnter "Funktionseinstellungen" in den Parameter D1 close eintragen, enter.

VB6 Breakpoint hällt an. Weitere Einzelschrittausführung im Debugger zeigt:

Das Füllen klappt nicht, Fehlerbehandlung wird ausgelöst.

In Debugger sieht man den Inhalt des Parameter(1) = "Close"

Was mache ich falsch?

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

12

Dienstag, 7. Dezember 2004, 11:20

Hallo Gerasan,

Probier es so

Dim Zeiger as String
Dim Daten() as Single
Zeiger= Parameter(1)
Daten=Cdaten(Zeiger)


.......ist übrigens das Beispiel aus der Doku zum Entwicklerkit.
Viele Grüße von Anke

http://www.ascunia.de

Gerasan

unregistriert

13

Dienstag, 7. Dezember 2004, 13:10

Hi Wiwu,
sieht gut aus. So wird es wahrscheinlich gehen. Werde heute abend mal ausprobieren. Und es steht in der Doku! Ich schäme mich :baby:

Danke Wiwu

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

14

Freitag, 17. Dezember 2004, 14:27

Um Mißverständnisse zu vermeiden - mir ging es bei meiner Frage um die Möglichkeit zur Programmierung automatischer Trendlinien, so wie Sie im angehängten Bild unten dargestellt sind.
Im GIF ist nur ein einziger Trendlinien-Indikator gechartet.
Dass man einzelne Trendlinien programmieren und so fixieren kann, dass man die Ausbrüche handeln kann ist mir bekannt. So wie ich es verstehe, ist die Anzeige der historischen Trendlinien innerhalb eines einzigen Indikators aktuell aber nicht möglich. Das war aber mein Anliegen, weil sich dadurch die Backtesting-Ergebnisse solcher Automatic-Trendlines Systeme-aus meiner Sicht- erheblich besser bewerten lassen.

Deshalb möchte ich noch einmal fragen, ob es geplant und programmtechnisch realisierbar ist, Investox in einer Folgeversion so zu erweitern, dass auch mehrere Datenreihen pro Indikator augegeben werden können.
»Wiwu« hat folgendes Bild angehängt:
  • Automatische_TL.gif
Viele Grüße von Anke

http://www.ascunia.de

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Wiwu« (17. Dezember 2004, 14:28)