Fehler, Irrtümer, Fragen - Seite 1624
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
Ich schreibe einen Expert Advisor, der den Indikator ex5 aufruft. Der Expert Advisor funktioniert im Strategietester korrekt, aber wenn ich die Optimierung ausführe, stürzen die Agenten am Ende des Laufs ab:
Wenn ich auf die Schaltfläche "Schließen" drücke, startet der Agent nach einiger Zeit neu und führt einen neuen Durchlauf durch, stürzt dann aber wieder ab.
Die Analyse der Protokolle ergab nichts:
Die Fehlersignatur lautet wie folgt:
Ich habe versucht, die Erstellung eines Indikator-Handles auszukommentieren. Der Fehler verschwand und der Expert Advisor führte alle Läufe normal aus, wenn auch vergeblich.
Deshalb schreibe ich hier, bevor ich Nachrichten an den Service Desk geschickt habe: Vielleicht gibt es etwas Besonderes bei der Arbeit mit Indikatoren im Strategietester? Vielleicht ist es notwendig, IndicatorRelease irgendwo aufzurufen? Wenn jemand weiß, wie man das Problem beheben kann - bitte schreiben.
Ich schreibe einen Expert Advisor, der den Indikator ex5 aufruft. Der Expert Advisor im Strategietester arbeitet korrekt, aber wenn ich die Optimierung ausführe, stürzen die Agenten am Ende des Laufs ab:
Wenn ich auf die Schaltfläche "Schließen" drücke, startet der Agent nach einiger Zeit neu und führt einen neuen Durchlauf durch, stürzt dann aber wieder ab.
Die Analyse der Protokolle ergab nichts:
Die Fehlersignatur lautet wie folgt:
Ich habe versucht, die Erstellung eines Indikator-Handles auszukommentieren. Der Fehler verschwand und der Expert Advisor führte alle Läufe normal aus, wenn auch vergeblich.
Deshalb schreibe ich hier, bevor ich Nachrichten an den Service Desk geschickt habe: Vielleicht gibt es etwas Besonderes bei der Arbeit mit Indikatoren im Strategietester? Vielleicht ist es notwendig, IndicatorRelease irgendwo aufzurufen? Wenn jemand weiß, wie man das beheben kann - bitte schreiben.
Wann wird MT4 die Möglichkeit haben, eine Zeile aus dem Logbuch zu kopieren, ohne beim Einfügen eine andere Codierung zu erhalten:
2016.08.03 00:03:36.699 2013.04.26 10:15 Kamikadze_MA_V_04_42_Fibo_05_Regressor_T_K GBPUSD,M15: Magic=111Îrder 322 SELLSTOP nicht ìîäèèred. Gebot (1,5448) weniger als Eröffnungskurs (1,5498)Wann wird MT4 die Möglichkeit haben, eine Zeile aus dem Logbuch zu kopieren, ohne beim Einfügen eine andere Codierung zu erhalten:
2016.08.03 00:03:36.699 2013.04.26 10:15 Kamikadze_MA_V_04_42_Fibo_05_Regressor_T_K GBPUSD,M15: Magic=111Îrder 322 SELLSTOP nicht ìîäèèred. Gebot (1,5448) weniger als Eröffnungskurs (1,5498)Achten Sie beim Kopieren aus dem Logbuch darauf, dass das Layout in win russisch ist.
Ich danke Ihnen! Ich habe standardmäßig immer ein englisches Layout.
Aber warum muss ich alle möglichen Tricks anwenden...
Ich danke Ihnen! Ich habe standardmäßig immer ein englisches Layout.
Aber warum muss ich alle möglichen Tricks anwenden...
Verwenden Sie MT5, wo alles in Unicode ist und es keine solchen Probleme gibt.
Ich habe kein Geld für MT5 - ich handle mit Cent-Konten und der DC hat es nicht eilig, sie für einen Fünfer zu eröffnen.
Ich möchte das Problem der langsamen MQL5-Kompilierung noch einmal ansprechen. Vor etwa drei Monaten habe ich versucht, dieses Problem anzusprechen, aber es wurde nicht verstanden, anscheinend waren meine Argumente nicht überzeugend genug. Daher bin ich zum alten Build (1159) zurückgekehrt, der alles fast sofort kompilierte (während mein Projekt mit den neuen Compilern in 20 Sekunden kompiliert wurde).
Und so habe ich vor einer Woche versucht, auf ein neues Build umzusteigen. Ich dachte mir, "vergiss die 20 Sekunden, ich halte es aus, um der neuen Sachen willen". Natürlich musste ich den Code ein wenig anpassen, um den neuen Bedingungen zu entsprechen, was einige Bugs des neuen Compilers aufdeckte (hier beschrieben).Das Ergebnis ist, dass mein Projekt bereits seit 30 Sekunden kompiliert! Ich weiß nicht, ob es mit der Kompliziertheit des Projekts oder mit einer weiteren "Komplikation" des Compilers zu tun hat, aber es passt einfach nicht mehr.
Das Projekt enthält etwa 700 Kb Quellcode, es ist ein Expert Advisor, der ein paar Dutzend mqh enthält. Alles ist OOP. Man schrieb mir früher, dass die Verlangsamung wahrscheinlich durch große Funktionen verursacht wird. Ich hatte ein paar davon. Nun, ich habe sie in kleinere Teile zerlegt und sie haben keine Wirkung.
Das Erstaunlichste ist, dass diese überlange Zusammenstellung überhaupt keinen Nutzen hat. Die Geschwindigkeit des Programms ist die gleiche wie mit dem alten Compiler, ich habe sie extra gemessen. Das lässt nur einen Satz zu: "Wozu?".
Ich habe das starke Gefühl, dass es einen Fehler/Fehlfunktion im Compiler gibt, aufgrund dessen er untätig durch einen leeren Raum rast. Wie sonst kann ich mir die Tatsache erklären, dass ein absolut leeres Skript mit nur der Funktion OpenStart() { } über 400 ms kompiliert!Es ist unvorstellbar, dass es so lange dauern kann, ein leeres Skript zu kompilieren/optimieren. Nun, wenn man kleine Funktionen und Klassen hinzufügt, kann man sehen, wie schnell die Kompilierungszeit wächst.
Ich möchte gleich sagen, dass meine Hardware natürlich alles andere als leistungsfähig ist - Core i5U. Aber das hindert mein Projekt nicht daran, in 1-2 Sekunden auf einem alten Compiler zu kompilieren, bzw. der Dummy ist dort in einem Moment kompiliert.
Ich möchte noch anmerken. Dem Compiler fehlt nicht nur die Zwischenspeicherung früher kompilierter Fragmente, sondern auch eine triviale Überprüfung, um sicherzustellen, dass der Quellcode identisch ist. D.h. Sie kompilieren Ihr Projekt und klicken dann erneut auf die Schaltfläche "Kompilieren", ohne irgendwelche Änderungen vorzunehmen, und warten wieder dieselben 30 Sekunden. Wie gut ist das?
Ich würde gerne Kommentare von MT-Entwicklern und Forumsbenutzern hören, die mit großen Projekten arbeiten (bin nur ich von diesem Problem betroffen?), wie lange es dauert, zu kompilieren und auf welcher Hardware. Wir möchten darauf hinweisen, dass es sich um die Kompilierung einer ausführbaren Datei handelt.
400 kBProjekt-Code
in mt4 kompiliert er in 888 msec
das gleiche Projekt in mt5 kompiliert 4103 ms
Obwohl manchmal einige Projekte mit 50Kb Code ist irgendwie langsam, aber es passiert einmal in eine Weile und nicht stört mich.