Fehler, Irrtümer, Fragen - Seite 2971
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
Ist dies das richtige Verhalten für die statischen Variablen?
Bei einem Wechsel des Zeitrahmens oder einer Änderung der Parameter ändert sich ihr Wert nicht:
Das Ergebnis nach dem Start des EA und dem Wechsel des Zeitrahmens:
Statische VariablenDies ist aus der Hilfe:
Statische Variablen existieren zum Zeitpunkt der Programmausführung und werden einmalig vor dem Aufruf der spezialisierten Funktion OnInit() initialisiert.
Also einmal vor jedem Aufruf von OnInit() oder einmal vor dem Start, obwohl die Neuinitialisierung eher einem zweiten Durchlauf gleichkommt.
Passiert das auch im Testgerät?
Auch globale Variablen verhalten sich auf diese Weise.
Beim Wechsel des Zeitrahmens wird der Expert Advisor nicht neu gestartet, sondern arbeitet weiter.
https://www.mql5.com/ru/docs/runtime/running
При смене символа или таймфрейма графика, к которому эксперт прикреплен, выгрузка и загрузка эксперта не производится. При этом последовательно вызываются обработчики OnDeinit() на старом символе/таймфрейме и OnInit() на новом символе/таймфрейме (если они есть), значения глобальных переменных и статических переменных не сбрасываются. Все события, поступившие для эксперта до завершения инициализации (функции OnInit()), пропускаются.
Beim Wechsel des Zeitrahmens wird der Expert Advisor nicht neu gestartet, sondern arbeitet weiter.
https://www.mql5.com/ru/docs/runtime/running
Mir ist eine Besonderheit aufgefallen, die im MetaTrader bisher nicht vorhanden war. Wenn ich einen Expert Advisor aus einem Diagramm lösche (mit dem Befehl im Kontextmenü), wird das Diagramm danach geschlossen. Zuvor wurde das Diagramm nach dem Löschen eines Expert Advisors nicht geschlossen.
Mir ist eine Besonderheit aufgefallen, die im MetaTrader bisher nicht vorhanden war. Wenn ich einen Expert Advisor aus einem Diagramm entferne (mit dem Befehl im Kontextmenü), wird das Diagramm danach geschlossen. Zuvor wurde das Diagramm nach dem Löschen eines Expert Advisors nicht geschlossen.
Es kann im EA selbst programmiert werden, prüfen Sie mit einem anderen EA...
unter Win7 werden beim Debuggen von historischen Daten die zur Beobachtung hinzugefügten Variablen nicht angezeigt. beim Debuggen von realen Daten funktioniert alles.ich habe in den Einstellungen des Meta-Editors Parameter für das Debuggenangegeben.
es stellt sich heraus, dass beim Hinzufügen von Variablen, diese nicht sofort im Fenster angezeigt werden, sondern erst beim nächsten Start des Debugging erscheinen, aber ihre Werte sind bereits <nicht implementiert>. bitte sagen Sie mir, was ich einstellen muss, damit das Debugging funktioniert
Es kann im EA selbst programmiert sein, überprüfen Sie es mit einem anderen EA...
In der Tat, warf die Standard-EA auf dem Diagramm. Gelöscht wurde sie ohne Probleme. Versucht, ChartClose in den Quellen meines Expert Advisors zu finden. Ich habe sie nirgends gefunden. Es war von Anfang an nicht meine Absicht, das Diagramm zu schließen, wenn ein Expert Advisor gelöscht wird. Ich verwende Standard-Benutzeroberflächenelemente, wie CAppDialog. Vielleicht wurde das Schließen der Tabelle irgendwo in den Standardklassen geschrieben...
In der Tat, warf ein Standard-EA auf dem Diagramm. Gelöscht wurde sie ohne Probleme. Versucht, ChartClose in den Quellen meines Expert Advisors zu finden. Ich habe sie nirgends gefunden. Meine ursprüngliche Idee war, das Diagramm nicht zu schließen, wenn ich einen Expert Advisor lösche. Ich verwende Standard-Benutzeroberflächenelemente, wie CAppDialog. Vielleicht wurde der Abschluss der Tabelle irgendwo in den Standardklassen geschrieben...
Ich habe es gefunden. Die Klasse CAppDialog hat ein CChart-Feld m_chart.
WennCAppDialog gelöscht wird (sein Abkömmling wird in meinem Expert Advisor verwendet), wirdder m_chart destructor wahrscheinlich das Diagramm schließen.
Leider kann dieser Vorgang nicht mit dem Debugger verfolgt werden. Aber wenn man sich den Quellcodevon CAppDialog undCChart ansieht, wird alles klar. Ich möchte die Entwickler darauf aufmerksam machen.
Ich habe es gefunden. Die Klasse CAppDialog hat das Feld CChart m_chart.
WennCAppDialog entfernt wird (sein Abkömmling,CDialog, wird in meinem Expert Advisor verwendet), schließtder Destruktor m_chart wahrscheinlich das Diagramm.
Leider kann dieser Vorgang nicht mit dem Debugger verfolgt werden. Aber wenn man sich den Quellcodevon CAppDialog undCChart ansieht, wird alles klar. Ich möchte die Entwickler darauf aufmerksam machen.
Loslösen von der Karte, unter anderem.
Können Sie mir sagen, warum SignalBaseTotal() immer 1000 zurückgibt.
Der Signaldienst mql5.com verfügt über mehr als tausend ausgestrahlte Signale, aber das Terminal hat nur eintausend Signale zur Verfügung. Und warum?
Kann es sein, dass es eine Reihe von Signalen in diesen Tausend gibt, während sie in einer Stunde anders sein können?Fehler bei abgeleiteter Struktur, bei der beim Speichern/Laden aus Datei keine neuen Daten hinzugefügt werden.