Donnerstag, 18. April 2024, 02:17 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Snoopy

unregistriert

21

Mittwoch, 24. Januar 2007, 22:34

Hallo TobiasK,
das am 21.06.2001 kein Signal ausgelöst wird hat folgende Ursache:
Ein Durchkreuzen mit dem Befehl Cross=1 kann nur stattfinden wenn der Kurs von Unten nach Oben die Signallinie durchkreuzt. Am 20.01.2001 ist aber das High genau gleich mit der Signallinie. Dadurch ist erst mit dem übernächsten Tag das Signal gültig.
Das gleiche gilt z.B. auch für den 09.10.2001 .

Möglich wäre hier der Einstieg zum Open am nächsten Tag.
Cross(Ref(High, -1), Signaltag , 1)=1

Oder du legst die Signallinie um 0,0001 höher. Dann befindet sich das High bereits unterhalb der Signallinie.
Dann kann der Einstieg am 21.06 erfolgen.
Cross(High, Signaltag +0.0001, 1)=1

Mit ist noch aufgefallen, da du nur Long Positionen ausführst , das ein Long Signal auch eintritt wenn sich der kurze GD unterhalb des langen GD befindet. Dabei wird das High von der letzten Kreuzung genommen.
Eine Möglichkeit um das zu verhindern:
Cross(High, Signaltag +0.0001, 1)=1 and GD(close, 14, S) > GD(close, 40, S)

Gruß Snoopy

OptiT

unregistriert

22

Donnerstag, 25. Januar 2007, 11:31

Hallo,

also ich denke auch, daß das Problem vom CROSS-Befehl kommt, denn die gesamte Handelsspanne des 21.06.2001 liegt über Signaltag, also gibt es keine Kreuzung. Versuche besser die Abfrage Close>Signaltag, dann sollte es gehen.

Grüße
OptiT

TobiasK

unregistriert

23

Donnerstag, 25. Januar 2007, 19:57

Hallo,
danke für deine Antwort.
Nachvollziehen kann ich den Cross Befehl aber immer noch nicht.
Am 20.06.01 schneidet der kürzere GD(106,83) den längeren GD(106,75). High an diesem Tag 107,42.
Am nächsten Tag(21.06.01) wird mit 107,28 eröffnet(das dürfte ja eigentlich keine Rolle spielen oder?) High ist 107,67 also Signallinie bei 107,42 gecrossed. Warum kein Kaufsignal??
Die Erklärung, daß das High von unten die Signallinie crossen muß, leuchtet mir nicht ein. Das habe ich mit dieser Enterregel getestet:
(Cross(High, Ref(High, -1), 1) = 1)
Demnach ist der Indikator 1 wenn der Wert vom Vortag niedriger ist als der aktuelle.
Close>Signaltag alleine funktioniert auch nicht.
Ich bin ratlos.
Gruß
Tobias

Snoopy

unregistriert

24

Donnerstag, 25. Januar 2007, 21:27

Hallo Tobias,
zur Verdeutlichung das Beispiel Cross(High, Ref(High, -1), 1) = 1 am Chart.
Die blaue Linie ist das High. Die grüne Linie ist das Ref(High,-1).
Auf dem Weg vom 19ten zum 20ten durchkreuzt die blaue Linie die grüne Linie von Unten nach Oben.

Close>Signaltag funktioniert nicht, da diese Bedingung ständig 1 ist. Das bedeutet, wenn eine Position durch einen Stopp beendet wird, geht das System sofort wieder Long, solange das Close größer ist als der Signaltag.

Gruß Snoopy
»Snoopy« hat folgendes Bild angehängt:
  • Unbenannt.png

TobiasK

unregistriert

25

Freitag, 26. Januar 2007, 06:55

Hallo Snoopy,
super, danke, jetzt ist mir alles klar. Bin ich bescheuert. :baby:
Gruß
Tobias