Timestamp in Set-File?

 

Hi,

mein Problem: ich möchte sicherstellen, daß bei einem EA das richtige/neueste Set-File verwendet wird.
Dazu nutze ich aktuell eine Input-Variable, deren Wert ich via EA auf dem Chart anzeige. Leider muß ich den Wert der Variable manuell pflegen, da die programmatische Änderung einer Input-Variablen nicht zulässig ist.
Gibt es noch andere Möglichkeiten einen Zeitstempel im Set-File zu führen, oder weiß jemand eine elegantere Lösung?


VG

 
Kopier die Input-Variable in eine globale Variable, die dann in OnInit() aktualisiert wird.
 
Carl Schreiber:
Kopier die Input-Variable in eine globale Variable, die dann in OnInit() aktualisiert wird.

Mein Ziel wäre, den (automatisch aktualisierten) Zeitstempel im Set-File zu haben. Dazu müsste ich dann ja wieder die Input-Variable modifizieren, was nicht programmatisch geht.
Den Wert in einer anderen Variable zu haben nützt mir dbzgl. nicht.


Beispiel:

-Ich ermittle via Test neue Parameter und speichere diesen Parametersatz via Kontextmenü (Reiter "Eingaben") als Set-File.

-Beim Einlesen in den EA (z.B. auf einem anderen Rechner) wird dann dieser Zeitstempel unveränderlich gelesen und angezeigt.


Wenn diese Input-Variable programmatisch änderbar wäre, überhaupt kein Problem...

 
liju1970:

Mein Ziel wäre, den (automatisch aktualisierten) Zeitstempel im Set-File zu haben. Dazu müsste ich dann ja wieder die Input-Variable modifizieren, was nicht programmatisch geht.
Den Wert in einer anderen Variable zu haben nützt mir dbzgl. nicht.


Beispiel:

-Ich ermittle via Test neue Parameter und speichere diesen Parametersatz via Kontextmenü (Reiter "Eingaben") als Set-File.

-Beim Einlesen in den EA (z.B. auf einem anderen Rechner) wird dann dieser Zeitstempel unveränderlich gelesen und angezeigt.


Wenn diese Input-Variable programmatisch änderbar wäre, überhaupt kein Problem...

Du musst die Variable ja nicht als Input Variable definieren, dann kannst Du diese programmtechnisch verändern

 
amando:

Du musst die Variable ja nicht als Input Variable definieren, dann kannst Du diese programmtechnisch verändern

Ich glaube, wir reden aneinander vorbei ;-)

Ich möchte den Zeitstempel in dem Set-File haben. Und darin werden nur Variablen des Typs "Input" und "SInput" gespeichert - richtig?

 
liju1970:

Hi,

mein Problem: ich möchte sicherstellen, daß bei einem EA das richtige/neueste Set-File verwendet wird.
Dazu nutze ich aktuell eine Input-Variable, deren Wert ich via EA auf dem Chart anzeige. Leider muß ich den Wert der Variable manuell pflegen, da die programmatische Änderung einer Input-Variablen nicht zulässig ist.
Gibt es noch andere Möglichkeiten einen Zeitstempel im Set-File zu führen, oder weiß jemand eine elegantere Lösung?


VG

Codiere eine Seriennummer und dann den Zeitstempel in den Namen des .set Files.


EA_SuperGoldEsel_VERSION_112_TIMEDATE_2020_11_13_20_04_10.set

 
Christian:

Codiere eine Seriennummer und dann den Zeitstempel in den Namen des .set Files.


EA_SuperGoldEsel_VERSION_112_TIMEDATE_2020_11_13_20_04_10.set

Das wäre eine Alternative, aber - wenn dies nicht via Pattern im Metatrader automatisierbar ist - genauso fehleranfällig wie meine aktuelle Variante, bei welcher ich oft vergesse, den Wert des Zeitstempels (Input-Variable) anzupassen.

Mein Ordnungssystem (Ordnerstruktur mit Zeitstempel) der Set-Files ist schon zweckmäßig, nur möchte ich eben im EA/Chart auf Anhieb sehen, ob ich auch das richtige Set-File geladen habe.

 
liju1970:

Das wäre eine Alternative, aber - wenn dies nicht via Pattern im Metatrader automatisierbar ist - genauso fehleranfällig wie meine aktuelle Variante, bei welcher ich oft vergesse, den Wert des Zeitstempels (Input-Variable) anzupassen.

Mein Ordnungssystem (Ordnerstruktur mit Zeitstempel) der Set-Files ist schon zweckmäßig, nur möchte ich eben im EA/Chart auf Anhieb sehen, ob ich auch das richtige Set-File geladen habe.

Also jetzt versteh ich das nicht mehr. Wenn du eh eine systematik beim ablegen hast, brauchst ja nur schauen, wie die Datei heißt und dann die richtige auslesen

 
liju1970:

Das wäre eine Alternative, aber - wenn dies nicht via Pattern im Metatrader automatisierbar ist - genauso fehleranfällig wie meine aktuelle Variante, bei welcher ich oft vergesse, den Wert des Zeitstempels (Input-Variable) anzupassen.

Mein Ordnungssystem (Ordnerstruktur mit Zeitstempel) der Set-Files ist schon zweckmäßig, nur möchte ich eben im EA/Chart auf Anhieb sehen, ob ich auch das richtige Set-File geladen habe.

https://www.mql5.com/de/articles/2432

https://www.mql5.com/de/code/15242

Reguläre Ausdrücke für Trader
Reguläre Ausdrücke für Trader
  • www.mql5.com
Reguläre Ausdrücke (eng.  regular expressions ) stellen ein besonderes Werkzeug, eine Sprache für die Textverarbeitung nach einem gegebenen Muster dar. Dieses Muster oder ein Pattern, hat auch andere Namen - eine Schablone oder ein regulärer Ausdruck. Die Syntax der regulären Ausdrücke wird durch Regeln und Meta-Zeichen definiert.  Bei der...
 
amando:

Also jetzt versteh ich das nicht mehr. Wenn du eh eine systematik beim ablegen hast, brauchst ja nur schauen, wie die Datei heißt und dann die richtige auslesen

Yepp, ich merke, daß mich keiner versteht :-/

Nochmal kurz zusammengefasst:

-ich möchte einen automatisierten Zeitstempel in den Set-Files

-die Set-Files erzeuge ich aus dem Metatrader (Strategietester) heraus. Somit sollte der Zeitstempel das Erstellungsdatum widerspiegeln

-die Set-Files habe ich vernünftig geordnet

-um aber den Überblick zu behalten und zur Kontrolle, wäre es schön, wenn ich auf einen Blick auf den Chart sehen könnte, welches Set-File ich zuletzt geladen habe (ich habe viele Charts und EA's, deshalb ist es inzwischen stressig/unübersichtlich)

-meine aktuelle Variante via Input-Variable, in welcher ein Zeitstempel gespeichert ist, macht eigentlich genau das. NUR, daß ich diesen Wert immer manuell aktualisieren muß, bevor ich ein Set-File speichere.

-die Alternative über den Namen des Set-Files würde mir hier nur helfen, wenn im Metatrader (wie bei manch anderer Software) hinterlegt werden könnte, daß ein Set-File automatisch z.B. den Namen nach dem Muster "<EA-Name>_<Index>_<DateTime>.set" generiert bekommt.

Ergänzung:

-es gibt zwar einen generierten Zeitstempel im Set-File (z.B. "; saved on 2020.11.13 18:44:32"), allerdings kann ich diesen nach dem Einlesen des Set-Files nirgendwo sehen. Deshalb meine Krücke über die Input-Variable. Sicherlich könnte ich das System mit den Input-Variablen komplett umgehen und mit eigener Programmlogik das Set-File parsen, aber das ist dann doch wie mit "Kanonen auf Spatzen"...

Vielleicht ist mein Anliegen jetzt klarer...

Wie teste ich einen Handelsroboter vor dem Kauf
Wie teste ich einen Handelsroboter vor dem Kauf
  • www.mql5.com
Der Kauf eines Handelsroboters am MQL5 Markt hat bestimmte Vorzüge gegenüber ähnlichen Möglichkeiten - ein automatisiertes System kann direkt im MetaTrader5-Terminal getestet werden. Vor dem Kauf kann und soll ein Expert Advisor sorgfältig in allen ungünstigen Modi im eingebauten Strategietester ausgeführt werden, um das System komplett zu...
 
liju1970:

-die Alternative über den Namen des Set-Files würde mir hier nur helfen, wenn im Metatrader (wie bei manch anderer Software) hinterlegt werden könnte, daß ein Set-File automatisch z.B. den Namen nach dem Muster "<EA-Name>_<Index>_<DateTime>.set" generiert bekommt.


Vielleicht ist mein Anliegen jetzt klarer...

Ein .set File ist doch nur ein Textfile


Wo ist das Problem?

https://www.mql5.com/en/articles/7538


https://www.mql5.com/de/articles/7747