Das könnte eine Sammlung von hilfreichen Code-Schnipseln,
und auch auch zur CodeBase auf
https://www.mql5.com/de/code eine gute Ergänzung werden.
Wer sich beteiligen will ist herzlich eingeladen, ein Administrator könnte eventuell ein neues Kapitel dazu einrichten.
Code:
bool GlobalVarGetAsBool(string aVarName, bool aDefault=false)
{
if(GlobalVariableCheck(aVarName)) // Variable vorhanden ?
return(GlobalVariableGet(aVarName)==0.0?false:true); // JA - Wert lesen und als bool übergeben
else
{ // NEIN
GlobalVariableSet(aVarName, aDefault?1.0:0.0); // Wert auf aDefault setzen
return(aDefault); // aDefault übergeben
}
}
datetime GlobalVarSetAsBool(string aVarName, bool aValue)
{
return(GlobalVariableSet(aVarName,aValue?1.0:0.0)); // Variable auf 1.0 oder 0.0 setzen
}
Das verwende ich dann so:
Code:
#define ProgName "OPA-Trader" // oder halt irgendein VariablenName zB "Hugo". Definiere ich gerne, weil ich mich mehrfach darauf beziehe.
bool trading_enabled=GlobalVarGetAsBool(ProgName, true)
Damit kann ich zB. mehrere Instanzen meines EAs steuern.
Das habe ich geschrieben, da meine EAs durchdrehten und sinnlose Positionen eröffnet haben.
So Kann ich alle (F3 zeigt die Globalvariablen) zB Ein- oder Ausschalten.