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
1. Warum ist das so? Schädliche Symptome müssen behandelt werden, und zwar entschlossen.
2. Variablen, Arrays und andere Dinge sollten nicht einheitlich oder mit sprachlichen Schlüsselwörtern benannt werden (aber das Array "Symbol" ist sehr auffällig, man kann im Code nicht erkennen, ob es ein Array oder etwas anderes ist).
1. Zunächst einmal muss man feststellen, ob es sich bei den Symptomen um positive oder negative Erscheinungsformen handelt. Meiner Erfahrung nach hat es Fälle gegeben, in denen ich versucht habe, den Wert einer globalen Variablen in einer Funktion zu ändern, die dafür nicht vorgesehen war (verdammtes Copypaste). Ich habe ein paar Tage gebraucht, um diesen Fehler zu finden. Seitdem verwende ich globale Variablen in Fällen, in denen ich im Prinzip nicht darauf verzichten kann.
2. Ich stimme zu. Aber wenn sie innerhalb einer Funktion verwendet werden, stört mich das nicht. Aber globale Variablen mit solchen Namen sind eine Quelle künftiger Verwirrung.
Ich wiederhole jedoch meine Frage.
Ist es möglich, die Auslösung von OnInit innerhalb von OnTick zu bestimmen?
Kann ich zum Beispiel eine statische Variable innerhalb von OnTick deklarieren, die die Anzahl der Initialisierungen des EA speichert (wenn diese oder eine ähnliche Eigenschaft in MQL5 vorhanden ist)?
Ich muss paranoid sein. Ich mag keine öffentlichen (globalen) Variablen. Ich halte es für ein Muveton.
Globale Variablen sind zumindest aus der Ferne sichtbar. Aber das Verstecken von schwerwiegenden kumulativen Variablen innerhalb von Funktionen in der Statik ist eine Möglichkeit, sich einen Vorteil zu verschaffen. Dies ist das erste Mal, dass ich ein akkumulatives statisches Array gesehen habe, das auf diese Weise in einer Funktion versteckt ist. Das ist eine feurige Harke.
Verwenden Sie Klassen - sie werden die globale Ebene sauber lassen, alle Eingeweide verstecken und die Krücken loswerden.
Ich wiederhole jedoch meine Frage.
Ist es möglich, die Auslösung von OnInit innerhalb von OnTick zu bestimmen?
Können wir zum Beispiel eine statische Variable innerhalb von OnTick deklarieren, die die Nummer der Initialisierung des EA speichert (wenn es eine solche oder ähnliche Variable in MQL5 gibt)?
Es ist nicht nur möglich, die Anzahl der OnInit-Auslöser zu zählen, sondern auch festzustellen, warum die Initialisierung erfolgte (die Implementierung ist ein anderes Thema).
Sind Sie zum Beispiel mit _UninitReason vertraut?
Sie müssen eine WorkSymbols-Klasse schreiben.
Methoden:
string GetSymbol[];
bool UpdateSymbols(inWorkSymbols);
bool UpdateSymbolsStatus();
int GetSymbolCount();
Entschuldigung, wenn die Anfrage frech ist... Ich werde auch versuchen, es selbst herauszufinden.
Ja, es scheint ein Fehler zu sein, den Symbolwechsel und die Zeitrahmenbedingung zu kombinieren.
Ich bin auch dafür, sie in zwei Bedingungen aufzuteilen. Das Ticket wurde bereits im Service Desk hinterlegt.
Ich habe es irgendwie ausgeheckt. Kritik ist willkommen.
Das einzige, was mir hier nicht gefällt, ist die "Live"-Anpassung der Größe des Arrays, das die Arbeitsdaten enthält.
Frage an die Entwickler: Ist gewährleistet, dass die zuvor eingegebenen Benutzerdaten in dem dynamischen Feld, das geändert wird, unter der folgenden Bedingung erhalten bleiben?
Das einzige, was mir hier nicht gefällt, ist die "Live"-Anpassung der Größe des Arrays, das die Arbeitsdaten enthält.
Eine Frage an die Entwickler: Ist gewährleistet, dass die zuvor eingegebenen Benutzerdaten in dem dynamischen Array, das geändert wird, unter der folgenden Bedingung erhalten bleiben?