#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#define GV_NAME "TestGlobalVariableTemp"
//+------------------------------------------------------------------+
//| Skript Programm Start Funktion |
//+------------------------------------------------------------------+
void OnStart()
{
double value=0; // Wir erhalten hier die Werte der globalen Variablen.
//--- wenn noch keine temporäre globale Variable des Client-Terminals vorhanden ist, dann:
//--- 1. wurde entweder das Programm noch nicht gestartet,
//--- 2. oder es gab einen Neustart des Terminals, während das Programm lief
if(!GlobalVariableCheck(GV_NAME))
{
//--- Erstellen einer neuen temporären globale Variable für das Client-Terminal
if(!GlobalVariableTemp(GV_NAME))
{
Print("GlobalVariableTemp() failed. Error ", GetLastError());
return;
}
//--- Aktuelles Datum und Uhrzeit in der globalen Variablen festlegen
if(!GlobalVariableSet(GV_NAME,(double)TimeCurrent()))
{
Print("GlobalVariableSet() failed. Error ", GetLastError());
return;
}
//--- den Wert der temporären globalen Variablen abrufen und im Journal die Zeit des ersten Programmstarts oder Terminal-Neustarts anzeigen.
if(!GlobalVariableGet(GV_NAME,value))
{
Print("GlobalVariableGet() failed. Error ", GetLastError());
return;
}
Print("First start or starting the program after rebooting the terminal at ", TimeToString((datetime)value,TIME_DATE|TIME_MINUTES|TIME_SECONDS));
}
//--- Wenn die temporäre globale Variable des Client-Terminals bereits erstellt wurde, handelt es sich um einen Programmneustart.
else
{
//--- Aktuelles Datum und Uhrzeit in der globalen Variablen festlegen
if(!GlobalVariableSet(GV_NAME,(double)TimeCurrent()))
{
Print("GlobalVariableSet() failed. Error ", GetLastError());
return;
}
//--- abrufen des Werts der temporären globalen Variablen und die Programmneustartzeit im Journal ausgeben
if(!GlobalVariableGet(GV_NAME,value))
{
Print("GlobalVariableGet() failed. Error ", GetLastError());
return;
}
Print("Restarting the program at ", TimeToString((datetime)value, TIME_DATE|TIME_MINUTES|TIME_SECONDS));
}
/*
Ergebnis beim ersten Start oder nach dem Neustart des Terminals:
First start or starting the program after rebooting the terminal at 2024.11.29 15:03:18
Das Ergebnis mehrerer aufeinanderfolgender Programmneustarts:
Restarting the program at 2024.11.29 15:03:25
Restarting the program at 2024.11.29 15:03:33
Restarting the program at 2024.11.29 15:03:45
*/
}
|