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
Dies ist das gleiche Ergebnis! Die Eingabeparameter für diese Punkte sind die gleichen!
Bitte erläutern Sie dies. Ich verstehe nicht, warum "die Eingabeparameter für diese Punkte gleich sind". Soweit ich die Funktionsweise des Optimierers verstanden habe, entspricht jeder Durchlauf einem einzigartigen Satz von Eingabeparametern. Oder meinen Sie, dass es bei der Verwendung des genetischen Algorithmus Situationen geben kann, in denen ein einziger Satz von Eingabeparametern vom Optimierer mehrmals verarbeitet werden kann?
...Nun, ja, das ist genau das, was Sie sagen. Dann stellt sich heraus, dass alle nachfolgenden Punkte "aus dem Cache" nur eine Fiktion sind und die visuelle Wahrnehmung der Optimierungsergebnisse verzerren?
Seltsam. Dies ist das dritte Mal. Es gibt zwei Punkte im Diagramm, die nahe beieinander liegen, aber es gibt nur einen in den Ergebnissen.
Hinweis: Bitte sortieren Sie nach dem gewünschten Wert, und vergessen Sie nicht, die vertikale Bildlaufleiste der Tabelle anzuzeigen.
Wird dieses Problem jemals gelöst werden???
Das ist das dritte Mal, dass ich darüber spreche, und es gibt keine Reaktion!
Übrigens scheint es mir, dass dieser Cache nicht verwendet werden sollte, wenn die Modellierung von Requotes gewählt wird. was denken die Entwickler darüber?
ein weiterer Fehler: als mein genetischer Algorithmus über 10496 hinausging, wurde das Diagramm falsch angezeigt - vertikal skalierte es richtig, man konnte verstehen, dass höhere Ergebnisse gefunden wurden, aber horizontal wurde es nicht aktualisiert. Punkte, als ob sie irgendwo rechts hinzugefügt wurden, bereits jenseits der Grenze des Diagramms.
Im Terminal wird das Ergebnis
Ergebnis im Tester:
Die ganze Schönheit der Funktion SymbolName(i) geht verloren
Eine Bitte an die Entwickler. Während die Arbeit an MT5 in vollem Gange ist und immer noch Änderungen vorgenommen werden, wäre es sehr schön, die Anzahl der Optimierungsdurchläufe zu erweitern.
Soweit ich verstanden habe, wird die Lösung für so viele Aufgaben für etwa 10 000 Varianten gefunden, vielleicht etwas mehr oder etwas weniger. Ein paar Stunden Suche auf einem Prozessor und die besten Varianten sind gefunden.
Die Vielseitigkeit der MQL5+OP+Multicore-Tests ermöglicht es uns, neue Horizonte von Aufgaben (z.B. die Suche nach Mustern) zu betrachten, die mit MT5-Tools gelöst werden können.
Aber hier liegt das Problem:
Der Artikel auf Ihrer Website enthält ein Beispiel für einen genetischen Algorithmus ( https://www.mql5.com/ru/articles/55), bei dem 3^100 Brute-Force-Versuche nötig waren, um ein Suchproblem mit 100 Balken zu lösen - das ist etwas mehr als LongInt :), während die Lösung in 17 000 Iterationen gefunden wurde. Der genetische Algorithmus kann Lösungen für viel mehr Varianten finden als LongInt. Und diese Einschränkung ist völlig unbegründet und überholt. Nun, abgesehen davon, dass es in dieser letzten Phase des MT5 schwierig sein wird, dies zu tun.
Eine große Bitte an die Entwickler: Wenn es nicht zu schwierig ist, bitte die Anzahl der Durchläufe auf mindestens 2^LongInt (2 hoch 2) erhöhen.
Code:
Protokoll:
2010.12.06 18:07:52:52 testInd (EURUSD,H1) Geändert? Handle2 =10
2010.12.06 18:07:52 testInd (EURUSD,H1) Handle2 =10
2010.12.06 18:07:52 testInd (EURUSD,H1) Handle1 =10
Daher sind alle Datenanforderungen an Handle2 trotz des geänderten Zeitraums mit Handle1 identisch.
Wenn der Expert Advisor läuft, ist es möglich , Indikatoren mit denselben Merkmalen zu erstellen, und eine solche Optimierung für ein Handle ist sinnvoll, aber ein solches "Festhalten" eines Handles an einer Variablen ist sehr ärgerlich.
P.S.: Ich habe den Grund dafür herausgefunden. Dieser Fehler ist eine Folge der Optimierung auf eine Handle-Nummer.
IndicatorRelease(handle2); //уменьшает счетчик хендлов на единицу и в итоге следующий созданный хэндл(с любой переменной) - опять 10
Code:
Protokoll:
2010.12.06 18:07:52 testInd (EURUSD,H1) Geändert? Handgriff2 =10
2010.12.06 18:07:52 testInd (EURUSD,H1) Handle2 =10
2010.12.06 18:07:52 testInd (EURUSD,H1) Handle1 =10
Dementsprechend sind alle Aufrufe von handle2 gleichbedeutend mit Aufrufen von handle1, auch wenn der Zeitraum geändert wird.
Während des Betriebs eines EA können wir nicht ausschließen, dass Indikatoren mit denselben Merkmalen erstellt werden, und eine solche Optimierung für ein Handle ist vernünftig, aber ein solches "Festhalten" eines Handles an einer Variablen ist sehr ärgerlich.
P.S.: Ich habe den Grund dafür herausgefunden. Es ist ein Fehler - die Folge der Optimierung auf eine Handle-Nummer.
Wie kommen Sie darauf, dass es ein Fehler ist?
Wie kommen Sie darauf, dass es ein Fehler ist?
Wenn ein Benutzer Periodenwerte für MA aus der Schnittstelle eingibt, Handles für Indikatoren erstellt und Werte von Indikatorpuffern verwendet, dann erhält er/sie, nachdem er/sie (z.B. ich habe Standardeinstellungen in diesem Formular) 2 Indikatoren mit denselben Eigenschaften erstellt hat (ihre Handles sind in der Objekthülle gespeichert), aufgrund dieser Funktion die Handle-Nummer des ersten Indikators.
Im Folgenden wird eine mögliche Kette von Ereignissen beschrieben.
Situation 1. der erste Indikator wird gelöscht (und das Programm führt IndicatorRelease aus); infolgedessen funktioniert der zweite Indikator nicht automatisch - Pufferkopierfehler.
Situation 2. Der zweite Indikator wird entfernt (und das Programm führt IndicatorRelease aus), der Handradzähler sinkt. Dem ersten geht es gut. Es wird ein dritter Indikator mit einer anderen Periode erstellt. Er erhält den Handle Count+1, d.h. die Handle-Nummer des gerade gelöschten Indikators. Das Schlimmste ist jedoch, dass der dritte Indikator mit einer anderen Periode, der erfolgreich erstellt wurde, die Werte des ersten Indikators, der noch nicht gelöscht wurde, in den Puffer gibt.
Die Funktion zum Kleben von Handle-Nummern führt zu unklaren Situationen, wenn eine von zwei geklebten Nummern gelöscht und dann eine neue erstellt wird.
Kann mir jemand diese Frage beantworten?
Es wurde hier schon besprochen.https://www.mql5.com/ru/forum/1997/page6/#comment_31644
Vielleicht wäre es besser, die Frage dorthin zu verschieben - eine Anregung.