Fehler, Irrtümer, Fragen - Seite 222

 
vyv:

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.


Serj_Che 2010.12.07 00:16 #
vyv:
Kann mir jemand antworten?

Sie haben hier darüber gesprochen. https://www.mql5.com/ru/forum/1997/page6/#comment_31644

Vielleicht wäre es besser, die Frage dort zu stellen.

Es stellt sich also heraus, dass diese Verbesserung für viele notwendig ist. Vielleicht können Sie es ja doch versuchen?

Renat Fatkhullin:

"Wenn wir zu dem Schluss kommen, dass ein Produkt qualitativ verbessert werden kann , tun wir es. Es spielt keine Rolle, ob wir alles von Grund auf neu schreiben müssen oder nicht. Davor haben wir keine Angst!

Im Nachhinein betrachtet ist unsere gesamte Arbeit von dem ständigen Wunsch geprägt, die Produkte zu verbessern und zu optimieren. Das ist das Wort, das wir in unserem Slogan verwenden: Optimize and Lead!

 

Was sind diese Fehler?

7 durchgesickerte Strings übrig
Abnormale Beendigung

 
dentraf:

Was sind diese Fehler?

7 durchgesickerte Strings übrig
Abnormale Beendigung

Das Programm wurde vorzeitig beendet, aber das laufende System stellte fest, dass die 7 Zeichenfolgen nicht freigegeben wurden (dies ist eine Folge der vorzeitigen Beendigung).
 
long varLong = 124;
Print(varLong);

- Gibt eine leere Zeile aus.

long varLong = 124;
Print((int)varLong);
- Gibt eine Zahl aus.

Bitte reparieren Sie das.
Ich nehme an, es gibt mehr Probleme mit langen, aber ich kann nicht finden, was sie sind noch, ich bin immer ein Speicher schreiben Fehler mit einem Induktor ...

 
Vigor:
Gut. Es ist ein Merkmal. Aber eine, die Sie besser kennen sollten.

Wenn ein Benutzer Periodenwerte für MA über die Schnittstelle eingibt, Handles für Indikatoren erstellt und Werte von Indikatorpuffern verwendet, dann erhält er/sie, nachdem er/sie 2 Indikatoren mit denselben Merkmalen erstellt hat (ihre Handles werden in den Object Wrapper geschrieben), 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.

Danke, lass uns darüber nachdenken.

 
mrProF:

- Gibt eine leere Zeile aus.

- Gibt eine Zahl aus.

Bitte reparieren Sie das.
Ich nehme an, es gibt noch mehr Probleme mit long, aber ich kann nicht finden, was sie noch sind, ich habe eine Induktivität, die einen Fehler beim Schreiben in den Speicher...

Ich danke Ihnen. Wird behoben.
 

Build 362 - Das Ziehen von Registerkarten im Fenster funktioniert nicht mehr:

Das D&D-Verbotssymbol erscheint. Vielleicht mache ich etwas falsch?

 

Es kommt vor, dass die EA-Entwicklung aufgrund wichtiger Fehler im Build (diesmal vor allem in den Funktionen für den Zugriff auf Zeitreihen) eingestellt wird. Wir sollten ein Rollback zur vorherigen Version (vor der Korrektur) durchführen. Zumindest im manuellen Modus, oder noch einfacher, wenn ein Backup des vorherigen Builds gespeichert ist.

Diese Frage wurde bereits gestellt und ignoriert, aber IMHO ist sie wichtig und nicht sehr schwierig.

 
Dali:

Es kommt vor, dass die EA-Entwicklung aufgrund wichtiger Fehler im Build (diesmal vor allem in den Funktionen für den Zugriff auf Zeitreihen) eingestellt wird. Wir sollten ein Rollback zur vorherigen Version (vor der Korrektur) durchführen. Zumindest im manuellen Modus, oder noch einfacher, wenn ein Backup des vorherigen Builds gespeichert ist.

Diese Frage wurde bereits gestellt und ignoriert, aber IMHO ist sie wichtig und nicht sehr schwierig.


Ich unterstütze voll und ganz

 
Dali:

Es kommt vor, dass die EA-Entwicklung aufgrund wichtiger Fehler im Build (diesmal vor allem in den Funktionen für den Zugriff auf Zeitreihen) eingestellt wird. Wir sollten ein Rollback zur vorherigen Version (vor der Korrektur) durchführen. Zumindest im manuellen Modus, oder noch einfacher, wenn ein Backup des vorherigen Builds gespeichert ist.

Diese Frage wurde bereits gestellt und ignoriert, aber IMHO ist sie wichtig und nicht sehr schwierig.


Ich stimme zu, aber gleichzeitig müssen wir irgendwie die automatische Aktualisierung deaktivieren, so dass das Terminal nicht ständig aktualisiert wird.