Wie verschiebe ich die Struktur der globalen Variablen im Indikator, wenn ich zu einem anderen Zeitrahmen wechsle?

 
Wie verschiebt man eine globale Variable, Struktur oder ein Objekt in einem Indikator, wenn man zu einem anderen Zeitrahmen wechselt? Ich habe es nicht durch Googeln gefunden.
 
Mikhail Nazarenko:
Wie verschiebt man eine globale Variable, Struktur oder ein Objekt im Indikator, wenn man zu einem anderen Zeitrahmen wechselt? Ich habe es gegoogelt, aber nicht gefunden.

ungeschickte Lösung: wenn nicht Objekte, dann nicht neu initialisieren :-)

Wenn der Zeitrahmen geändert wird, werden die Daten nicht von selbst überschrieben, obwohl der EA neu startet. Dies ist ein unerwartetes Verhalten für die C-Suite, und vielleicht wird es sich in anderen Builds ändern, aber so ist es eben ;-)

Und die richtige Lösung - speichern Sie den Zustand in einer Datei oder Datenbank, und in der OnInit entscheiden - den vorherigen Zustand wiederherzustellen oder neu zu starten

 
Maxim Kuznetsov:

ungeschickte Lösung: wenn nicht Objekte, dann nicht neu initialisieren :-)

Wenn der Zeitrahmen geändert wird, werden die Daten nicht von selbst überschrieben, obwohl der EA neu startet. Dies ist ein unerwartetes Verhalten für die C-Suite, und vielleicht wird es sich in anderen Builds ändern, aber so ist es eben ;-)

Und die richtige Lösung - um den Zustand in einer Datei oder in der Datenbank zu speichern, und in der OnInit entscheiden - den vorherigen Zustand wiederherzustellen oder von Grund auf neu zu starten

Ich verstehe, dass es keine einfachen Lösungen für Strukturen und Objekte gibt?

 

Maxim Kuznetsov:


Wenn Sie den Zeitrahmen ändern, werden die Daten nicht von selbst überschrieben, obwohl der EA neu startet.


Die Frage bezog sich auf den Indikator.

 
Mikhail Nazarenko:

Wie verschiebt maneine globale Variable, Struktur oder ein Objekt in einem Indikator, wenn man zu einem anderen Zeitrahmen wechselt? Ich habe danach gegoogelt und es nicht gefunden.

- globale Variable - speichern Sie sie einfach in den globalen Variablen des Terminals.
- Diagrammobjekt - löschen Sie es einfach nicht aus einem Diagramm.
- Struktur - schreiben Sie sie einfach in eine Datei.

 
Mikhail Nazarenko:

Ich verstehe, dass es keine einfachen Lösungen für Strukturen und Objekte gibt?

Ist es nicht eine einfache Lösung, in eine Datei zu schreiben? Es scheint nichts Kompliziertes zu geben - FileWriteStruct() ist verfügbar. Der Teil des Objekts, der geschrieben werden soll (und es sind immer noch Daten, keine Methoden, die zu speichern keinen Sinn macht), wird in eine Struktur umgewandelt.

 
Ihor Herasko:

Ist dasSchreiben in eine Datei eine schwierige Lösung? Es scheint nichts Kompliziertes zu geben - FileWriteStruct() ist verfügbar. Der Teil des Objekts, der geschrieben werden soll (und es sind immer noch Daten, keine Methoden, die zu speichern keinen Sinn macht), wird in eine Struktur umgewandelt.

Scheint eine einfache Sache zu sein, aber wenn es nichts Eleganteres gibt, dann in eine Datei. Ich war naiv zu glauben, dass ich ohne Krücken auskommen könnte. Ich danke Ihnen.

 
Es ist einfacher, alle Strukturen bei einer Neuinstallation von Grund auf neu zu berechnen, es sei denn, es handelt sich um super-mega-komplexe Berechnungen...
 
transcendreamer:
Es ist einfacher, alle Strukturen von Grund auf neu zu berechnen, es sei denn, es gibt einige super-mega-komplexe Berechnungen...

Es gibt Zeiten, in denen die Daten nicht berechnet werden. Zum Beispiel, Benutzeraktionen.

 
Ihor Herasko:

Es gibt Zeiten, in denen die Daten nicht berechnet werden. Zum Beispiel, Benutzeraktionen.

Ja, die gibt es, aber sie können in der Regel als Status in Globals oder ihr objektiviertes Ergebnis als Zustand von Graph-Objekten gespeichert werden...

 

Hier hat@fxsaber ein Beispiel gezeigt, wie man die Struktur in globalen Variablen speichern kann

https://www.mql5.com/ru/forum/320395/page6#comment_12910394

und unter seinem Beitrag in diesem Thema