Einsatz künstlicher Intelligenz bei MTS - Seite 18

 
rip:
njel:
Meine Damen und Herren, was soll man dazu sagen? Eine Kerze?
Respekt an den Autor ...
Bitte formulieren Sie eine Netztrainingsregel im Forum.

--
rip
Nur die Netztopologie ist mehr oder weniger klar aus dem Code ersichtlich. Zumindest hat der Autor die Funktionen und Kommentare zu ihnen so aufgebaut, dass man sie im Allgemeinen verstehen kann.

Ich suchte weiter im Code und fand heraus, dass meine Diagramme nicht genügend Balken enthielten. Ich habe sie bis auf 16000 erhöht. Ich habe es ausgeführt und erhielt 6 Geschäfte des gesamten Zeitraums mit nicht sehr groß, aber ein 9% Verlust auf das Endergebnis. Wenige Berufe - ein kleiner Abfluss.

Kurzum, es ist klar, dass überhaupt nichts klar ist, aber wie kann man diesen Expert Advisor schließlich verwenden? Es sollte doch einige Empfehlungen geben, oder? Vielleicht mache ich etwas falsch?

Es hat keinen Sinn, sich weiter durch den Code zu wühlen und zu versuchen, ihn selbst zu analysieren. Die Behauptung, dass der Expert Advisor bei 6 Trades entweder Verluste oder Gewinne macht, ist nutzlos. Das ist reine Zeitverschwendung.
 

Offensichtlich ist eine kleine Klarstellung erforderlich

Der Expert Advisor ist ein Verlustgeschäft, oder zumindest nicht profitabel. Es ist für diejenigen gedacht, die mit neuronalen Netzen spielen wollen, aber nicht alles von Grund auf neu schreiben wollen.
Die Netzwerkkonfiguration ist recht universell angelegt. Eigentlich gibt es nur zwei Einschränkungen - mindestens zwei Schichten und ein Ausgangsneuron.

Nun zu der Frage, warum der Expert Advisor nicht so funktioniert, wie er soll.
Dies ist nicht möglich, da die Aufgabe, n Ticks anhand der vorangegangenen m Ticks vorherzusagen, offensichtlich unlösbar ist. Das Raster kann keine Abhängigkeiten für eine gute Vorhersage finden. Wenn wir versuchen, Indikatoren zu klassifizieren, wird dies ebenfalls scheitern, aber das Raster kann die Eingabedaten nicht in Klassen einteilen.
Dies bedeutet, dass die Daten für das Raster auf kreativere Weise verarbeitet werden müssen. Genau das werde ich tun.

Dies sind meine Schlussfolgerungen. Diejenigen, die meinen Expert Advisor ausprobieren wollen, werden entweder zu den gleichen Ergebnissen kommen oder vielleicht nach einer kurzen Untersuchung und Analyse auf neue Ideen kommen.

In der Tat kann der Expert Advisor als eine Bibliothek für die Arbeit mit neuronalen Netzen betrachtet werden, geben Sie sich die Mühe, sie zu verstehen und zu nutzen.

Wenn jemand nach meiner vorherigen Nachricht auf die Idee gekommen ist, dass dieser EA gespielt werden kann, hat er entweder nicht genau gelesen oder ich habe mich nicht klar genug ausgedrückt.
Ich umschreibe Figar0: "Überhaupt nicht profitabel, aber informativ.

Nun zu einigen persönlichen Antworten.

Reshetov Und ganz allgemein, wie man sie richtig einsetzt und ob sie überhaupt sinnvoll ist? Denn den Code eines anderen zu verstehen, ist eine mühsame und undankbare Aufgabe. Und wenn man den Algorithmus kennt, ist es viel einfacher, ein eigenes Programm von Grund auf zu schreiben, als das eines anderen zu verstehen
.

Wenn Sie den Handel meinen, sollten Sie ihn wahrscheinlich nicht verwenden. Zumindest würde ich das nicht tun. Er ist nur als Code wertvoll.
Ich stimme sogar teilweise zu, dass man sein eigenes Programm von Grund auf schreiben kann, wenn man den Algorithmus kennt. Ich bin mir nicht sicher, ob das so einfach ist.
Sie können aber gerne Algorithmen schreiben. Im Internet finden Sie leicht Bücher über neuronale Netze, Trainingsprinzipien und andere Dinge. Während ich diesen Expert Advisor schrieb, erreichte meine Sammlung leicht zwei Dutzend Bücher und Artikel.


Mathemat
Ich glaube nicht, dass dieser Code etwas mit Reshetovs Expert Advisor gemein hat ...

Beiden gemeinsam ist, dass sie neuronale Netze mit Indikatoren als Input haben :) Der Unterschied ist, dass ich nicht nur ein, sondern viele Neuronen habe bzw. meinen eigenen Algorithmus für das Training geschrieben habe.


Bitte formulieren Sie im Forum eine Lernregel für das Netz.

Wenn es für mich ist, erläutern Sie es bitte. Ich verstehe nicht wirklich, woran Sie interessiert sind.





 
maveric писал (а):


Bitte formulieren Sie eine Netztrainingsregel im Forum.

Wenn es für mich ist, erläutern Sie es bitte. Ich verstehe nicht wirklich, woran Sie interessiert sind.


Sie kennen sich gut mit neuronalen Netzen aus. Schreiben Sie doch einen Artikel über dieses Thema, insbesondere über Lernalgorithmen für mehrschichtige Netze. Das wäre für viele Menschen von Interesse. Die Artikel hier werden bezahlt, Ihre Arbeit wird nicht umsonst sein.
 
Integer писал (а):
maveric schrieb (a):


Bitte formulieren Sie eine Netztrainingsregel im Forum.

Wenn es für mich ist, erläutern Sie es bitte. Ich verstehe nicht wirklich, woran Sie interessiert sind.


Sie kennen sich gut mit neuronalen Netzen aus. Warum schreiben Sie nicht einen Artikel zu diesem Thema, insbesondere über Lernalgorithmen für mehrschichtige Netze? Das wäre für viele Menschen von Interesse. Die Artikel hier werden bezahlt, Ihre Arbeit wird nicht umsonst sein.
Das klingt für mich nicht nach einer guten Idee :)
Ich habe über neuronale Netze aus Büchern und Artikeln gelernt, die von seriösen Leuten geschrieben wurden, die nicht geheim sind, aber im Internet leicht zu finden.
Ich habe die Befürchtung, dass es so wird wie in der Anekdote, als Moisha für Abram die Beatles sang :)
 

Bitte formulieren Sie eine Netztrainingsregel im Forum.

Wenn es für mich ist, erläutern Sie es bitte. Ich verstehe nicht wirklich, woran Sie interessiert sind.

Du hast meine Frage beantwortet ;) In diesem Fall haben Sie ein Netz entwickelt, das die Zeitreihe um n Schritte im Voraus approximiert. Sie nehmen Close-Werte und/oder Indikatorwerte als Inputs. Ok, dann eine andere Frage. Was die Klassifizierung betrifft, so sagten Sie, dass wir versuchen sollten, die Indikatoren zu klassifizieren. Darf ich diese Idee näher erläutern? Ja, ich habe noch eine weitere Bemerkung: Die Praxis hat gezeigt, dass die besten Ergebnisse beim Training von Netzen (Training mit einem Lehrer) erzielt werden, deren Trainingsstichprobe eine Normalverteilung aufweist. Ich habe schon mehrmals Zeitreihen untersucht, die durch Zitate gebildet wurden, vor langer Zeit ... Ihre Verteilung hat nichts mit der Normalverteilung zu tun. Vielleicht sollten wir die Konstruktion einer Trainingsstichprobe analysieren und sie auf eine Stichprobe mit Normalverteilung reduzieren. In diesem Fall wird der MSE viel schneller sinken und man wird bessere Ergebnisse in der Teststichprobe sehen.
 
maveric:


Nun zu den Gründen, warum der Expert Advisor nicht in der bisherigen Form funktioniert.
Es funktioniert nicht, weil die Aufgabe, n Ticks auf der Grundlage der vorangegangenen m Ticks vorherzusagen, offensichtlich unlösbar ist. Das Raster kann keine Abhängigkeiten für eine gute Vorhersage finden. Wenn wir versuchen, Indikatoren zu klassifizieren, wird dies ebenfalls scheitern, aber das Raster kann die Eingabedaten nicht in Klassen einteilen.
Dies bedeutet, dass die Daten für das Raster auf kreativere Weise verarbeitet werden müssen. Genau das werde ich als nächstes tun.


Vielleicht könnten wir einen neuen Thread eröffnen, in dem wir die Bildung und die Vor- und Nachbereitung von Proben diskutieren können? Ich denke, dass dies für eine Reihe von Besuchern von Interesse sein wird.
 
rip:

Bitte formulieren Sie eine Netztrainingsregel im Forum.

Wenn es für mich ist, erläutern Sie es bitte. Ich verstehe nicht wirklich, woran Sie interessiert sind.

Du hast meine Frage beantwortet ;) In diesem Fall haben Sie ein Netz entwickelt, das die Zeitreihe um n Schritte im Voraus approximiert. Sie nehmen Close-Werte und/oder Indikatorwerte als Inputs. Ok, dann eine andere Frage. Was die Klassifizierung betrifft, so sagten Sie, dass wir versuchen sollten, die Indikatoren zu klassifizieren. Darf ich diese Idee näher erläutern? Ja, ich habe noch eine weitere Bemerkung: Die Praxis hat gezeigt, dass die besten Ergebnisse beim Training von Netzen (Training mit einem Lehrer) erzielt werden, deren Trainingsstichprobe eine Normalverteilung aufweist. Ich habe schon mehrmals Zeitreihen untersucht, die durch Zitate gebildet wurden, vor langer Zeit ... Ihre Verteilung hat nichts mit der Normalverteilung zu tun. Vielleicht sollten wir die Konstruktion einer Trainingsstichprobe analysieren und sie auf eine Stichprobe mit Normalverteilung reduzieren. In diesem Fall wird der MSE viel schneller sinken und man wird bessere Ergebnisse in der Teststichprobe sehen.

Nicht nur eine Normalverteilung. Zumindest die Mustersätze sollten auch konsistent sein.
Im Allgemeinen läuft es folgendermaßen ab.
Wir finden den Beginn des ersten Trends ("up down flat") Einige Balken vor diesem Beginn wird ein Rastereintrag, der gesamte darauf folgende Trend wird in Form von 1 0 0 200 6 gerollt Die ersten drei Zahlen sind Trendbezeichner, die letzten beiden sind die allgemeine Preisänderung und die Länge (in Balken) des Trends. Das nächste Beispiel wird nicht früher als das Ende dieses Trends gebildet.
Es ist nicht möglich, die Länge des Trends vorherzusagen, sondern nur die absolute Preisveränderung während des Trends.
Dadurch werden die Beispielsätze (besser) aufeinander abgestimmt.
Wir werden N1 N2 N3 Beispiele für drei Arten von Trends erhalten.
zum Beispiel
AUFWÄRTS ( 1 0 0 ) - 100
flach( 0 1 0) - 200
abwärts( 0 0 1) - 250

Wie man eine Normalverteilung erstellt.
1. wenn die Mindestanzahl von Beispielen (100) uns passt, können wir den Rest dummerweise streichen
2. Die Beispiele, die weniger zahlreich sind, sollten häufiger angeboten werden, um sie auszugleichen.
3. Fügen Sie den Beispielen diejenigen hinzu, die nur wenige sind, und geben Sie ihnen ein wenig Lärm.
4. mehr Beispiele für Abwärts- als für Aufwärtskurse, letztere können durch Beispiele für die umgekehrten Notierungen von USDEUR anstelle von EURUSD ergänzt werden

Jetzt werde ich diese Beispiele in der absteigenden Reihenfolge ihrer Coolness analysieren :)
4. Das Ideal Es gibt keine linken Figuren, alles ist aus Fleisch und Blut des Marktes. Aber es ist mühsam zu schreiben, ich werde eine Menge Indizes selbst neu berechnen müssen + sie selbst zu berechnen.
3. Es ist noch ein bisschen schlimmer, denn wir geben dem Raster zumindest eine gewisse Leichtigkeit in Form des Rauschens, das wir hinzufügen.
2. Wenn wir dem Raster viele Male das Gleiche zeigen, wird es sich einfach daran erinnern und nicht verallgemeinern.
1. Obwohl für die Ausbildung enorm lange Geschichte zu nehmen (um sicherzustellen, dass nach dem Verwerfen der verbleibenden genug Beispiele) - dann nimmt diese Methode alle drei Mächtig schlägt alle anderen drei Für alle Parameter :)


Es geht also in etwa so. Übrigens, mein Expert Advisor ist eine Mischung aus Punkt 1 und 2.
 
maveric:

Nicht nur normal. Zumindest sollten auch die Beispielsätze konsistent sein.
Im Allgemeinen sieht das so aus.
Wir finden den Beginn des ersten Trends ("up down flat") Einige Balken vor diesem Beginn wird ein Gittereintrag sein, der gesamte darauf folgende Trend wird in der Form 1 0 0 200 6 gerollt werden Die ersten drei Zahlen sind Trend-Identifikatoren, die letzten beiden sind allgemeine Preisänderungen und die Länge (in Balken) des Trends. Das nächste Beispiel wird frühestens am Ende dieses Trends gebildet.
Es ist nicht möglich, die Länge des Trends vorherzusagen, sondern nur die absolute Preisveränderung während des Trends.
Dadurch werden die Beispielsätze (besser) aufeinander abgestimmt.
Wir erhalten N1 N2 N3 Beispiele für drei Arten von Trends.
zum Beispiel
UP ( 1 0 0 0 ) - 100
flat( 0 1 0 ) - 200
down( 0 0 1 ) - 250
Die Normalverteilung ist die Wahrscheinlichkeitsverteilung einer Zufallsvariablen. Ein Datensatz kann nicht widersprüchlich oder nicht widersprüchlich sein - er ist der Wert einer f-Funktion, die einen physikalischen Prozess beschreibt, und er ist einfach so. Nur unsere Interpretation ihrer Werte kann widersprüchlich sein.

Wissen Sie, ich kann eine Sache nicht verstehen: Was soll ein neuronales Netz tun? Eine Serie annähern oder eine Einordnung der Marktsituation erhalten? Meines Erachtens handelt es sich um grundlegend unterschiedliche Aufgaben, so dass die Eingabe- und Ausgabedaten völlig unterschiedlich aufbereitet werden sollten.

Definieren wir die Begriffe ein wenig:
1. Die Approximation einer Reihe ist die Konstruktion einer mehrdimensionalen Abbildung F: x->y, die eine gegebene Menge von Beispielen {xt, yt} verallgemeinert. Auf der Grundlage dieser Abbildung wird ein H-Schritt-Blick in die Zukunft realisiert, der auf einer bestimmten latenten Abhängigkeit in den Termen der Reihen beruht. D.h. sie kann verallgemeinert werden - wir versuchen, sowohl mit dem Wert der Zeilenmitglieder selbst als auch mit einer Reihe von Werten zu arbeiten, die die Zeile beschreiben - sie sind lokale Extrema usw. (wir definieren einen Preiskorridor für ein bestimmtes Intervall, z.B.)
2. Klassifizierung - d.h. es bildet sich ein Marktbild, z.B. ein aufsteigender Trend. Es ist notwendig, dieses Bild zu erkennen.

Was halten Sie davon? Nach Ihrem Code zu urteilen, versuchen Sie, die Ein- und Ausstiegspunkte des Marktes vorherzusagen. Offen gesagt bezweifle ich zutiefst, dass die Website
für eine solche Aufgabe geeignet ist.

Ich wäre Ihnen dankbar, wenn Sie mir das Gegenteil beweisen könnten.

--
rip
 
rip:
Maveric:

Nicht nur normal. Zumindest die Beispielsätze sollten auch konsistent sein.
Im Allgemeinen läuft es so ab.
Wir finden den Beginn des ersten Trends ("up down flat") Einige Balken vor diesem Beginn wird ein Rastereintrag, der gesamte darauf folgende Trend wird in der Form 1 0 0 200 6 gerollt Die ersten drei Zahlen sind Trendbezeichner, die letzten beiden sind die allgemeine Preisänderung und die Länge (in Balken) des Trends. Das nächste Beispiel wird nicht vor dem Ende dieses Trends gebildet.
Es ist nicht möglich, die Länge des Trends vorherzusagen, sondern nur die absolute Preisveränderung während des Trends.
Dadurch werden die Beispielsätze (besser) aufeinander abgestimmt.
Wir werden N1 N2 N3 Beispiele für drei Arten von Trends erhalten.
zum Beispiel
AUFWÄRTS ( 1 0 0 ) - 100
flach( 0 1 0) - 200
abwärts( 0 0 1) - 250
Die Normalverteilung ist die Wahrscheinlichkeitsverteilung einer Zufallsvariablen. Ein Datensatz kann nicht widersprüchlich oder nicht widersprüchlich sein - er ist der Wert einer f-Funktion, die einen physikalischen Prozess beschreibt, und er ist einfach so. Nur unsere Interpretation ihrer Werte kann widersprüchlich sein.

Wissen Sie, eines verstehe ich nicht: Was soll ein neuronales Netz tun? Eine Serie annähern oder eine Einordnung der Marktsituation erhalten? Meines Erachtens handelt es sich um grundlegend unterschiedliche Aufgaben, so dass die Ein- und Ausgabedaten völlig unterschiedlich aufbereitet werden sollten.

Lassen Sie uns die Begriffe definieren:
1. Die Approximation von Serien ist eine Konstruktion einer mehrdimensionalen Abbildung F: x->y, die eine gegebene Menge von Beispielen {xt, yt} verallgemeinert. Auf der Grundlage dieser Abbildung können wir uns die Zukunft in H Schritten auf der Basis bestimmter verborgener Abhängigkeiten von Serientermen vorstellen. D.h. sie kann verallgemeinert werden - wir versuchen, sowohl mit dem Wert der Zeilenmitglieder selbst als auch mit einer Reihe von Werten zu arbeiten, die die Zeile beschreiben - sie sind lokale Extrema usw. (wir definieren z.B. einen Preiskorridor für ein bestimmtes Intervall).
2. Klassifizierung - d.h. es bildet sich ein Marktbild, z.B. ein aufsteigender Trend. Dieses Bild muss erkannt werden.

Was halten Sie davon? Nach dem, was ich in Ihrem Code verstanden habe, versuchen Sie, die Ein- und Ausstiegspunkte des Marktes vorherzusagen. Offen gesagt, habe ich Zweifel an der Gültigkeit der
der Aufgabe.

Ich wäre Ihnen dankbar, wenn Sie das Gegenteil beweisen könnten.

--
rip


Bei Klassifizierungsproblemen kommt es auf unsere Interpretation der Daten an. Grob gesagt, sollten Sie bei einer Aufgabe zur Erkennung von Buchstaben in einer Reihe von Beispielen für den Buchstaben A nicht die Buchstaben X und U usw. finden :)

Ich möchte beides tun. Vielleicht zwei Raster, vielleicht eines, wie sich herausstellt. Der erste Schritt des Rasters besteht darin, die aktuelle Situation zu klassifizieren. Wenn sie ein hinreichend deutliches Signal für den Beginn eines Trends gibt, wird in einem zweiten Schritt versucht, in die Zukunft zu schauen, um abzuschätzen, wie viel Geld mit diesem Trend verdient werden kann.

Ich gehe davon aus, dass die Angleichung von Finanzreihen schlechter ist als die Klassifizierung.

 
maveric писал (а):

Ich gehe davon aus, dass sich Finanzreihen schlechter für eine Annäherung als für eine Klassifizierung eignen.

Preisreihen können wie alle anderen kontinuierlichen Reihen problemlos angenähert werden. Verwechseln Sie nur nicht Interpolation mit Extrapolation. Die Interpolation mit einem mehrschichtigen Neuron kann wie zwei Finger auf dem Asphalt erfolgen. Die Extrapolation nicht-periodischer Reihen durch neuronale Netze ist Zeitverschwendung.
Grund der Beschwerde: