Vorhersage der Zukunft mit Fourier-Transformationen - Seite 4

 
Übrigens habe ich gestern geschrieben, dass die linke Halbwelle kürzer und die rechte länger sein sollte. Und dann würde auch die Extrapolation nach demselben Gesetz erfolgen. Und der heutige Tag hat dies sicherlich bestätigt. Einem raschen Fall des Euro folgte ein langsamer, aber intensiver Erholungsversuch.
 

Natürlich sollte ich die Verwendung der DLL erlauben, die DLL selbst ist angeschlossen, aber sie sieht die darin enthaltenen Funktionen nicht.

Richtig, während ich die Funktionen kopfüber zähle, kommt vielleicht mq5 heraus, und die Klassen werden auch darin erscheinen.

 
m_keeper:

Ich denke, dass neuronale Netze dort eingesetzt werden sollten, wo es nicht möglich ist, mit Hilfe von mathematischen, statistischen, differenziellen oder anderen Analysen Schlussfolgerungen zu ziehen.


Das ist logisch - NS ist nicht in jeder Hinsicht das einfachste Werkzeug, also ist es besser, zunächst alles aus den klassischen Werkzeugen herauszuholen.


m_keeper:

Machen Sie noch nichts aus meinem Indikator, er ist zu unfertig.

Aber es zeichnet schön :)
 
ANG3110:
goldtrader:

Was passiert, wenn das Indikatorsignal (oder vielmehr die Differenz zwischen dem Messwert und dem aktuellen Kurs) an den NS-Eingang gesendet wird?

Darf ich die Frage beantworten, aber sie wurde mir nicht gestellt, da ich auf dieser Seite surfe.

Eigentlich ist die Frage nicht ganz richtig, denn es gibt verschiedene Netzwerke mit einer unterschiedlichen Anzahl von Eingängen und Ausgängen.

Es gibt annähernde, klassifizierende und assoziative Verfahren. Mit oder ohne Lehrer.

Aber wenn Sie davon ausgehen, was der Autor gemeint hat, können Sie es tun. Aber wird das Ergebnis zufriedenstellend sein?

Das ist klar. Ich hatte eher einen allgemeinen als einen spezifischen Vorschlag. Die Antwort von m_keeper ist zufriedenstellend.

 

Beunruhigt mit dem Indikator für einen anderen Tag

Ersetzt die schnelle Fourier-Transformation durch eine normale, jetzt kann das Fenster auf eine beliebige Länge gesetzt werden


Ich habe mit der Fenstergröße experimentiert, um eine "Welle" zu erwischen, und dabei viele interessante Dinge gefunden

)Wenn Oberschwingungen vorhanden sind, überschreiten sie nicht drei oder vier

) Diese Oberschwingungen stimmen nicht genau mit den entsprechenden Marktwellen in der Frequenz überein (es wäre seltsam, wenn sie das täten).

)dies verursacht ein Schlagen während der Bewegung des Fensters - die Phase geht verloren

wir haben mehrere nichtharmonische Frequenzen auf dem Markt

Sie können, wie ANG3110 schrieb, durch die maximale Amplitude isoliert werden

Ich habe darüber nachgedacht, die Periode zu verlängern, um mehr Obertöne in dem von mir benötigten Bereich zu haben.

) Wenn die gewünschte Frequenz über den gesamten Bereich vorhanden ist, wird sie verzögert,

dann wird sie schneller (Nichtlinearität ist offensichtlich), am Ende ist die Phase nicht korrekt

)ein langer Zeitraum ist nicht sehr gut, es gibt zu viel Redundanz


Eigentlich sind mir im Moment zwei Ideen in den Sinn gekommen.

)Wer hat gesagt, dass Frequenzen Obertöne der Hauptfrequenz sein müssen (Fourier hat das wahrscheinlich gesagt)

1/T 2/T 3/T warum nehmen wir nicht 10/10T 11/10T 12/10T und wir erhalten eine höhere Frequenzdichte

in dem Bereich, für den wir uns interessieren.

) Warum überhaupt Oberschwingungen nehmen? Wir müssen nur die Grundfrequenzen (Amplitude und Phase) berechnen

für alle Bandbreiten, die kleiner als die angegebene sind. Ich denke, die Amplitudenkurve wird wie folgt aussehen

im niedrigen Frequenzbereich recht glatt) müssen wir lokale Maxima und diese Oberschwingungen nehmen

kann bereits eine Vorhersage machen.


Und ich möchte auch eine Frage stellen.

Welches Kriterium könnte zur Bestimmung der Bedeutung der Amplitude in Abhängigkeit von der Frequenz verwendet werden?

Denn bevor man nach lokalen Maxima sucht, sollte man das Spektrum pronormalisieren.

 

PS: Ich glaube, ich habe mich geirrt, was die Hauptfrequenzen angeht. Es sollten mindestens 2-3 Perioden beobachtet werden.

 

Sie können das Fenster einfach normalisieren und das Vorhersagesegment trennen, ci= (Close[i] - min)/(max - min); dies verbessert die Situation ein wenig, aber nur geringfügig. Eine Übereinstimmung in der Amplitude zu erreichen, ist im Allgemeinen recht schwierig. Die Identifizierung potenzieller Pivot-Punkte ist hier viel wertvoller.


Dort sind 2-4 Obertöne wirklich optimal. Ich habe ein Zeichenskript erstellt, um schnell zu sehen, was dort vor sich geht. Ich habe es geschafft, Kurven aus Stäben zu zeichnen. Dann kann der Zeitraum mit der Maus geändert werden, und alles ist schnell und gut sichtbar. Eine andere Möglichkeit besteht darin, einen Indikator und ein Skript zu entwickeln, um die Daten im Fenster zu aktualisieren, da sonst die Funktion start() des Indikators nicht gestartet wird. Es ist möglich, den Regressionskanal im Skript zu verwenden und seine Parameter mit Hilfe der globalen Variablen an den Indikator zu senden sowie die Anzahl der Harmonischen durch Drücken der Tasten auf der Tastatur zu ändern.

#import "user32.dll"
int GetAsyncKeyState(int nVirtKey);
int PostMessageA(int hWnd,int Msg,int wParam,int lParam);
#import
#define WM_COMMAND 0x0111


Dann kann das Indikatorbild mit der Maus verschoben werden. Übrigens wird der RMS berechnet dc=Close[i]-fx; sq+=dc*dc; und am Ende sq=MathSqrt(sq/T); und die Gesamtamplituden MathSqrt(ak[k]*ak[k]+bk[k]*bk[k]);

Eine Kombination wird nach Extremen vorgenommen, zunächst grob nach Augenmaß, dann nach minimalem RMS und maximalem amk;

Dies ist für die Forschung, um alles schnell zu sehen. Bei der Automatisierung ist es ein bisschen anders, da wird nichts mit dem Auge gemacht.

Wenn die Phase fließend ist, gibt es keine stehende Welle und die Vorhersage wird sich verschlechtern. Sie können eine Mouving oder Regression einbauen, dann ist die Phase stabiler. Aber im Prinzip sollte die Phasendifferenz in der Automatisierung für die Perioden-Abstimmung verwendet werden, so wie in Radioempfängern die Phasen-Abstimmung der Frequenz verwendet wird.

Dies gilt jedoch nur für eine Frequenz. Um die Genauigkeit zu erhöhen, werden größere und kleinere Perioden genommen und die Anzahl der Oberschwingungen für alle von 1 bis 5, mehr ist nicht sinnvoll, aufaddiert und der Mittelwert gebildet. Aber auch hier ist es fast unmöglich, mit einer linearen Zeitskala immer gute Vorhersagen zu treffen. Vielmehr müssen wir Vorhersage und kontinuierliches Autotuning kombinieren. Im Allgemeinen ist die Automatisierung nicht einfach, obwohl ich natürlich glaube, dass die Handelsergebnisse sehr gut wären, wenn sie erfolgreich wäre.


 
m_keeper:

Und ich möchte auch eine Frage stellen.

Welches Kriterium kann verwendet werden, um die Bedeutung der Amplitude in Abhängigkeit von der Frequenz zu bestimmen?

Denn bevor man nach lokalen Maxima sucht, sollte man das Spektrum pronormalisieren.

Versuchen Sie vielleicht die vom Autor des Artikels (Archiv, S.17) vorgeschlagene Normalisierung.

Dateien:
1.zip  246 kb
 

Neutron

Ich kann dort keine normale Rationierung finden.


an m_keeper

Versuchen Sie, auf die Gesamtenergie zu normalisieren.

 

Ich habe das Periodogramm aufgezeichnet - in der folgenden Abbildung


der Wert ganz rechts ist die Amplitude der zweiten Harmonischen der maximalen Periode

jede weitere (ein Takt, keine Harmonische) kleiner usw., bis die Periode der 12. Harmonischen des Maximums entspricht


Wie ich erwartet hatte, ist das Diagramm ziemlich glatt und zeigt klare lokale Maxima

jedes Maximum entspricht einer bereits berechneten Frequenz und Phase, und die Phase beim Maximum sollte

Wert ohne jede Abweichung.


Es bleibt nur noch, das Ganze zu planen.