Fehler, Irrtümer, Fragen - Seite 1433

 

Hallo.

Hier ist eine Frage - gestern vor dem MT5-Update mein Skript in buchstäblich 2 Sekunden kompiliert. Heute nach dem Update hat es fast 5 Minuten gedauert, um zu kompilieren... Wird es immer so sein? :(

 
alexandr_trader:

Hallo.

Eine solche Frage - gestern vor dem MT5-Update kompilierte mein Skript in buchstäblich 2 Sekunden. Heute nach dem Update hat es fast 5 Minuten gedauert, um zu kompilieren... Wird es immer so sein? :(

Wie hoch ist die Bitrate des Terminals?

Von welchem Build auf welchen Build haben Sie aktualisiert?

Haben Sie vergessen, den Quellcode des Skripts beizufügen?

 
alexandr_trader:

Hallo.

Eine solche Frage - gestern vor dem MT5-Update, mein Skript in buchstäblich 2 Sekunden kompiliert. Heute nach dem Update hat es fast 5 Minuten gedauert, um zu kompilieren... Wird es immer so sein? :(

Ja, 5 Minuten sind eine sehr lange Zeit.
Alternativ können Sie versuchen, den Code zu vereinfachen (vielleicht haben Sie große (mehrzeilige) Funktionen).

Sie können eine Anfrage an servicedesk stellen und Ihren Code anhängen, wir werden prüfen, warum die Kompilierungszeit so lang ist.
 
Ilyas:
Ja, 5 Minuten sind eine Menge.
Sie können auch versuchen, den Code zu vereinfachen (vielleicht haben Sie eine große (mehrzeilige) Funktion).

Sie können eine Anfrage an servicedesk stellen und Ihren Code anhängen, wir werden prüfen, warum es so lange dauert, bis er kompiliert ist.
Alexey Da:

Wie hoch ist die Bitrate des Terminals?

Von welchem Build zu welchem Build haben Sie aktualisiert?

Haben Sie vergessen, den Quellcode des Skripts beizufügen?

Win7 64

MT5 Alfa-Forex 5.00 gebaut 1210 30 okt 2015

Ich weiß nicht, von welchem Build ich aktualisiert habe.

Der Skriptcode ist wirklich kompliziert und umständlich. Aber selbst ein primitives Skript, das früher sofort kompiliert werden konnte, wird jetzt in 0,5 Sekunden kompiliert.

Ich werde mich natürlich darauf einstellen, aber bedenken Sie, dass die Zusammenstellung jetzt gaaanz langsam ist. Ich hoffe, Sie können das in Zukunft beheben.

Herzliche Grüße.


 
alexandr_trader:

Der Skriptcode ist in der Tat komplex und umständlich. Aber selbst ein primitives Skript, das früher sofort kompiliert werden konnte, wird jetzt in 0,5 Sekunden kompiliert.

Ich werde mich natürlich anpassen, aber bedenken Sie, dass die Kompilierung jetzt sehr langsam ist. Ich hoffe, Sie werden das in Zukunft beheben.

Die neuesten Builds haben einen neuen Optimierungsmechanismus, der während der Kompilierung standardmäßig aktiviert ist. Infolgedessen hat sich die Ausführungsgeschwindigkeit von in MQL geschriebenen Programmen um ein Vielfaches erhöht.

Der Preis dafür ist ein Anstieg der Kompilierungszeit, und in "schweren" Fällen (große, mehrzeilige Funktionen) ist sie um eine Größenordnung gestiegen (von 3 Sekunden auf 16 Minuten).

Die Vereinfachung des Algorithmus ist bisher die einzige Möglichkeit, die Kompilierung zu beschleunigen.

 
Alexey Da:

Die neuesten Builds enthalten standardmäßig einen neuen Optimierungsmechanismus beim Kompilieren. Infolgedessen hat sich die Ausführungsgeschwindigkeit von in MQL geschriebenen Programmen um ein Vielfaches erhöht.

Der Preis, der dafür zu zahlen ist, ist eine Erhöhung der Kompilierungszeit, und in "schweren" Fällen (große, mehrzeilige Funktionen) um eine Größenordnung erhöht (von 3 Sekunden auf 16 Minuten).

Die Vereinfachung des Algorithmus ist bisher die einzige Möglichkeit, die Kompilierung zu beschleunigen.

Ich glaube, dass jeder Entwickler die Kompilierungszeit zugunsten einer schnelleren Programmausführung opfern wird :)

Gut gemacht, Jungs...

 
Alexey Da:

Die neuesten Builds enthalten standardmäßig einen neuen Optimierungsmechanismus beim Kompilieren. Infolgedessen hat sich die Ausführungsgeschwindigkeit von in MQL geschriebenen Programmen um ein Vielfaches erhöht.

Der Preis, der dafür zu zahlen ist, ist eine Erhöhung der Kompilierungszeit, und in "schweren" Fällen (große, mehrzeilige Funktionen) um eine Größenordnung erhöht (von 3 Sekunden auf 16 Minuten).

Die Vereinfachung von Algorithmen ist bisher die einzige Möglichkeit, die Kompilierung zu beschleunigen.

Wir programmieren schließlich keine Raumstationen. Vielleicht lassen Sie den Benutzern die Wahl zwischen der Optimierung der Laufzeit oder der Kompiliergeschwindigkeit?

Obwohl ich persönlich bisher noch nicht auf dieses Problem gestoßen bin, weil ich nicht jedes Mal 16 Minuten auf Änderungen an einer Codezeile warten möchte.

Sie dürfen das Endprodukt jedoch nur einmal kompilieren, wenn es vollständig erstellt und getestet wurde. Ergibt das einen Sinn?

 

Kompilierungsfehler: Ungültige Cast-Operation

class A {};
class B {
        bool A() { return true; }
        bool f() {        A(); return true; } //нормально
        bool g() { return A(); }              //'A' - invalid cast operation
};
 
MT4: Ich rufe den EventChartCustom-Experten in OnDeinit auf und sende eine Nachricht an einen anderen Chart, aber das Ereignis kommt nicht. Es gibt fast keinen Code in OnDeinit, so dass die Grenze von 2,5 Sekunden nicht erreicht wird. Frage: ist es überhaupt möglich, benutzerdefinierte Ereignisse von OnDeinit zu generieren oder ist es verboten? Ich konnte keine Dokumentation zu diesem Thema finden.
 
A100:

Kompilierungsfehler: Ungültige Cast-Operation

Das erste Mal vergewaltigt koscher, dann nicht mehr so sehr danach?