Dienstag, 16. April 2024, 13:03 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Peratron

unregistriert

1

Mittwoch, 14. September 2011, 09:16

Wann Bedingung "true"?

Normalerweise gibt man in einer Abfrage einen Vergleichswert ein z.b 1, -1, <> 0 oder wie hier > 50

KursmusterWerteDTW(Open, #50, 60, 70, 100, 70, 85, 100#, 20, 35) > 50

um feststellen zu können wann eine Bedingung "true" ist.

Mich würde interessieren wann folgende Abfrage ohne Vergleichswert "true" ist ?

KursmusterWerteDTW(Open, #50, 60, 70, 100, 70, 85, 100#, 20, 50)

Ich würde behaupten nie, da ja kein Vergleichswert vorhanden ist.

Ohne Vergleichswert nimmt die Abfrage aber trotzdem Einfluss auf mein Ergebnis?
Also muss Sie irgendwann doch "true" sein?!?

Grüße Peratron
P.s: Hab gerade mal nur AND Open() ohne Vergleichswert eingegeben, sogar hier verändert
sich mein Ergebnis? Bei Open() = Open() passt wieder alles.

Ganesha

unregistriert

2

Mittwoch, 14. September 2011, 09:45

true ist alles ungleich 0

Einen expliziten Vergleich braucht man nur, wenn man einen bestimmten Wert haben möchte. Zum Beispiel könnte man sich einen Trendindikator schreiben, der die Wert 0=kein Trend, 1=sicherer Trend, -1=Seitwärtsbewegung hat.

Und dann könnte man sowas machen:

EnterLong: Trendindikator(); //Geht auch bei Seitwärtsbewegung long
EnterLong: Trendindikator()=1; //Geht nur bei sicherem Trend long

Peratron

unregistriert

3

Mittwoch, 14. September 2011, 10:28

Hallo Ganesha

true ist alles ungleich 0


Wenn dies so wäre dann müsste doch

KursmusterWerteDTW(Open, #50, 60, 70, 100, 70, 85, 100#, 20, 50)

und

KursmusterWerteDTW(Open, #50, 60, 70, 100, 70, 85, 100#, 20, 50) <> 0

das gleiche Ergebnis liefern. Dem ist aber nicht so.

Grüße Peratron

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Mittwoch, 14. September 2011, 13:53

Hallo Peratron

Prinzipiell stimmt die Antwort von Ganesha, und Du brauchs keine Abfrage codieren; impliziert wird der Vergleich zu <> 0 ... aber man muss wie so oft im Leben den Mechano dahinter verstehen.

Zum Behufe des impiziten Vergleichs wird nämlich das niederwertigste Bit des Little Endian Bytes der internen Repräsentation des Ergebnisses auf <> 0 verglichen! Ist das zu vergleichende Ergebnis ein Wahrheitswert (0=False, -1=True), dann passiert genau, was man erwartet. Ist es dagegen eine Berechnung, so scheint "irgendwas" zu passieren - aber es hat die vorstehnde logische Erklärung :D

Willst Du also wie in Deinem Beispiel einen Vektor (=Investox Variable, übliches Ergebnis eines Indikators usw.) auswerten, der mehr als die Zahlenmenge [0,-1] enthält, dann codierst Du am besten explizit das <> 0, und die gesamte Zahl pro Zeiteinheit wird dezimal gegen <> 0 verglichen, heraus kommt der passende binäre Wahrheitswert 0 oder -1 und gut ist.


PS: das verwirrende in diesem Zusammenhang mag sein, dass manche Programmiersprachen (aber nicht alle) jede Zahl ohne Vergleichswert implizit gegen <> 0 auf dezimaler Ebene casten. Dann stimmt die Antwort von Ganesha ohne Wenn-und-Aber ... aber es machen halt nicht alle Sprachen gleich, und es gibt bei gleichen Sprachen z.T. Unterschiede, je nach verwendetem Compiler usw.
Gruss
Bernd

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Bernd« (14. September 2011, 14:11)


Peratron

unregistriert

5

Mittwoch, 14. September 2011, 17:01

Hallo Bernd,
danke für deine ausführliche Antwort.

Ist das zu vergleichende Ergebnis ein Wahrheitswert (0=False, -1=True), dann passiert genau, was man erwartet. Ist es dagegen eine Berechnung, so scheint "irgendwas" zu passieren...


Können Sie Herr Knöpfel genauer beschreiben was hier passiert wenn in einer Berechnung kein Vergleichswert angegeben wird? Und welcher Vergleichwert angegeben werden muss um ein identisches Ergebnis zu bekommen?

Grüße Peratron

Peratron

unregistriert

6

Mittwoch, 14. September 2011, 17:44

Hab mal die Signale von der Kursmuster Abfrage ohne Vergleichswert gechartet.

Wie man im Bild "Kursmuster ohne Vergleichswert" sehen kann gibt es Long Signale im Bereich -40 bis +40 und Short Signale im Bereich -60 bis +25.
Da es keinen Vergleichswert (z.b >20) gibt scheint keine Grenze vorhanden zu sein.

Wieso werden aber nur bestimmte Signale umgesetzt, hier der gleiche Ausschnitt ohne die Kursmuster Abfrage im HS. Wie man im Bild "Ohne Kursmuster"
erkennen kann ist die eigentliche Anzahl der Trades wesentlich höher.

Wie oder was Filter Kursmuster ohne Vergleichswert?

Grüße Peratron
»Peratron« hat folgende Bilder angehängt:
  • Kursmuster ohne Verleichswert.png
  • Ohne Kursmuster.png

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

7

Mittwoch, 14. September 2011, 17:58

Signale im Bereich -60 bis +25 ... Wieso werden aber nur bestimmte Signale umgesetzt,

Das hatte ich versucht, oben zu erklären. Ok, noch ein letzer Versuch, sonst muss es jemand anders probieren, Dich schlau zu machen
Dec -60 = bin 1111111111111111111111111111111111111111111111111111111111000100 = falsch
Dec -59 = bin 1111111111111111111111111111111111111111111111111111111111000101 = wahr
Dec -50 = bin 1111111111111111111111111111111111111111111111111111111111001110 = falsch
Dec -49 = bin 1111111111111111111111111111111111111111111111111111111111001111 = wahr
...
Dec +24 = bin 11000 = falsch
Dec +25 = bin 11001 = wahr

So kannst Du doch nicht codieren, das ist doch offensichtlich Murks.

Mach es Dir und uns einfach: charte Deine Zeitreihe und codiere dann explizit, was Du umgesetzt haben willst:
Und welcher Vergleichwert angegeben werden muss um ein identisches Ergebnis zu bekommen?

Eben. Wie ich geschrieben habe, vergleiche für Wahrheitswerte auf <> 0 und für alle anderen Ergebnisse auf den Wert, den Du testen willst, < -10, > 5, > 0 oder > 50 usw.
Gruss
Bernd

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

8

Mittwoch, 14. September 2011, 18:54

Hallo,

wenn Sie als Handelsregel nur die Kursmuster-Bedingung verwenden, gibt es keinen Unterschied. Sobald Sie diese Bedingung aber mit anderen verknüpfen (and, or etc.), müssen Sie den Vergleich mit <>0 hinzunehmen, da sonst die logische Verknüpfung nicht so funktioniert wie Sie es erwarten (siehe technische Erklärung von Bernd).

Viele Grüße
Andreas Knöpfel

Peratron

unregistriert

9

Mittwoch, 14. September 2011, 18:55

Hallo Bernd,
danke für deine Geduld! Mit "irgendwas" war mir noch nicht genau klar was. Dank deiner Mühe jetzt aber schon.

Hätte ich die Frage nicht gestellt wäre ich jetzt nicht schlauer. Mich hat einfach interessiert was passiert wenn so
gecodet wird. Im Normalfall verwende ich auch einen Vergleichswert.

Dies hier wäre aber doch nichts anderes als eine Art Random und diese kann man doch auch in HS einsetzen.
Weshalb dann Murks?

Also danke nochmal!!

Grüße Peratron

Peratron

unregistriert

10

Mittwoch, 14. September 2011, 18:56

Danke Herr Knöpfel für den Hinweis.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

11

Mittwoch, 14. September 2011, 19:49

Hallo Peratron

Ich kann momentan aufgrund Deiner Wortwahl nicht beurteilen, ob diese Frage rhetorischen Character hat, oder wirklich gestellt wurde:
Dies hier wäre aber doch nichts anderes als eine Art Random und diese kann man doch auch in HS einsetzen. ... Weshalb dann Murks?

Deshalb versuche ich noch eine Antwort dazu: weil das Ergebnis genau das ist, Random, Zufall. Es kann zwar "gehandelt" und gebacktestet werden, es kann seiner Natur nach aber unmöglich einen stastisch signifikanten Vorteil aufgrund einer überlegenen Idee produzieren. Das führte mich zu der Wortwahl "Murks". Die "Zufälligkeit" mag aus Posting 7 ersichtlich gewesen sein.
Gruss
Bernd

Peratron

unregistriert

12

Mittwoch, 14. September 2011, 20:18

Hallo Bernd,
ja war schon ne Frage.

...unmöglich einen stastisch signifikanten Vorteil aufgrund einer überlegenen Idee produzieren.


Ja da hast Du recht. Aber sicherlich hat so eine Random Abfrage auch seine Berechtigung wenn man Sie vernünftig einsetzt.

Schönen Abend wünscht,
Peratron

Ganesha

unregistriert

13

Mittwoch, 14. September 2011, 21:52


Ja da hast Du recht. Aber sicherlich hat so eine Random Abfrage auch seine Berechtigung wenn man Sie vernünftig einsetzt.

Welche?

Also den Sinn von Random Tests verstehe ich schon. Aber dann benutze ich eine Random-Funktion, die mir tatsächlich random-Werte liefert. Und zwar nach Möglichkeit auch noch "verschobene" Werte. Also etwa Gauss-Werte, nur positive Gausswerte, Gausswerte mit Wichtung, ...

Peratron

unregistriert

14

Donnerstag, 15. September 2011, 09:01

Hallo Ganesha,
wie man solche Random Werte sinnvoll anwenden kann weiss ich leider auch nicht, da ich (bisher) mit Random nicht gearbeitet habe.
Kann mir aber gut vorstellen das es Möglichkeiten gibt diese sinnvoll einzusetzen. Vielleicht hat ja jemand Erfahrung damit?

Grüße Peratron