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

 
Ivan Butko #:



Am Beispiel eines der Sets: Es ist zu sehen, dass die Nehmer kurz sind, und die Ellbogen sind stärker. Wenn er zu lange sitzt, hinterlässt er grünen "Rotz" in Form von Aktienverlusten. Findet er aber einen guten Punkt auf dem Chart, kann er rechtzeitig schließen und so eine gewisse Stabilität zeigen

Optimierung - Jahr: 2021-2022, EURUSD H1

Vielen Dank für Ihre Forschungen und Entwicklungen (für das Teilen derselben) - sehr interessant... Wenn ich sie noch einmal lese (ich bin selbst in diesem Bereich tätig), habe ich Lust, mit ihnen weiter zu üben (NS)... :-)

 
Roman Shiredchenko #:

Vielen Dank für Ihre Forschung und Entwicklungen (für den Austausch von ihnen) - sehr interessant.... rereading (mich in das Thema), es ist ein Wunsch, Übungen mit ihnen (NS) fortzusetzen ... :-)







Vielen Dank für Ihr Feedback. Ich habe einen Zweig von einfachen NS, auf meinem Knie gemacht, auf der Grundlage von einfachen Artikeln hier,https://www.mql5.com/ru/articles/497, hier komplizierter https://www.mql5.com/ru/articles/5486, und diese benutze ich manchmal https://www.mql5.com/ru/articles/830 Expert Advisors, die ich modifizieren, um die Ideen passen - auch von dort. Trotz der Tatsache, dass es keine sicher funktionierende Lösung, sind die Experimente faszinierend.


Нейронные сети - от теории к практике
Нейронные сети - от теории к практике
  • www.mql5.com
В наше время, наверное, каждый трейдер слышал о нейронных сетях и знает, как это круто. В представлении большинства те, которые в них разбираются, это какие-то чуть ли не сверхчеловеки. В этой статье я постараюсь рассказать, как устроена нейросеть, что с ней можно делать и покажу практические примеры её использования.
 
Ivan Butko #:

Was auch potenziell gut ist, ist die Intraday-Größe der Trades: Zumindest sind es keine Ein-Kerzen-Trades, sondern werden manchmal über die Zeit gestreckt. Außerdem werden die Trades in beide Richtungen gehandelt, KAUFEN und VERKAUFEN. Das ewige Problem der Annäherung (wenn ich den Begriff richtig verwende) besteht darin, dass NS auswählt, welche Trades am meisten verdienen, und für diese eine Gewichtung vornimmt. Das hat zur Folge, dass - wenn der Trend auf dem optimierten Abschnitt nach unten geht und ein Drittel des Abschnitts nach oben - ein globales Absinken auf dem Forward oder Backing stattfindet.

Ich denke, dies ist nicht das ewige Problem der Annäherung, sondern das ewige Problem der Klassifizierung auf der Ausgabeschicht. Es ist gut, dass es sich in diesem Fall nicht manifestiert.

 
Andrey Dik #:

Ich denke, es handelt sich nicht um ein immerwährendes Näherungsproblem, sondern um ein immerwährendes Klassifizierungsproblem auf der Ausgabeschicht. Es ist gut, dass es in diesem Fall nicht auftritt.





Was ist der Mechanismus dieses Phänomens? Warum wählt der MT5-Optimierer solche Gewichte, die sich weigern, in einer langfristigen Periode (in der es viele Aufwärtstrends gibt - das ist ungenutzte Zeit, potenzieller Gewinn, Sie müssen diesen Bereich erforschen) mit Käufen zu handeln und nur mit Verkäufen zu handeln. Nicht alle Sätze, sondern die obersten, die am wichtigsten zu sein scheinen. Wenn Sie beginnen, gibt es nur Verkäufe. Obwohl die Sets, die an der Unterseite sind Handel in beide Richtungen, aber schlecht.

 
Ivan Butko #:





Was ist der Mechanismus dieses Phänomens? Warum wählt der MT5-Optimierer solche Gewichte aus, die sich weigern, in einer langfristigen Periode (in der es viele Aufwärtstrends gibt - das ist ungenutzte Zeit, potenzieller Gewinn, Sie müssen diesen Bereich erforschen) mit Käufen zu handeln und nur mit Verkäufen zu handeln. Nicht alle Sätze, aber die wichtigsten, die am wichtigsten sind. Wenn Sie damit beginnen, gibt es nur Verkäufe. Obwohl die Sätze, die an der Unterseite sind Handel in beide Richtungen, aber schlecht.

Der Mechanismus ist ganz einfach.

Der erste Faktor: Ich sehe, dass das Training auf EURUSD stattfindet, und auf ihm sind die Verkäufe profitabler, wenn alle anderen Dinge gleich sind (ich habe es viele Male auf verschiedenen TSs bemerkt).

Der zweite, wichtigere Faktor: Die Fitnessfunktion berücksichtigt nicht das Verhältnis von Kauf/Verkauf, die Signale "rollen" in Richtung Verkauf, da sie effektiver sind, und führen schließlich zu einem vollständigen Fehlen von Käufen (bei anderen Symbolen kann es eine Rolle in Richtung Kauf geben).

Das heißt, wir müssen verstehen, was genau das NN lernt, und das Kriterium für sein Lernen ist immer die Fitnessfunktion. Der logische Schritt besteht darin, das benutzerdefinierte Kriterium mit dem Verhältnis min/max zu multiplizieren, wobei min die Mindestanzahl der Kauf- bzw. Verkaufstransaktionen ist und max die umgekehrte.

FF = Fcustom * MathMin (buys, sells) / MathMax (buys, sells);

Jetzt sehen wir, dass bei einer 100%igen Schiefe ein solcher FF gleich 0 ist, und dass bei sonst gleichen Bedingungen der beste Wert derjenige ist, bei dem die Anzahl der Richtungen in beiden Richtungen gleich ist.

Dies ist natürlich kein Allheilmittel, aber einen Versuch ist es allemal wert.

Dies ist übrigens eine der Möglichkeiten, die Form der FF-Oberfläche so zu verändern, dass das gewünschte Optimum für eine eindeutige Interpretation global ist.

Um das Lernen in Richtung einer größeren Anzahl von Trades zusätzlich zu stimulieren, können Sie Folgendes tun:

if (FF == 0) FF = -DBL_MAX;
 
Ich habe auf einer alten Website einen Artikel von vor 10 Jahren über neuronale Netze im Devisenhandel gelesen.











Ich habe es noch nicht ausprobiert, aber ich werde es auf jeden Fall versuchen, sobald ich verstanden habe, wie ich diesen verdammten Winkel finden kann. Die zweite Variante ist auch mit pre-podvypodvert, ich habe gerade daran gedacht: Der Preis kann zwei Kerzen hintereinander nach unten oder oben gehen.

Da wir aber ein Offset-Fenster verwenden, wirkt sich das Abschneiden des Impulswertes am Ende dramatisch auf die normalisierte Zahl aus, buchstäblich in einem Schritt wird aus einer Kerze mit der Zahl 0,7 eine -0,3, obwohl die Änderung an der neuen Kerze Null sein kann. Das ist das Problem mit Fenstern.

Und wie ich bereits erwähnt habe, haben Gewichte ein ähnliches Problem, wenn wir eine Zahlenfolge eingeben, die ebenfalls am Ende eines neuen Schritts abgeschnitten wird und ein neuer Wert hinzugefügt wird - auf dem Chart ändert sich vielleicht nichts, aber die Gewichte sind anders und verändern das Signal dramatisch. Wenn wir das Beispiel einer normalisierten Zahl als Eingabe verwenden, können wir eine weitere machen - es ist dieÄnderungsrate.

Schließlich kann der Trend abflauen, die Preise können allmählich sinken, und im Eingabefenster wird jeder Anstieg das Gegenteil bewirken - es werden immer höhere und höhere Werte angezeigt. Die zusätzliche Eingabe wird die Beschleunigung widerspiegeln - wenn sie vorhanden ist, ist sie größer von 0 bis 1, wenn sie abnimmt, ist sie von 0 bis -1.
 
Ivan Butko #:
Ich habe es noch nicht ausprobiert, aber ich werde es auf jeden Fall versuchen, sobald ich herausgefunden habe, wie man diesen verdammten Winkel findet

Berechnen Sie es als Prozentsatz - von Null bis zum Eröffnungskurs des aktuellen Balkens - im Wesentlichen wird es ein Analogon sein.

 
Aleksey Vyazmikin #:

Die Zählung in Prozent - von Null bis zum Eröffnungskurs des aktuellen Balkens - wird im Wesentlichen analog sein.

Vielen Dank für die Antwort, ich werde darüber nachdenken
 



Die einzige Umschulung, die meiner Erinnerung nach funktioniert. Normalerweise taucht der Saldo nach einem monströsen Erholungsfaktor von 68 auf dem Vorwärtsgang nach unten ab.

Aber hier ist sie leicht gesunken und dann ein ganzes Jahr lang gestiegen. Der Backtest ist verkorkst (der ist hinten, aus Optimierungsgründen), ich konnte ihn nicht für andere Paare und Zeiträume wiederholen. Bis jetzt.

Schreiben wir es also als eine lustige Anomalie des EURUSD ab. Gleichzeitig sind die Trades riesig, sogar intraday, und der Spread hat keinerlei Auswirkungen (Zig ist schwerfällig und langsam). Eh, ein Traum


 

Ich habe es geschafft, herauszufinden, wie man den Winkel in den Eingang einspeist.


Zu den Vorteilen kann ich nichts sagen, die Ergebnisse sind für verschiedene Terminals unterschiedlich.



Es scheint von den Kursen, den Spreads und den Provisionen abzuhängen. Aber auf jeden Fall besser als Kursinkremente. Eine Besonderheit möchte ich anmerken: Hohe Werte des Winkels deuten nicht auf einen starken oder langen Trend hin, sondern auf einen Impuls - einen extrem scharfen, großen und kurzfristigen Kurssprung oder -ausfall.

Während ein normalisiertes Fenster (eine andere Art von Eingabedaten) selbst bei einem extrem scharfen Winkel (fast flache Bewegung) hohe Werte anzeigt, wenn der letzte Preis höher ist als alle anderen. Das heißt, der Winkel hat seine informativen Vorteile. Außerdem ähnelt er einer nichtlinearen Funktion, wenn die Extremwerte ausgelöscht werden. In der Tat werden wir nie einen Wert von 0,95 oder 0,99 erhalten.

Man sagt, dass der Winkel fast gerade ist, was der Tatsache entspricht, dass der Preis in die Stratosphäre geflogen ist. Im Allgemeinen gibt es mehr Denkanstöße über den Winkel.


    int i = 0;
    double radians, angle, C1, C5, C20, C80;
    
    C1  = iClose(NULL, PERIOD_CURRENT, 1);  
    C5  = iClose(NULL, PERIOD_CURRENT, 5); 
    C20 = iClose(NULL, PERIOD_CURRENT, 20); 
    C80 = iClose(NULL, PERIOD_CURRENT, 80);   
    
    radians = atan(   ((C1 - C5) / _Point) / 5);   // Вычисляем арктангенс высоты к длине основания в радианах
    angle = radians * 180 / M_PI / 90;             // Конвертируем радианы в градусы и преобразуем в диапазон [-1..1]
    inputs[i] = angle;       i++; 
    
    radians = atan(   ((C1 - C20) / _Point) / 20); 
    angle = radians * 180 / M_PI / 90; 
    inputs[i] = angle;       i++; 
    
    radians = atan(   ((C1 - C80) / _Point) / 80); 
    angle = radians * 180 / M_PI / 90; 
    inputs[i] = angle;       i++;  

    //  Print("Угол: ", angle, " градусов");