Donnerstag, 18. April 2024, 14:27 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

joalex88

unregistriert

1

Dienstag, 22. November 2005, 12:07

2. Linie bei Indikator zeichnen

Hall @ all
aller Anfang ist schwer ... bitte um einen Tip/Hinweis
Habe einen Indikator erstellt, bei dessen Berechnung 2 Ergebnisse entstehen. (Upper_LINE und LOWER_LINE)
In der letzten Zeile ist es mir nur möglich entweder UPPER_LINE oder LOWER_LINE alleine zu schreiben, um eine gültige Umsetztung zu erreichen.
Meine Frage ..wie wird das gemacht .2 Linien darzustellen? ..ich habe nichts dazu gefunden (steht sicher "irgendwo")
Danke für einen Tipp
Grüße Joalex

Moneymaker

unregistriert

2

Dienstag, 22. November 2005, 12:20

Hallo,
meinst du im Chart?
wenn ja, mit "global" berechnen und in den Chart mit "# loadglobal xy" einfügen.

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

3

Dienstag, 22. November 2005, 12:38

@ Joalex

Es geht leider nicht, einen Indikator so zu programmieren, dass er als Ergebnis 2 oder mehrere Linien ausgibt. Grund dafür ist, dass Investox keine Multiplot-Darstellung unterstützt.

Du müsstest also 2 Indikatoren programmieren, wenn beide Ergebnisse gechartet werden sollen. Ein Indikator hätte das Ergebnis Upper_Line, der 2. das Ergebnis Lower_Line.

Angenommen das Ergebnis "Upper_Line" sollte nicht gechartet werden, sondern es wäre nur als Zwischenergebnis für die Berechnung der Lower_Line erforderlich- dann würde 1 Indikator ausreichen ......

Auch bei der vom Gerd vorgeschlagenen Variante der Definition innerhalb eines Handelssystems müsstest Du zweimal mit "# loadglobal xy" -charten, wenn Du die Upper_Line und die Lower_Line beide gleichzeitig im Chart darstellen möchtest.
Viele Grüße von Anke

http://www.ascunia.de

joalex88

unregistriert

4

Dienstag, 22. November 2005, 12:52

@ Moneymaker
@Wiwu

danke Euch für die schnelle Antwort ... jetzt komme ich schon weiter.
Wenn 2 oder mehr Linien möglich gewesen wären, hätte ich das auch gerne verwendet. Aber durch Wiwu's Aussage ist jetzt das beobachtete Verhalten bestätigt.

Danke nochmal und viel Erfolg
Grüße Joalex

joalex88

unregistriert

5

Dienstag, 22. November 2005, 13:51

heute hält mich der Syntax zum Narren

@ all
um nun die Ausgabe der 2 Linie Ergebnisabhängig zu machen, dachte ich an die Lösung mit der IF-Abfrage bzw. mit mehreren IF-Bedingungen..und da hat mich der Syntax-Teufel schon wieder am Wickel.

bei folgendem Teil komme ich nicht weiter

{Parameter.: Perioden ; Multi_Faktor }

calc XX_ATR: ATR(PERIODEN) ;
calc OFFSET: XX_ATR * MULTI_FAKTOR;
calc REF_KURS: ( high + low ) / 2;
calc UPPER_LINE: REF_KURS + OFFSET;
calc LOWER_LINE: REF_KURS - OFFSET;
calc SAVE_MAX: MAX_LINE;
calc MAX_LINE: If(LOWER_LINE > SAVE_MAX, LOWER_LINE, SAVE_MAX);

{ meine Erwartung war, dass Wenn LOWER_LINE größer dem WERT von SAVE_MAX ist, der Wert von LOWER_LINE in MAX_LINE übertragen wird, ansonsten der WERT von SAVE_MX nach MAX_LINE }

UPPER_LINE

die Berechnung von MAX_LINE führt zum Fehler bzw Errormeldung

Parameter: MAX_LINE
Meldung: unverständliche oder ungültige Angaben

(denke, dass ich die Zeile SAVE_MAX sicher weglassen kann wenn die Bezugswörter in der folgenden Zeile entsprechend angepasst werden, Aber ich dachte, damit einen Konflikt zu umgehen)

Was ich erreichen wollte, ist in MAX_LINE den höchsten Wert von LOWER_LINE (perodenunabhängig) zu ermitteln.
Upper_line steht nur da,um eine für den jetzigen Entwicklungsstand ein gültiges Ende zu haben.

Die "IF -THEN - ELSE" wie ich es aus der VBA kenne, funktioniert hier wohl anderst.
Hat jemand eine Idee / Lösung dazu? Denn der Indikator ist noch lange nicht fertig aus VBA übertragen.
Grüße Joalex

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »joalex88« (22. November 2005, 15:21)


Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

6

Dienstag, 22. November 2005, 15:53

Hallo Joalex88,

in der Investox-Formelsprache muss zunächst der Variablen MAX_Line ein Wert oder eine Berechnung zugewiesen werden.

Es würde z.B. nach der Definition von Lower_Line folgender Code funktionieren:

calc Max_Line: (High+low) *0.5;{=Dummy-Berechnung von mir für das Beispiel}
calc MAX_LINE_1: If(LOWER_LINE > MAX_Line, LOWER_LINE, MAX_Line);
Max_Line_1


oder alternativ auch:

const max_Line: 4350; {...wieder nur eine Dummy-Konstante für das Beispiel}
calc MAX_LINE_1: If(LOWER_LINE > MAX_Line, LOWER_LINE, MAX_Line);
Max_Line_1

Wenn in der Berechnung von Max_Line_1 auf die Variable Max_Line zugegriffen werden soll, muss diese zunächst ebenfalls definiert werden.
Sonst kennt Investox sie nicht....
Viele Grüße von Anke

http://www.ascunia.de

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

7

Dienstag, 22. November 2005, 15:57

RE: heute hält mich der Syntax zum Narren

Hallo,

man kann VBA in der Tat nicht mit den Unterberechnungen von Investox vergleichen (das Problem hier ist, dass SAVE_MAX das noch nicht definierte MAX_LINE verwendet).
Wenn der Indikator allerdings in VBA vorliegt, wäre es event. sinnvoll, diesen direkt als externen Indikator einzubinden. Das entsprechene Entwicklerkit können Sie kostenlos per E-Mail anfordern.

Viele Grüße
Andreas Knöpfel

joalex88

unregistriert

8

Dienstag, 22. November 2005, 16:25

Herr Knöpfel,

danke für den Hinweis und Richtigstellung meiner (falschen) Vorstellung.
Um den Entwicklungskit werde ich mich bemühen und mich per e-amil bei Ihnen melden. Es lohnt sich sicher für mich da ich eine Reihe von Indikatoren in VBA -Form nach Investox transferieren möchte.

schönen Tag nco und Grüße Joalex