Fehler, Irrtümer, Fragen - Seite 1371

 

Liebe Entwickler, gehen Sie nicht vorbei :)

Die Handelsplattform ist MetaTrader 4. Der Prozess der Optimierung von EAs ist ein Lauf mit verschiedenen Parametern, die in den Eingabeparametern von EA (input, sinput oder extern) angegeben werden. Ich möchte wissen, welche Variablen, die im globalen Bereich deklariert sind, bei jeder Iteration des Optimierers neu erstellt (zurückgesetzt) werden? Oder wird das, was global deklariert wird, einmal erstellt und bleibt bis zum Ende des gesamten Optimierungsprozesses bestehen?

 
Konstantin Karpov:

Liebe Entwickler, gehen Sie nicht vorbei :)

Die Handelsplattform ist MetaTrader 4. Der Prozess der Optimierung von EAs ist ein Lauf mit verschiedenen Parametern, die in den Eingabeparametern von EA (input, sinput oder extern) angegeben werden. Ich möchte wissen, welche Variablen, die im globalen Bereich deklariert sind, bei jeder Iteration des Optimierers neu erstellt (zurückgesetzt) werden? Oder wird das, was auf globaler Ebene deklariert wird, einmal erstellt und lebt bis zum Ende des gesamten Optimierungsprozesses?

Aus dem Verweis auf globale Variablen:

Eine Variable, die außerhalb aller Funktionen deklariert wird, wird in den globalen Bereich gestellt. Auf solche Variablen kann von überall im Programm zugegriffen werden. Solche Variablen befinden sich im globalen Speicherpool, so dass ihre Lebensdauer mit der Lebensdauer des Programms übereinstimmt.

Область видимости и время жизни переменных - Документация на MQL4
  • docs.mql4.com
Область видимости и время жизни переменных - Документация на MQL4
 
Tapochun:

Aus der Hilfe zu globalen Variablen:

Eine Variable, die außerhalb aller Funktionen deklariert wird, wird in den globalen Bereich gestellt. Auf solche Variablen kann von überall im Programm zugegriffen werden. Solche Variablen befinden sich im globalen Speicherpool, so dass ihre Lebensdauer mit der Lebensdauer des Programms übereinstimmt.

Das weiß ich, aber die Frage ist...
 
Konstantin Karpov:

Liebe Entwickler, gehen Sie nicht vorbei :)

Handelsplattform MetaTrader 4. Der Prozess der Optimierung von EAs ist ein Lauf mit verschiedenen Parametern, die in den Eingabeparametern von EA (input, sinput oder extern) angegeben werden. Ich möchte wissen, welche Variablen, die im globalen Bereich deklariert sind, bei jeder Iteration des Optimierers neu erstellt (zurückgesetzt) werden? Oder wird das, was global deklariert wird, einmal erstellt und bleibt bis zum Ende des gesamten Optimierungsprozesses bestehen?

Global deklarierte Variablen werden vor jedem Optimierungsschritt (und vor jedem einzelnen Test) mit Anfangswerten initialisiert (oder gelöscht, wenn keine explizite Initialisierung erfolgt). Konstruktoren werden für Klassenobjekte aufgerufen
 
Slawa:
Die global deklarierten Variablen werden vor jedem Optimierungsschritt (und vor jedem einzelnen Test) mit Anfangswerten initialisiert (oder auf Null gesetzt, wenn es keine explizite Initialisierung gibt)

Ich verstehe, und statische Variablen werden auf Null gesetzt?

Übrigens, warum wird die Deinitialisierung von Klassenobjekten nur einmal im Druck angezeigt - am Ende des gesamten Optimierungszyklus? Theoretisch sollte dies bei jeder Iteration des Optimierungsprozesses geschehen...

 
Konstantin Karpov:

Verstehe, sind statische Variablen auf Null gesetzt?

Übrigens, warum zeigt der Ausdruck die Deinitialisierung von Klassenobjekten nur einmal an - am Ende des gesamten Optimierungszyklus?

Statische Variablen werden auf Null gesetzt oder mit Anfangswerten initialisiert, wenn es eine explizite Initialisierung gibt.

Während der Optimierung ist die Protokollierung deaktiviert, um die Protokolldateien nicht zu überlasten. Die Protokollierung wird wieder eingeschaltet, wenn die Optimierung abgeschlossen ist.

Offenbar wird sie vor dem letzten Deinit aktiviert. Oder das letzte Deinit wird zu spät durchgeführt. Sie müssen sich Folgendes ansehen

 
Entschuldigung für die Offtops, bei wem sollte ich mich über Freelancer aus dem Bereich Freelance beschweren? Habe mir einen Künstler aus den Top-Entwicklern https://www.mql5.com/ru/job/developers ausgesucht, ihn direkt per Mail kontaktiert, den Auftrag beschrieben, eine Vorauszahlung geleistet, er hat sie angenommen, nun die Frist überschritten und meldet sich nicht. Ich brauche die Öffentlichkeit, um den "Helden" zu erkennen!
 
boitzov.asd2015:
Entschuldigung für die Offtops, bei wem sollte ich mich über Freelancer aus dem Bereich Freelance beschweren? Habe mir einen Künstler aus den Top-Entwicklern https://www.mql5.com/ru/job/developers ausgesucht, ihn direkt per Mail kontaktiert, den Auftrag beschrieben, eine Vorauszahlung geleistet, er hat sie angenommen, nun die Frist überschritten und meldet sich nicht. Wir brauchen die Öffentlichkeit, um den "Helden" zu erkennen!
In Ihrem Profil die Rubrik "Service Desk". Und das ist kein Off-Topic, das ist der Zweck des Threads, Fragen zu stellen.
 
Tapochun:
In Ihrem Profil die Rubrik "Service Desk". Und dies ist kein Off-Topic, sondern das Thema ist für Fragen gedacht.
"Um die Entwickler direkt über Fehler in MQL5 oder MetaTrader 5 zu informieren oder Verbesserungsvorschläge zu machen." Wird meine Bewerbung dort angenommen?
 
boitzov.asd2015:
"Um Fehler in MQL5 oder MetaTrader 5 direkt an die Entwickler zu melden oder Verbesserungsvorschläge zu machen." Wird meine Bewerbung dort angenommen?
Ich habe die Rubrik "Jobs" nicht persönlich genutzt, aber soweit ich weiß, gibt es dort "Arbitrage". Entweder man geht dorthin, wenn man mit etwas nicht zufrieden ist, oder - im Dienste der Sache. Allerdings kann ich Ihre Arbeit nicht in Ihrem Profil sehen.