eine Handelsstrategie auf der Grundlage der Elliott-Wellen-Theorie - Seite 287
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Guten Abend zusammen.
Könnten Sie bitte die Kinder dieses Algorithmus nennen?
Ich danke Ihnen im Voraus
Das sage ich Ihnen.
Wir wenden einen mehrfachen Medianfilter auf die Preiskurve an. Was ist das? Wir nehmen ein Fenster ungerader Größe (>=3) und lassen es durch alle Werte der ursprünglichen Kurve laufen. Sortieren Sie an jedem aktuellen Punkt die im Fenster enthaltenen Punkte nach ihrem Wert. Dem aktuellen Punkt wird ein Durchschnittswert (in dem Sinne, dass er sich in der Mitte des Arrays befindet) aus dem sortierten Array zugewiesen. Auf das Ergebnis wird erneut der gleiche Filter angewendet. Wir wiederholen es viele Male (normalerweise reichen 20-30 Mal).
Um die Widerstandsniveaus zu erhalten, drehen wir die Preiskurve auf den Kopf und machen dasselbe. Dann spiegeln wir das erhaltene Ergebnis rückwärts.
Das ist alles!
...
Eine kurze Frage.
Angenommen, wir haben einen Verlauf von 1000 Berichten (Balken)
Fenster 3
wir berechnen keine Ergebnisse für 1000.999 Fenster und führen die erste Berechnung durch, wenn wir zum 998. Bericht kommen (wir haben Daten von 998.999 und 1000 Berichten)
unser erster Durchgang liefert 998 Ergebnisse
für den zweiten Durchlauf erhalten wir 996 Berichte, indem wir das im vorherigen Durchlauf gebildete Array verwenden
im dritten Durchgang erhalten wir 994 ...
und so weiter ...
Das heißt, bei 30 Durchläufen erhalten wir eine Reihe von 960 Werten
Vielleicht habe ich Sie nicht richtig verstanden?
Nehmen wir an, wir haben eine Geschichte von 1000 Berichten (Balken)
Fenster 3
es stellt sich heraus, dass für 1000,999 wir nicht zählen, weil es kleiner ist als das Fenster und die erste Berechnung, die wir nur tun, wenn wir zu 998 Bericht (wir haben Daten von 998,999 und 1000 Berichte)
erhalten wir den ersten Durchlauf mit 998 Ergebnisse
der zweite Durchlauf erhalten wir 996 Bericht bereits durch den vorherigen Lauf des Arrays
der dritte Lauf erhalten wir 994 ...
und so weiter ...
d. h., wenn Sie 30 Mal ausgeführt haben, erhalten Sie ein Array mit 960 Werten
Vielleicht habe ich Sie missverstanden?
Nicht ganz. Technisch gesehen läuft das ein wenig anders ab. Bevor Sie einen Filter anwenden, erweitern Sie das ursprüngliche Feld um die Hälfte der Breite des Filterfensters in beide Richtungen. Leere Stellen im neuen Array füllen Sie entweder mit einer Konstante, d.h. dem letzten Wert vom Rand des ursprünglichen Arrays, oder symmetrisch mit den Extremwerten des ursprünglichen Arrays. In diesem Fall erhalten Sie wieder 1000 Punkte, nachdem Sie den Filter auf das ursprüngliche Array mit 1000 Punkten angewendet haben. Wenn Sie das nächste Mal filtern, wiederholt sich alles.
In diesem Fall kann es natürlich zu Verzerrungen an den Rändern kommen. Dies lässt sich jedoch nicht vermeiden, da jeder Fensterfilter (und überhaupt jeder Filter) eine Phasenverzögerung aufweist, auch der Medianfilter. Im Allgemeinen ist das die Art und Weise, wie die Natur funktioniert.
Wir können es so machen, wie Sie es beschreiben, aber dann kommen wir nicht an den Rand des ursprünglichen Arrays; oder wir können eine Erweiterung verwenden, aber dann kommen wir nicht an den Rand des Ergebnisses.
Dies ist die schlechte Nachricht.
Die gute Nachricht ist, dass der Medianfilter nicht so empfindlich auf Kanteneffekte reagiert wie lineare Filter. Die wenigen Beispiele, die ich mir ansehen konnte, zeigen, dass die Verzerrungen an den Rändern entweder gering sind oder in einigen Fällen gar nicht auftreten.
PS. Ja... Mir ist gerade eine andere Idee in den Sinn gekommen. Der Filter kann rekursiv angewendet werden. Ich weiß nicht, was es bewirken würde, ich habe es nicht ausprobiert, aber es würde schneller zählen.
Was die Anwendungen im Handel betrifft, so ist es richtig, "linkes Fenster" zu verwenden, wenn dem aktuellen Punkt ein Wert aus der Mitte des Fensters zugewiesen wird, das sich VOLLSTÄNDIG links vom aktuellen Wert befindet. Natürlich führt dies zu einer Phasenverzögerung (Lag), aber das ist der Lauf der Welt:-)
Ja... Das passt nicht zusammen. Ich habe mit der Überprüfung begonnen. Schließlich habe ich mir den Code angesehen, den ich für die Medianfilterung verwende. Ich habe es vor N Jahren (N>5) für ein kleines Grafikausgabeprogramm geschrieben. Jetzt habe ich begonnen, dieses Programm als Polygon für alle möglichen Forschungen zu verwenden. Das ist praktisch, und ich habe mir die alten Teile des Codes noch gar nicht angesehen. Es funktioniert alles gut und schön... Jetzt sehe ich es mir an... und entdeckte plötzlich, dass die Funktion, von der ich dachte, sie würde den Median filtern, genau das nicht tut! Entschuldigung für die unfreiwillige Fehlinformation! Ich neige mein schuldbewusstes Haupt.
Warum und wieso ich das damals getan habe - Gott bewahre, ich weiß es nicht mehr.
Beim klassischen Median wird der zentrale Wert einer sortierten Reihe genommen. In diesem speziellen Fall habe ich den Durchschnitt zwischen dem zentralen Wert und dem davor liegenden Wert genommen. Vielleicht brauchte ich sie aus irgendeinem Grund vor langer Zeit. Ich habe auch einen nicht-linearen Filter, obwohl es sich natürlich nicht um den Median im engeren Sinne handelt. Als ich zur klassischen Version zurückkehrte, sah es so aus, wie Sie es beschrieben haben. In meiner Variante ändert sich die Kurve bei jeder Anwendung des Filters und tendiert schließlich zu einer geraden Linie (nach mehreren hundert Filterungen). Je größer das Filterfenster ist, desto schneller geschieht dies.
Um weitere Unklarheiten zu vermeiden, stelle ich ein Stück Code in C zur Verfügung.
Es ist einfach, ich hoffe, jeder kann es herausfinden.
Was das "linke Fenster" betrifft, so stimme ich zu. Aber im Moment denke ich, es geht um die Details.
Ich möchte mich noch einmal entschuldigen.
Vielleicht gibt es etwas Neues über diese Arbeit?
Gibt es irgendwelche Neuigkeiten zu dieser Arbeit?
Nach der Veröffentlichung ihrer Antwort habe ich keine weiteren Schritte unternommen.
Ich habe Ihnen gerade gezeigt, wie Sie versuchen können, das Thesenmaterial zu finden.
Ich weise Sie darauf hin, dass das Material möglicherweise bezahlt werden muss.
Mit MatLab werden einige schwere Positionskämpfe ausgetragen.
Für den Anfang habe ich mich entschieden, nur die Wavelet-Zerlegung der Preisreihen und der Indikatorreihenwerte zu betrachten. Bei DWT habe ich keine Überraschungen gefunden, alles ist mehr oder weniger verständlich.
Für CWT war die Indikatorzerlegung ebenfalls recht eindeutig. Die Preisreihen haben jedoch folgendes Bild ergeben:
Die Struktur dieses Bildes unterscheidet sich im Allgemeinen deutlich von der des Bildes in Andre69s Beitrag vom 28.06.07 20:43 auf Seite. 141. Ich würde gerne verstehen, warum.
Andererseits ist sie zu regelmäßig strukturiert. Warum?
Diese Analyse wurde für eine Serie von 1024 Proben durchgeführt.
Skaleneinstellungen: Min=1, Step=1, Max=512. DMeyer-Wavelet
PS Übrigens war der obige Beitrag der letzte in einer endlosen Reihe über Wavelets. :-)
Ich würde gerne wissen, wie es weitergeht. Sollte?
Andererseits ist sie zu regelmäßig strukturiert. Warum?
Yura, eine solche regelmäßige Struktur liegt in der Natur der Randeffekte, die zwangsläufig an den Enden des untersuchten BP auftreten. Es ist unmöglich, solche Auswirkungen zu vermeiden. Wenn es die Bedingung des zu lösenden Problems zulässt, können Sie jedoch einige Terme der Reihe an jedem Ende des VR zurücklassen (die Anzahl der Terme entspricht der Breite des Stichprobenfensters), die an den Berechnungen teilnehmen, aber nicht für die Visualisierung verwendet werden. Nach dieser Prozedur wird das Bild angemessen und isotrop sein.
Danke, Sergey, für die Klarstellung. Alles, was bleibt, ist herauszufinden, wie man das macht, worüber man schreibt.
Parsing Wavelet Toolbox habe ich solche Funktionen nicht gefunden. Vielleicht habe ich etwas übersehen oder es kann nur manuell gemacht werden?
In diesem Fall sehen die dargestellten Ergebnisse korrekt aus.