Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 229
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
Englisch (Original): Ich möchte einen Antrag auf eine MQL-Sprachfunktion stellen. Wenn dies nicht der richtige Thread ist, lassen Sie es mich bitte wissen. Die ursprüngliche Anfrage befindet sich im englischen Forum ...
Russisch (Google-Übersetzung): Ich möchte einen Antrag für eine MQL-Sprachfunktion stellen. Wenn dies nicht der richtige Thread ist, lassen Sie es mich bitte wissen. Die ursprüngliche Anfrage befindet sich im englischen Forum ...
Wie füllt man ein Array mit einer Zeile?
Ein weiterer Lifehack für Zugriffsrechte: Wenn Sie den unwiderstehlichen Wunsch haben, einer anderen Klasse Zugriff auf private Felder/Funktionen einer Klasse zu gewähren, können Sie mit den Standard-MQL-Werkzeugen Folgendes tun:
Wir müssen: den Zugriff auf A::f1() von B aus ermöglichen.
Lassen Sie uns das so umschreiben:
Um (A)a.f1() innerhalb von B aufzurufen, rufen Sie CallAf1(a) auf. Wenn f1() Parameter hat, fügen wir sie zu CallAf1() hinzu.
Test:
Sie können CallAf1() geschützt machen, aber das wird ein großes Loch in die Zugriffsrechte reißen - irgendwo im Code können Sie einen Nachkommen der Klasse B erstellen und darin eine öffentliche Methode, um CallAf1() aufzurufen - d.h. jeder wird Zugriff auf A::f1() haben.
P.S. Das Konstrukt ist sehr umständlich (wenn Sie wollen, können Sie es in Makros packen), aber es hat einen Vorteil gegenüber Friend C++: Es gibt Zugriff nicht auf alle Klassenmitglieder, sondern nur auf ausgewählte.
Ein weiterer Lifehack für Zugriffsrechte: Wenn Sie den unwiderstehlichen Wunsch haben, einer anderen Klasse Zugriff auf private Felder/Funktionen einer Klasse zu gewähren, können Sie dies mit den Standard-MQL-Werkzeugen tun
Es hat lange gedauert, bis ich mich darauf eingelassen habe... guter Schritt mit der Virtualisierung, danke!
REASON_ACCOUNT (auch wenn das Konto nicht geändert wird, sondern nur ein Re-Login erfolgt) wird der Expert Advisor komplett entladen und eine neue Kopie geladen.
Aus diesem Grund wirkt sich ExpertRemove in OnDeinit nicht auf die neue Kopie aus, da es die entladene Kopie berührt.
Ergebnis nach Neuanmeldung.
Nach Deinit wartet die neue EA-Kopie mehr als eine Sekunde (bis zu zwei Sekunden), um zu starten. Was sind die Gründe für eine so lange Wartezeit und ist es möglich, diese zu verkürzen?
SymbolInfoTick gibt bei jedem dieser drei Aufrufe den neuesten Tick zurück. Das heißt, die so genannte Sammlung von Ticks ohne Überspringen von Indikatoren ist gelinde gesagt fragwürdig.
Beweis für die Unmöglichkeit des Sammelns von Ticks durch einen Indikator (ohne Überspringen).
Ergebnis.
Forum über Trading, automatisierte Handelssysteme und das Testen von Handelsstrategien
Fehler, Bugs, Fragen
fxsaber, 2023.02.14 13:11
Leider zieht MQL4 diese Art von Arbeit noch nicht.