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
|
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.
Was um Himmelswillen kann das denn sein?
If you think it´s expensive to hire a professional, wait until you hire an amateur.