Dienstag, 16. April 2024, 17:02 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.

MacDschie

unregistriert

1

Mittwoch, 22. Juni 2011, 14:30

Im Chart angezeigten Indikator in einer Berechnung verwenden?

Hallo,

ich versuche gerade, eine Farbstudie zu erstellen und möchte in der zugehörigen Bedingung einen Indikator verwenden, den ich bereits im Chart eingefügt habe und der dort angezeigt wird. Ich kann den Indikator problemlos in die Berechnung der Bedingung eintippen, aber wenn ich einen Parameter dieses Indikators verändern möchte, muss ich das an zwei Stellen tun: einmal im Chart und einmal in der Bedingung der Farbstudie. Gibt es eine Möglichkeit, in die Bedingung der Farbstudie einen Bezug auf den Indikator im Chart einzubauen, sodass sich die Bedingung der Farbstudie automatisch mit ändert, wenn ich einen Parameter des Indikators im Chart ändere?

Im Dialogfeld "Indikator einstellen" gibt es die Möglichkeit, in einem Datenfeld auf einen anderen Indikator zu verweisen, indem man #>>Indikatorname<<# einträgt. Das funktioniert bei Berechnungen leider nicht (Fehlermeldung "Unverständliche oder ungültige Angaben"), auch als Schlüsselwort (#Indikatorname# oder #_Indikatorname#) klappt's nicht. Das Schlüsselwort #_Datenreihe# kann ich an dieser Stelle nicht verwenden, da ich eine Farbstudie im Chart und nicht in einer Datenreihe einstellen will.

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

2

Mittwoch, 22. Juni 2011, 14:56

Hallo,

Zitat

Gibt es eine Möglichkeit, in die Bedingung der Farbstudie einen Bezug auf den Indikator im Chart einzubauen, sodass sich die Bedingung der Farbstudie automatisch mit ändert, wenn ich einen Parameter des Indikators im Chart ändere?


Das lässt sich z.B. über ein Dummy-Handelssystem im Projekt realisieren.
Im Definitionsbereich dieses Handelssystems definierst Du den (bzw. die) Parameter des Indikators als globale Variable

Quellcode

1
2
global const Perioden: [Perioden:21,2,100,2,100,1,0.4153,I];
global calc Dein_Indikator:GD(close,Perioden,S);


Den Indikator fügst Du wie folgt in den Chart ein: Rechter Mausklick auf freie Stelle im Chart ---> Formel einfügen

Quellcode

1
2
#_loaddefs#
Dein_Indikator


In den Bedingungen der Farbstudie gehst Du analog vor.
Für mein Beispiel könnte ein passender Code in der Farbstudie z.B. lauten:

Quellcode

1
2
#_loaddefs#
Dein_Indikator>close


Wenn Du den aktuellen Wert der globalen Konstante "Perioden" in Zukunft im Definitionsbereich des Dummy-Handelssystems änderst, passen sich immer auch der Indikator im Chart und die Farbstudie an.
Viele Grüße von Anke

http://www.ascunia.de

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

3

Mittwoch, 22. Juni 2011, 16:04

Wenn Du mit der V6 arbeitest, gibt es außerdem noch die Möglichkeit mit dem globalen Datenspeicher ohne Dummy-Handelssystem zu arbeiten:

Berechnung 1 im Chart:

Quellcode

1
2
3
4
5
6
7
8
9
const Per: [Perioden:21,2,100,2,100,1,0.4153,I];
global calc dummy: VBScript(#>>
if GlobalData.KeyExists("Perioden_1")=false then
GlobalData.Add "Perioden_1", Per
else
GlobalData.Item("Perioden_1")= Per
end if
<<#);
GD(close, Per, S)



Berechnung 2 im Indikator bzw. in der Farbstudie:

Quellcode

1
2
const Per: #>>_vbs_const consterg=GlobalData.Item("Perioden_1")<<#;
GD(close, Per, S)


Den Wert der Konstanten "Per" änderst Du dann immer nur in Berechnung 1.
Viele Grüße von Anke

http://www.ascunia.de

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

4

Freitag, 24. Juni 2011, 10:08

Hallo,

es gibt noch die Möglichkeit, den Indikator Datenreihe(#xy#) zu verwenden. Also z.B. Datenreihe(#Neue Formel#), wenn die Datenreihe im Chart "Neue Formel" heißt.

Viele Grüße
Andreas Knöpfel

MacDschie

unregistriert

5

Freitag, 24. Juni 2011, 22:31

Hallo,

herzlichen Dank für diese sehr ausführlichen Antworten! Die Variante mit Handelssystem ist gut, kommt nur für mich leider nicht in Frage, da ich schon mehrere HSe im Projekt habe und damit meine globalen Variablen in allen HSen eintragen und ändern müsste.

Ich habe V6 und habe mit dem globalen Datenspeicher etwas experimentiert. Im Prinzip echt prima, nur hat die Methode den Nachteil, dass ich alle betreffenden Indikatoren rauswerfen und durch Formeln ersetzen müsste. Dabei geht der Komfort des "Indikator-einstellen"-Fensters flöten. Wenn man dagegen in einem Parameter-Eingabefeld dieses Fensters einen String wie

Quellcode

1
#>>_vbs_const consterg=GlobalData.Item("Variablenname")<<#


zum Abrufen der vorher gespeicherten Variable und zur Verwendung als Wert für diesen Parameter eintragen könnte, müsste man nur den Indikator durch eine Berechnung ersetzen, in dem alle Parameter definiert und dem globalen Speicher zugefügt werden *zu den Programmieren rüberschiel* :)

Die Datenreihe(#xy#) ist genau das, was ich gesucht habe, aber leider funktioniert sie nur in Formeln, die ich im Chart einfüge, nicht in den Bedingungen einer Farbstudie. Bei letzterem bekomme ich die Fehlermeldung "Die im Parameter angegebene Datenreihe steht nicht zur Verfügung." Ist das ggf. ein Programmierfehler?

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

6

Sonntag, 26. Juni 2011, 10:16

In der Farbstudie musst Du ggf. selbst von Hand als erste Zeile #_loadDefs# einfügen, das kommt nicht automatisch.
Gruss
Bernd

MacDschie

unregistriert

7

Sonntag, 26. Juni 2011, 21:52

In der Farbstudie musst Du ggf. selbst von Hand als erste Zeile #_loadDefs# einfügen, das kommt nicht automatisch.
Um die Anweisung "Datenreihe(#xy#)" verwenden zu können? Hab ich grad probiert, funktioniert auch nicht.

Wenn ich das richtig verstanden habe, dient #_loadDefs# zum Laden globaler Variablen aus einem HS. Da ich meine Variaben nicht im HS abspeichern will, brauchich die Anweisung #_loadDefs# auch nicht.

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

8

Sonntag, 26. Juni 2011, 22:27

Hallo,

Zitat

Die Datenreihe(#xy#) ist genau das, was ich gesucht habe, aber leider funktioniert sie nur in Formeln, die ich im Chart einfüge, nicht in den Bedingungen einer Farbstudie. Bei letzterem bekomme ich die Fehlermeldung "Die im Parameter angegebene Datenreihe steht nicht zur Verfügung." Ist das ggf. ein Programmierfehler?


So funktioniert der Zugriff mit Hilfe von Datenreihe(xy) auch in der Farbstudie:

a) 1. Teilchart - Indikator als Berechnung - Name = GD

global const Perioden: 21;
global calc indi: GD(close,Perioden,s);
indi


b) 2. Teilchart - Zugriff auf den Indikator aus Teilchart 1
Datenreihe(GD)

c) Farbstudie z.B.
Datenreihe(GD)>100
Viele Grüße von Anke

http://www.ascunia.de

MacDschie

unregistriert

9

Sonntag, 26. Juni 2011, 23:05

Kommando zurück: Ich hab das mit der Datenreihe gerade nochmal ausprobiert. Es scheint prinzipiell zu funktionieren, aber ich bekomme die beschriebene Fehlermeldung ("Die im Parameter angegebene Datenreihe steht nicht zur Verfügung.") wenn ich bei der Eingabe der Bedingung der Farbstudie auf "Bearbeiten" klicke, die Formel in dem im Fenster "Berechnung bearbeiten" angezeigten Formeleditor eingebe und dort auf "Testen" klicke. Dann kommt zuerst ein Fenster "Titel zum Testen auswählen", in dem der aktuelle Titel meines Projekts vorselektiert ist. Wenn ich dort auf OK drücke, kommt die Fehlermeldung (aber nur wenn ich den Ausdruck "Datenreihe" in meiner Formel verwende - schreibe ich den Indikator direkt rein, sagt der Test wie erwartet, dass alles OK sei). Ignoriere ich das mit dem Testen und gebe meine Formel ein, kommt keine Fehlermeldung und die Farbstudie wird korrekt angezeigt. Ich werd's mal den Programmierern überlassen, rauszufinden, warum das Testen nicht geht. ^^