Globale Variablen versus FileWrite

 

Ich habe etwa 8-10 Variablen, die nicht ohne erheblichen Aufwand im laufenden Betrieb neu berechnet werden können (sie stammen aus iCustom-Aufrufen, die möglicherweise schon lange zurückliegen).

In Anbetracht der Tatsache, dass ich normalerweise 5-10 Instanzen des EA pro Terminal ausführe und ich ein gewisses Maß an Persistenz schaffen möchte, welche ist meine bessere Option für Zuverlässigkeit und Geschwindigkeit:

1. Globale Variablen; oder

2. FileWrite

Ich bin sicher, dass ich mit beiden Systemen herausfinden kann, was ich tun muss, aber ich bin mir nicht sicher, welcher Weg der beste ist.

Für jeden Hinweis wäre ich sehr dankbar.

 
toast:

Ich habe etwa 8-10 Variablen, die nicht ohne erheblichen Aufwand im laufenden Betrieb neu berechnet werden können (sie stammen aus iCustom-Aufrufen, die möglicherweise schon lange zurückliegen).

In Anbetracht der Tatsache, dass ich normalerweise 5-10 Instanzen des EA pro Terminal ausführe und ich ein gewisses Maß an Persistenz schaffen möchte, welche ist meine bessere Option für Zuverlässigkeit und Geschwindigkeit:

1. Globale Variablen; oder

2. FileWrite

Ich bin sicher, dass ich mit beiden Systemen herausfinden kann, was ich tun muss, aber ich bin mir nicht sicher, welcher Weg der beste ist.

Für jeden Hinweis wäre ich sehr dankbar.

Globale Variablen des Terminals sind einfacher zu benutzen, man kann sie auch manuell im Terminal ändern. Aber das Schreiben in eine Datei ist flexibler.
 
angevoyageur:
Das Schreiben in eine Datei ist jedoch flexibler.

aber zuverlässiger
 

Globale Variablen können zuverlässig sein, wenn Sie Ihr ea richtig programmieren. Dasselbe gilt für das Schreiben in eine Datei.

Nichts ist zuverlässig, wenn Ihr Ea-Code nicht richtig gemacht wird, um globale Variablen oder das Schreiben in eine Datei zu behandeln.

Globale Variablen oder das Schreiben in eine Datei sind eigentlich nur Geschmackssache.

 

Sie haben Recht!!!

ich erinnere mich an die Zeiten (vor ein paar Jahren), als die globalen Variablen nur beim Schließen des Terminals in einer Datei gespeichert wurden

was bedeutet, dass sie bei einem Absturz des Terminals/Computers/Stroms nicht gespeichert wurden

es scheint, dass sich die Dinge seitdem geändert haben und jetzt werden sie sofort in einer Datei gespeichert

Danke für die Info

 
Vielen Dank für die prompten Antworten - schnell und informativ, wie immer!
 
qjol:

Sie haben Recht!!!

ich erinnere mich an die Zeiten (vor ein paar Jahren), als die globalen Variablen nur beim Schließen des Terminals in einer Datei gespeichert wurden

was bedeutet, dass sie bei einem Absturz des Terminals/Computers/Stroms nicht gespeichert wurden

es scheint, dass sich die Dinge seitdem geändert haben und jetzt werden sie sofort in einer Datei gespeichert

Danke für die Info


GV wird in diesen Tagen immer zuverlässiger.

Schön, nicht wahr? Ich hoffe, MetaQuotes kann es noch schöner machen :)

 

Wenn ich euch mit einer weiteren Frage belästigen darf:

Ist die Verwendung von ChartID() eine zuverlässige Methode zur Benennung von globalen Variablen? Ist sie immer eindeutig und ändert sich nicht, sobald sie einem bestimmten Diagramm zugewiesen ist?

Ich dachte an eine Kombination aus magischer Zahl und Symbol(), aber meine Sorge ist, dass jemand die magische Zahl bei aktiven Trades ändert. Wenn das passiert, werden die GVs, die für die Verwaltung der Trades verwendet werden, nicht korrekt abgerufen.


(Bitte beachten Sie: Ich benutze GVs nicht in verschiedenen Charts/EAs, so dass ich mir keine Sorgen machen muss, dass ein anderer EA die GVs abrufen kann. Ich verwende sie lediglich für die Persistenz)

 
toast:

Wenn ich euch mit einer weiteren Frage belästigen darf:

Ist die Verwendung von ChartID() eine zuverlässige Methode zur Benennung von globalen Variablen? Ist sie immer eindeutig und ändert sich nicht mehr, sobald sie einem bestimmten Diagramm zugewiesen ist?

Ich dachte an eine Kombination aus magischer Zahl und Symbol(), aber meine Sorge ist, dass jemand die magische Zahl bei aktiven Trades ändert. Wenn das passiert, werden die GVs, die für die Verwaltung der Trades verwendet werden, nicht korrekt abgerufen.


(Bitte beachten Sie: Ich benutze GVs nicht in verschiedenen Charts/EAs, so dass ich mir keine Sorgen machen muss, dass ein anderer EA die GVs abrufen kann. Ich verwende sie lediglich für die Persistenz)


Die magische Zahl kann nicht mehr geändert werden, wenn sie einmal in den Aufträgen steht (in der Schwebe oder auf dem Markt).
 

Danke für die Antwort.

Ja, ich stimme zu.

Aber das Problem wird wie folgt aussehen:

Es wird ein Handel mit der magischen Zahl 123 eröffnet.

Bei der Verwaltung dieses Handels sucht der EA nach GV mit dem Namen 123xxxxxx

Nun ändert der Benutzer die EA-Einstellung für die magische Zahl auf 789 , während der Handel noch aktiv ist.

Jetzt sucht der EA also nach GV mit dem Namen 789xxxxx (den es nicht gibt).

Im Wesentlichen suche ich nach einer GV-Namenskonvention, die nicht durch Benutzereingaben geändert werden kann.

 
toast:

Danke für die Antwort.

Ja, ich stimme zu.

Aber das Problem wird wie folgt aussehen:

Es wird ein Handel mit der magischen Zahl 123 eröffnet.

Bei der Verwaltung dieses Handels sucht der EA nach GV mit dem Namen 123xxxxxx

Nun ändert der Benutzer die EA-Einstellung für die magische Zahl auf 789 , während der Handel noch aktiv ist.

Jetzt sucht der EA also nach GV mit dem Namen 789xxxxx (den es nicht gibt).

Im Wesentlichen suche ich nach einer GV-Namenskonvention, die nicht durch Benutzereingaben geändert werden kann.

Erlauben Sie nicht, die magische Zahl zu ändern, wenn es noch offene Geschäfte mit der alten magischen Zahl gibt.