Dienstag, 16. April 2024, 11:50 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

MacDschie

unregistriert

1

Freitag, 15. Juli 2011, 23:02

Wie schreibt man einen Textvergleich in der Formelsprache?

Hallo,

Eine Frage zum Thema Indikator entwerfen: wie prüft man den Wert eines Parameters vom Typ Text in der Formelsprache?
Ich entwerfe gerade einen Indikator, bei dem - abhängig von einem Text-Parameter - mal eine oder eine andere Formel berechnet werden soll. Mein Ansatz dazu:

Quellcode

1
IF (Typ = Text or Typ = Kurztext, Berechnung1, Berechnung2)


Typ ist der Name des Parameters, Text eine mögliche gültige Eingabe und Kurztext die Abkürzung davon. Statt Berechnung1 und Berechnung2 steht da natürlich was sinnvolles, was ich auch isoliert auf Korrektheit getestet habe.
Was ich bekomme, ist ein "Fehler bei der Berechnung einer Definition" im Indikator IstGleich mit der Meldung: "Unverständlicher Parameter: Datenreihe oder Unterberechnung erwartet."
Ich vermute, der Indikator IstGleich kann keine Zeichenketten auswerten. Gibt es dafür einen anderen Indikator oder eine andere Syntax? Den Text in Anführungszeichen zu setzen brachte keine Besserung, genausowenig habe ich im Handbuch oder in der Hilfe etwas zum Thema gefunden.

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

2

Samstag, 16. Juli 2011, 00:57

Ich musste neulich lernen, dass das leider nicht geht mit der Investox Formelsprache.

In VBS Indikatoren ist es jedoch möglich.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

3

Samstag, 16. Juli 2011, 10:53

Hallo,

wobei es gibt auch noch die Möglichkeit, den Text mit "Use..as.." in einen numerischen Wert umzuwandeln, den man dann weiterverarbeiten kann.

const Typwert: Use Typ as Text=1, Kurztext=1;
if(Typwert=1, Berechnung1, Berechnung2)

In "Use..as.." müssen allerdings alle möglichen Eingaben verarbeitet werden.

Viele Grüße
Andreas Knöpfel

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Samstag, 16. Juli 2011, 18:07

Es geht an dieser Stelle einer Programmiersprache um die Parameter-Signatur: diese sollte von einer Sprache unbedingt stringent und typisiert eingehalten werden.

Ich fände es auch mehr als sehr nützlich, wenn man Textkonstante an in der Parameter-Signatur eines Indikators ausdrücklich als "Text" gekennzeichnete Parameter übergeben könnte, ungeachtet, ob das Indikatoren-Coding in Investox Sprache oder VBS vorliegt.

Und vor allen Dingen ungeachtet, ob dieser als Text übergebene String eine Namens-Entsprechung in einem global calc hat. Entsprechende Kapselung wäre nicht nur zeitgemäss, sondern erwartet. Eine stringente, syntaktisch und lexikalisch durchgehend geplante Sprachkonstruktion mit im Fehlerfall exaktem Verweis auf die genaue Zeilen-Nummer ins Coding sollte das leisten können.
Gruss
Bernd