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

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

1

Dienstag, 18. Dezember 2007, 17:36

Es swingt nicht, oder Fehler in Investox ?

Ich habe eine Funktion definiert, die Swing Hoch und Tiefs einfängt:
Swing():

Quellcode

1
2
3
4
(Ref(low,-1)>low and
low<Ref(low,+1))*-1
+(Ref(high,-1)<high and
high>Ref(high,+1))*1


Jetzt versuche ich in einer zweiten Funktions aufwärtsgerichtete 123 Formationen zu erkennen:

Quellcode

1
2
3
4
5
6
7
calc s0:ValueWhen(Swing(),Swing()<>0,1,V);
calc s1:ValueWhen(Swing(),Swing()<>0,2,V);
calc s2:ValueWhen(Swing(),Swing()<>0,3,V);
calc m1:ValueWhen(Low(),Swing()<>0,1,V);
calc m2:ValueWhen(High(),Swing()<>0,2,V);
calc m3::ValueWhen(Low(),Swing()<>0,3,V);
(s0=-1 and s1=1 and s2=-1) and (m2>m1)


Soweit funktioniert das allerdings müsste die letzte Zeile noch zusätzlich enthalten

Quellcode

1
and m2>m3 and m3>m1


Wo auch immer ich die Klammer setze, in der Sekunde wo ich einen 5. Ausdruck mit AND verknüpfe einfüge erhalte ich folgede Fehlermeldung
mögliche Versionen:

Quellcode

1
2
(s0=-1 and s1=1 and s2=-1) and (m2>m1 and m2>m3) 
s0=-1 and s1=1 and s2=-1 and m2>m1 and m2>m3


Zitat

Die Formel kann nicht berechnet werden:
Prozedur: Parameter-Überprüfung
Vorgang: K/A
Meldung: Syntaxfehler: Falsche Klammersetzung oder fehlender Operator. Prüfen Sie, ob eine öffnende oder schließende Klammer fehlt. Überprüfen Sie auch, ob vielleicht ein Strichpunkt am Ende einer Definition fehlt.


Da ist aber Definitv kein Fehler in der Klammersetzung drinnen!

wenn ich aber schreibe

Quellcode

1
s0=-1 and s1=1 and s2=-1 and m2>m1 and m2>3


kommt keine Fehlermeldung. :baby:

Was um Himmelswillen kann das denn sein?
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

2

Dienstag, 18. Dezember 2007, 19:14

Da ist aber Definitv kein Fehler in der Klammersetzung drinnen!


Die Fehlermeldung muss nicht zwingend etwas direkt zum Fehler aussagen. Es kann auch sein, dass der Fehler an einer anderen Stelle steckt. Das lässt sich sicher nur sagen, wenn der vollständige Quelltext vorliegt.



Zitat

calc m3::ValueWhen(Low(),Swing()<>0,3,V);


Ist der doppelte Doppelpunkt ein Schreibfehler oder verursacht er die Fehlermeldung?
Viele Grüße,
Hans-Jürgen

Fritz

unregistriert

3

Dienstag, 18. Dezember 2007, 19:31

Hallo,
mache mal bei Swing() die Klammern weg.
Bei der definierten Funktion wie auch später bei ValueWhen.....
Dann sollte es gehen.

Viele Grüße
Fritz

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

4

Dienstag, 18. Dezember 2007, 20:17

Der doppelte Doppelpunkt war´s der kleine Schelm. Vielen Danke für den Hinweis.
Das habe ich irgendwie auf meinem Highres Bildschirm als Mückenschiss interpretiert. :fire:

Aber merkwürdig dabei ist, dass der Fehler immer erst dann Auftritt, wenn man die Variable auch benutzt.
Vorher gibt es keine Fehlermeldung und alles funktioniert.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

5

Dienstag, 18. Dezember 2007, 20:26

Hallo,
mache mal bei Swing() die Klammern weg.
Bei der definierten Funktion wie auch später bei ValueWhen.....
Dann sollte es gehen.

Viele Grüße
Fritz


Danke für den Tipp.
Die Lösung war aber der doppelte Doppelpunkt.
Ob mit oder ohne Klammern macht dann kein Unterschied.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Tobias Männlich

Meister

Registrierungsdatum: 3. September 2002

Beiträge: 663

Wohnort: NRW / Paderborn

6

Freitag, 4. Januar 2008, 09:30

Hi Lenzelott,



in der Berechnung von Swing() steht Ref(Low,+1) und Ref(High,+1) - damit schauts ja in die Zukunft.

WIe würdest Du das denn in einem HS umsetzen ? Bringt es was - rein praktisch - hinterher zu wissen, dass ein Swing Low oder High vorlag ?
Gruss Tobias

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 050

Wohnort: Giessen

7

Freitag, 4. Januar 2008, 22:13

Das ist völlig richtig was Du schreibst.
Allerdings ist bei einem normeln Swing hoch/tief das schauen in die zukunft unproblematisch (und dient nur des einfacheren Backtestes), da das erreichen eines tief/hochs in der nächsten Periode genau der Ausbruch ist, den man sucht und damit das vorhergehende Tief/hoch zu einem solchen macht.
Ich hoffe, das wär verständlich genug ausgedrückt.


Blöder wird es allerdings, wenn man die übergeordneten Swing Hoch & Tief betrachtet.
Da muss man genau aufpassen, dass man nicht in die Zukunft schaut.
If you think it´s expensive to hire a professional, wait until you hire an amateur.