Was soll in den Eingang des neuronalen Netzes eingespeist werden? Ihre Ideen... - Seite 54

 



Diese Idee: Wie Sie wissen, werden SL und TP beim Training/Optimierung normalerweise nicht eingestellt. Es ist schwierig für die Ausbildung, und wenn die Optimierung - die Ergebnisse auf zurück und vorwärts sind in der Regel schlechter als ohne sie.


Der Kurs versucht, die Stops zu erreichen. Die Aufgabe besteht darin, dem NS beizubringen, rechtzeitig auszusteigen, und zwar sowohl mit Gewinn als auch mit Verlust. Aber in der Praxis geht der NS bei Back- und Forward-Geschäften ohne Stops oft ins Over-Sitting oder schließt am Boden, weil er nicht weiß, wann er aussteigen soll.






Und was ist, wenn wir den Drawdown mit Hilfe von Mitteln eingeben? Wir werden die Nase des NS in das Online-Ergebnis seiner Arbeit stecken, in dem er einen starken Drawdown sieht und darauf reagiert. Es ist zum Beispiel bekannt, dass eine Zahl die Arbeit des NS beeinflusst, je höher ihr Wert ist. Bei normalem Betrieb ist der eingegebene Drawdown-Wert Null oder nahe Null, aber wenn die Position schlecht wird, steigt der Wert an und beginnt, die ganzzahlige Struktur der Gewichte zu "erschrecken", woraufhin der Optimierer die Gewichte so auswählt, dass er auf diese Eingabe reagiert.








Am Ende wird er sie entweder annullieren, so dass sie nicht stört, in diesem Fall wird das Merkmal nicht funktionieren, oder er wird irgendwie lernen, auf seine Arbeit zu reagieren. Es schlüpfen Hinweise aufTraining mit Verstärkung durch, bei dem alle Kontodaten auch als Zustand geworfen werden: Saldo, Drawdown usw. Aber ich habe so etwas nicht mit MLP gemacht. Wenn es etwas Interessantes gibt, werde ich Ihnenzurückschreiben.

 
Ivan Butko Training mit Verstärkung durch, bei dem alle Kontodaten auch als Zustand geworfen werden: Saldo, Drawdown usw. Aber ich habe so etwas nicht mit MLP gemacht. Wenn es etwas Interessantes gibt, werde ich Ihnenzurückschreiben.
Die Idee ist interessant. Ich habe es ausprobiert, ich habe (unter anderem) den Drawdown in % des aktuellen Depots eingegeben, normiert auf den Bereich [0;1]. Dann fand ich das Thema zu tief, um es schnell auszugraben, also bin ich zu anderen Aufgaben übergegangen.
 
Ivan Butko #:

Was ist, wenn wir den Drawdown mit Hilfe von Mitteln eingeben? .

Es wird ein Martingal sein. Die Rückkopplung des Drawdowns erzeugt es, und es spielt keine Rolle, wie es durch eine starre Formel oder mit einer Schicht von Neuronen realisiert wird.

 
Maxim Kuznetsov #:

Martingale bleibt Martingale. Feedback mit Drawdown erzeugt es, und es spielt keine Rolle, wie die Verbindung durch eine starre Formel oder mit einer Schicht von Neuronen implementiert wird.

In meinen Experimenten geschah das Gegenteil - das Netzwerk versuchte, die Handelsaktivität beim geringsten Drawdown zu unterdrücken, ich musste das Fehlen von Trades bestrafen.
 
Ivan Butko #:
Bei MLP ist das mit 3 Neuronen der Fall.

Wie viele Prädiktoren? Wie viele Prädiktoren beeinflussen tatsächlich das Ergebnis des Modells?

Erzielen Sie mit anderen Tools ähnliche Ergebnisse?

Wie stoppen Sie das Training - nach welchem Kriterium oder durch vollständige Suche?

 
Aleksey Vyazmikin #:

Wie viele Prädiktoren gibt es? Wie viele Prädiktoren beeinflussen tatsächlich das Ergebnis des Modells?

Erzielen Sie mit anderen Instrumenten ähnliche Ergebnisse?

Wie beenden Sie das Training - durch welches Kriterium oder eine vollständige Suche?




Wenn ZigZag, von 1 bis 3 Eingaben. Wenn Preisposition im Korridor, auch von 1 bis 3 Eingaben. Ich habe nur Euro, Pfund und Franken geprüft.

Auf dem Euro und Pfund sind alle gut, auf dem Franken verhält sich die Preisposition besser, anscheinend aufgrund der Flachheit des Paares. Training, wenn durch die umgekehrte Ausbreitung des Fehlers, ich nicht aufhören, in NeuroPro stoppt es sich nach mehreren Auftritten von ZeroStep statt der Anzahl der Fehler.
Ich weiß nicht, welches Kriterium dort eingestellt ist, und wenn es ein Optimierer ist, lasse ich ihn die ganze Zeit laufen, bis er anhält. Manchmal lasse ich ihn ein zweites Mal laufen. Roman Poshtar lässt es in seinen Artikeln zehnmal laufen, ich habe solche Ereignisse noch nicht erreicht.

 







Ich habe zwei Funktionen implementiert Es bezieht sich alles auf die Anpassung, also nichts Übernatürliches Die erste istdynamisches Gewicht, Bereich Mobilität, läuft die Eingabe Zahl durch einekünstliche Funktion.





Ich habe mir eine Idee auf Pinterest gezeichnet, Variationen der Idee


Das heißt, je nachdem, was der Eingabewert ist, wird er mit einem anderen Gewicht multipliziert. So etwas verbraucht mehr Werte im MT-Optimierer pro Neuron, aber es ist... flexibler.






Und manchmal erschließt es das Potenzial der Eingabedaten und erzeugt Sätze, die in einer Standard-MLP mit der gleichen Anzahl von Gewichten nicht vorkommen. Das zweite Merkmal ist die Signalverstärkung/-abschwächung.



Sie unterscheidet sich vom Shifter des vorherigen Chips (bei dem ein separater Abschnitt im Bereich einer Zahl die Polarität ändert) dadurch, dass sie Zahlen nur in ihrer Polarität umkehrt. Wenn zum Beispiel eine Zahl aus dem Bereich [0..1] an den Eingang 0,9 kommt, kehrt das System sie in 0,1 um und umgekehrt.



Wenn der Bereich [-1..1] ist und die Zahl -0,3 ist, wird sie invertiert und in den negativen Bereich auf -0,7 verstärkt. Diese Funktion ist notwendig, wenn Sie das Signal verstärken müssen, das bei einem herkömmlichen MLP ständig nur schwächer wird (aufgrund der Besonderheiten der Gewichte - sie sind alle kleiner als 0). Natürlich ist es möglich, den Bereich von -2 bis 2 oder von -10 bis 10 als Gewichte einzustellen, was vor allem für das erste Merkmal relevant ist - aber erstens ist das für den Optimierer, der durch Parameter begrenzt ist, teurer, und es ist einfacher, die Zahl mit einem einzigen Booleschen Wert (wahr-falsch) zu invertieren, was für den Optimierer nichts bedeutet, und diese neue Zahl mit dem Standardgewicht unter 0-l zu multiplizieren und so die notwendige Korrektur mit dem Input vorzunehmen. Zweitens ist es unmöglich, die Eingangszahl 0,01 und darunter mit einem solchen Bereich zu verstärken. Sie wird für das System immer noch ohne Bedeutung sein. Was aber, wenn sie für die Strategie entscheidend ist?

In diesem Fall ist eine Verstärkung erforderlich.Optional kann der Optimierer auch wählen, ob er eine Schwächung oder eine Verstärkung der Eingabe vorn immt.




All diese Funktionen erschließen in der Praxis meiner subjektiven Meinung nach besser und schneller das Potenzial der Eingabedaten in der begrenzten Form, die der Optimierer bereitstellt.
Außerdem werden dadurch neue Sätze eingeführt, die im Standardschema der Gewichte (alle mit allen und statisch) - nicht erlauben, die Eingabedaten zu enthüllen.

 

Funktion


Überraschenderweise habe ich einen eklatanten MLP-Fehler gefunden - er passt nicht nur die Trades an die Geschichte an, sondern auch die Positionen speziell an die Geschichte





Basierend auf diesen Überlegungen habe ich ein Spiegelungsmodul hinzugefügt - ich übermittle die Daten erneut an den Input, nur gespiegelt: jeder Wert wird mit -1 multipliziert. Aber ich tue es nur, wenn es kein Signal in einer der Positionen gibt. Das heißt, wenn nach dem ersten Durchlauf die Ausgabe des NS größer ist als die Eröffnungsschwelle - bitte, öffnen Sie ruhig.

Und wenn er kleiner als der Schwellenwert ist - dann spiegele ich ihn, um zu sehen, ob er dem umgekehrten Muster auf dem Chart entspricht, das der NS nicht handeln will. Und wenn der neue Wert größer als der Schwellenwert ist - dann schreibe ich OUT auf diesen Wert um, aber mit dem entgegengesetzten Vorzeichen.


Dadurch kann sich der NS nicht vor ein und derselben Art von Position "verstecken" und muss sich damit abfinden, dass er je nach Chart sowohl KAUFEN als auch VERKAUFEN eröffnen muss.




In der Praxis gibt es weniger Sätze, die extrem "coolen" sind weg, und die "guten" bleiben übrig. Subjektiv scheint es, dass das Gleichgewicht auf der Rückseite und auf der Vorderseite, wenn es überoptimiert ist, eher flattert, als dass es auf den Grund geht.

Das ist schon gut. Ich denke, eine solche Funktion sollte ein obligatorisches Attribut von NS sein.

 
Ivan Butko #:




In der Praxis gibt es weniger Sets, die extrem "coolen" sind weg, und die "guten" bleiben übrig. Subjektiv scheint es so zu sein, dass beim Hin- und Herfahren, wenn es überoptimiert ist, die Waage eher fliegt, als dass sie zu Boden geht.

Das ist schon gut. Ich denke, diese Funktion sollte ein obligatorisches Attribut von NS sein.

Wenn ich die Idee richtig verstehe, versucht das Netzwerk unter diesen Bedingungen im Wesentlichen nur nach Spiegelmustern zu suchen.

Wahrscheinlich gibt es weniger Trades, da es keine echten Spiegelmuster zu geben scheint, sondern unterschiedliche Muster für Verkauf und Kauf - das kann man gut mit den Augen sehen.

Sie können versuchen, zwei Netzwerke für zwei Richtungen zu trainieren, und die Anzahl der Abschlüsse in beiden Richtungen sollte ungefähr gleich sein. Im Falle eines starken Unterschieds in der Anzahl der Trades - wenden Sie Strafen oder einen abnehmenden Koeffizienten auf den Endwert von ff an.

 
Andrey Dik #:

Wenn ich die Idee richtig verstehe, versucht das Netz im Wesentlichen nur unter diesen Bedingungen nach Spiegelmustern zu suchen.

Wahrscheinlich gibt es weniger Abschlüsse, weil es keine wirklichen Spiegelmuster zu geben scheint, es gibt unterschiedliche Muster für Verkauf und Kauf - man kann es mit den Augen sehen.

Sie können versuchen, zwei Netzwerke für zwei Richtungen zu trainieren, und die Anzahl der Abschlüsse in beiden Richtungen sollte ungefähr gleich sein. Im Falle eines starken Unterschieds in der Anzahl der Trades - wenden Sie Strafen oder einen abnehmenden Koeffizienten auf den Endwert von ff an.








Wir sind bei den grundsätzlichen Paradigmen des Handels angelangt: 1) Die Muster für Kauf und Verkauf sind gleich, nur spiegelverkehrt 2) Die Muster für Kauf und Verkauf sind unterschiedlich Ja, in der Tat, solange es keine Beweise gibt, kann man sich auf einige Überzeugungen oder Fakten verlassen.



In diesem Fall verlasse ich mich, wie gesagt, auf die Tatsache, dass in allen bekannten TS die Bedingungen für KAUF und VERKAUF die gleichen sind, spiegelbildlich. Dies gilt sowohl für auslaufende (99,9....%) als auch für erfolgreiche TS. Ich betone - erfolgreiche.


Die Tatsache, dass jede Unterscheidung einer der beiden Arten von Geschäften sich negativ auf Vorwärts- und Rückwärtsgeschäfte auswirkt, spielt meiner Meinung nach auch gegen die zweite Position.



Zum Beispiel mein Trick mit dem Bereich - wenn er nicht gespiegelt ist, sondern unterschiedlich (d.h. von -1 bis 0 und von 0 bis 1 sind völlig unterschiedliche Bereiche mit unterschiedlicher Gewichtung) - dann sieht die Optimierung und das Training selbst sowohl in der Optimierungsphase - schrecklich und verkrampft aus, als auch in der Vorwärts- und Rückwärtsphase - schrecklich und verkrampft. Und wenn er gespiegelt ist - dann sind fließende Übergänge wahrscheinlicher.


Imho subjektiv. Gegen die zweite Option spricht auch die Tatsache, wie oben erwähnt, wenn man 2020 unterrichtet - dann schüttet es 2021.
Und das sind zwei gegenläufige Jahre, die direkt mit dem Jahreswechsel beginnen. Ein NS ohne Spiegel oder ein separater NS für BUY, der separat unterrichtet wird, schüttet also garantiert alle Optimierungssätze in 2021 ein. Wenn man sie direkt nacheinander drückt, haben sie alle ihren Höhepunkt erreicht.



Alle haben KAUFEN gelernt, und 2021 öffnen sie KAUFEN, wo immer sie können, sie wissen nicht, wie sie da rauskommen, und nur ein bisschen VERKAUFEN, und dann - es ist unklar, wo. Aber ich lehne diese Variante nicht ab und teste alles, was mir in die Finger kommt )) Denn jeden Tag taucht etwas Neues auf