Samstag, 20. Dezember 2014, 23:54 UTC+1

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 Männlich

Benutzer

Registrierungsdatum: 24. Juni 2010

Beiträge: 62

Wohnort: Mannheim

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.
Viele Grüße,

MacDschie

Lenzelott Männlich

Erleuchteter

Registrierungsdatum: 30. Dezember 2002

Beiträge: 2 510

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 298

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

Erleuchteter

Registrierungsdatum: 5. Juni 2005

Beiträge: 3 508

Wohnort: gelegentlich

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

-----------------------------------------------
http://www.13quants.ch