Globale Variablen versus FileWrite - Seite 3

 

@deysmacro

Aber ich habe immer noch Schwierigkeiten zu sehen Grund warum die Leute ChartID() nicht verwenden wollen? Ändert sie sich manchmal? Dupliziert sie sich manchmal selbst?

Warum sollte ich sonst das Rad neu erfinden, indem ich Codezeilen anstelle von DoubleToStr(ChartID(),0) hinzufüge?

 

@angevoyageur

Nochmals vielen Dank für die Antwort.

Ich entschuldige mich dafür, dass ich mich unklar ausgedrückt habe.

Ich weiß, was Magic numbers sind, und ich weiß, was ChartID() macht.

Ich versuche nur, den besten Weg zu finden, einen eindeutigen GV-Namen zu erstellen, der nicht geändert wird, nach einem Neustart des Terminals wiederhergestellt werden kann und keiner anderen EA-Instanz bekannt sein muss.

ChartID() scheint die Lösung zu sein, aber die Leute schlagen weitaus kompliziertere Wege vor, dies zu tun. Deshalb bin ich verwirrt.

 
toast:

Nochmals vielen Dank für die Antwort.

Ich entschuldige mich dafür, dass ich mich unklar ausgedrückt habe.

Ich weiß, was Magic numbers sind, und ich weiß, was ChartID() tut.

Ich versuche nur, den besten Weg zu finden, einen eindeutigen GV-Namen zu erstellen, der nicht geändert wird, nach einem Neustart des Terminals wiederhergestellt werden kann und keiner anderen EA-Instanz bekannt sein muss.

ChartID() scheint die Lösung zu sein, aber die Leute schlagen weitaus kompliziertere Wege vor, dies zu tun. Das ist der Grund, warum ich verwirrt bin.


Einen Namensgenerator für GV haben und dann prüfen, ob der eindeutige GV-Name existiert oder nicht. Das ist alles.

Wenn Sie ChartID() verwenden, haben Sie keine Kontrolle, aber wenn Sie den Namensgenerator verwenden, haben Sie die Kontrolle.

Wenn Sie immer noch der Meinung sind, dass die Verwendung von ChartID() gut ist, dann tun Sie das bitte.

Ich setze hier einen Punkt.

 

Ich danke Ihnen trotzdem für Ihre Hilfe.

Wenn ich den Namen für den GV generiere, wie würde er nach einem Neustart des Terminals wiedergefunden werden? Er müsste in einem anderen GV stehen, oder aus Benutzereingaben abgeleitet werden, die geändert werden können...

Ich denke, ich werde mich für ChartID() entscheiden.

All diese anderen Optionen scheinen Code um seiner selbst willen zu schreiben.

In Ermangelung eines wirklichen Grund, warum ChartID() eine schlechte Idee ist, werde ich mit ihm bleiben.

 
toast:

Ich danke Ihnen trotzdem für Ihre Hilfe.

Wenn ich den Namen für den GV generiere, wie würde er nach einem Neustart des Terminals wiedergefunden werden? Er müsste in einem anderen GV stehen, oder aus Benutzereingaben abgeleitet werden, die geändert werden können...

Ich denke, ich werde mich für ChartID() entscheiden.

All diese anderen Optionen scheinen Code um seiner selbst willen zu schreiben.

Da es keinen wirklichen Grund gibt, warum ChartID() eine schlechte Idee ist, werde ich dabei bleiben.

ChartID() scheint eine gute Idee zu sein, um einen eindeutigen Namen zu erstellen, man muss nur sicherstellen, dass diese ID über MT4-Neustarts hinweg bestehen bleibt. Ich habe das nie überprüft.

Lassen Sie es uns wissen.

 
angevoyageur:

ChartID() scheint eine gute Idee zu sein, um einen eindeutigen Namen zu erstellen, man muss nur sicherstellen, dass diese ID über MT4-Neustarts hinweg erhalten bleibt. Ich habe das nie überprüft.

Lassen Sie es uns wissen.



Ja, das ist sie. Ich habe das heute früh überprüft.

Erster Durchlauf:

Nach dem Neustart des Terminals:

 
Wenn das Diagramm geschlossen wurde und wieder geöffnet wird, geht die vorherige ChartED() verloren.
 

Ja, wenn Sie dieses bestimmte Diagramm geschlossen haben (während der Rest des Terminals geöffnet blieb), geht die ID verloren.

Wenn jedoch das Diagramm geschlossen wird, weil das gesamte Terminal geschlossen wurde, bleibt die ID beim erneuten Öffnen des Terminals erhalten.

 

Ich würde die Kontonummer oder eine davon abgeleitete Nummer verwenden. Ich würde der ChartID nicht trauen, was ist, wenn der Benutzer MT4 neu installieren muss oder versehentlich das Chart schließt, während Geschäfte geöffnet sind. Die Nummer des Kontos, auf dem die offenen Trades des EAs liegen, ist robust.

 
SDC:

Ich würde die Kontonummer oder eine davon abgeleitete Nummer verwenden. Ich würde der ChartID nicht trauen, was ist, wenn der Benutzer MT4 neu installieren muss oder versehentlich das Chart schließt, während Geschäfte geöffnet sind. Die Nummer des Kontos, auf dem die offenen Trades des EAs liegen, ist robust.


Ich habe Toast bereits gesagt, dass er einen eindeutigen Namensgenerator erstellen soll.