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
Schneller.
Es tut das Gleiche - es gibt den Funktionswert zurück. Sie führt aber auch Kontrollen im Vorfeld durch.
Innerhalb der Funktion selbst gibt es auch Überprüfungen für den übergebenen Wert des Symbolnamens, und von ihm - entweder "wenn ein einfacher String-Parameter anstelle von Symbol(), _Symbol oder NULL, dann prüft für das vollständige Programm und mehr Eigenschaft Anfrage", oder verwendet Werte des aktuellen Symbols aus dem Cache ohne zusätzliche Prüfungen.
Warum machen Sie sie noch einmal und behaupten immer noch, dass sie den Datenabruf beschleunigen? Ich verstehe die Logik einer solchen Argumentation nicht.
Übrigens tue ich das immer in meinen Funktionen, aber ich glaube nicht, dass es den Datenabruf irgendwie beschleunigt, sondern ihn eher verlangsamt, weil der Wert des übergebenen Symbolnamens in meiner Funktion überprüft wird.
Warum machen Sie sie noch einmal, obwohl Sie behaupten, dass die Daten dadurch schneller werden?
Sie haben die Erklärung selbst zitiert.
Symbol(), _Symbol-Einträge sind äquivalent zu NULL (wobei NULL anstelle des Symbolnamens zulässig ist)
Ist das bei MT4 auch so? Und was ist mit MT5 Tester?
Übrigens, ich mache das immer in meinen Funktionen
Zeigen Sie es mir bitte.
Sie haben die Erklärung selbst zitiert.
Genau - das wird alles innerhalb der regulären Funktion erledigt. Warum sollte man sie auch auf der Außenseite duplizieren?
Genau - das wird alles innerhalb der regulären Funktion erledigt. Warum sollte man sie auch auf der Außenseite duplizieren?
Dann haben Sie die Erklärung nicht verstanden. Die Geschwindigkeit der beiden Anrufe ist unterschiedlich.
Bitte zeigen Sie es mir.
Alle Funktionen und Methoden, bei denen dies mit mir gemacht wird?
Es gibt zu viele von ihnen.
Alle Funktionen und Methoden, bei denen ich dies tue?
Einer ist genug.
Dann haben Sie die Erklärung nicht verstanden. Die Geschwindigkeit der beiden Anrufe ist unterschiedlich.
Ich scheine alles verstanden zu haben. Natürlich ist es anders. Wie haben Sie es beschleunigt? In einem Fall übergeben Sie einen Wert, der nicht das aktuelle Symbol ist, an die Funktion - wenn er not_Symbol ist.
In diesem Fall, in dem Sie den oben genannten Wert an die Funktion übergeben, führt die Funktion keine Prüfungen durch und nimmt den Wert des aktuellen Symbols aus dem Cache.
In anderen Fällen werden die Daten des angegebenen Symbols mit einer Prüfung auf "volles Programm" und seine Präsenz in der Marktübersicht abgefragt. Ihre "schnelle" Funktion wird diese Prüfungen nicht los, wenn sie Daten von einem nicht-nativen Symbol anfordert. Wo liegt also die Beschleunigung?
Nur zwei Optionen in Ihrer Funktion, wenn diese aufgerufen wird if(SymbolInfoTickFast(Symbol(), tick_array)) {}
Eine andere Sache, wenn Sie (in Ihrer Gewohnheit, alles zu definieren, was sich bewegt) eine String-Variable für das aktuelle Symbol erstellen, dann ja - Sie müssen hier Überprüfungen durchführen und Ihre Makro-Ersetzung durch eine vordefinierte Variable ersetzen, oder Symbol() aufrufen
Wie haben Sie es beschleunigt?