EA-Setka-2/framework/common/global_var.mqh

78 lines
4.7 KiB
MQL5
Raw Permalink Normal View History

2025-05-30 14:50:44 +02:00
<EFBFBD><EFBFBD>//+------------------------------------------------------------------+
//| ProjectName |
//| Copyright 2020, CompanyName |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
#ifndef GLOBAL_VAR_MQH
#define GLOBAL_VAR_MQH
#define GLOBAL_VAR_PREFIX "STK"
/*
08<5=>20=85 3;>10;L=KE ?5@5<5==KE:
[@5D8:A]_[0@0]_[M468:]_[0?@02;5=85=S\B]_[08<5=>20=85 ?5@5<5==>9]
*/
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class tool_global_var
{
public:
static string _prefix_global;
public:
void init();
void deinit();
static string global_prefix()
{
str_builder b;
b.append(GLOBAL_VAR_PREFIX);
b.append("_");
b.append(Symbol());
b.append(itos(MagicNumber));
return b.to_str();
}
static void delete_all(const uchar postfix=0)
{
GlobalVariablesDeleteAll(prepare_var_name("",postfix),layer::time_local());
}
static bool set(const string name, double value,uchar postfix=0)
{
return (GlobalVariableSet(prepare_var_name(name,postfix), value)!=0);
}
static bool get(const string name, double& value, uchar postfix=0)
{
if(!GlobalVariableCheck(prepare_var_name(name,postfix)))
return false;
value=GlobalVariableGet(prepare_var_name(name,postfix));
return true;
}
static bool del(const string name,uchar postfix=0)
{
return GlobalVariableDel(prepare_var_name(name,postfix));
}
static string prepare_var_name(const string name,const uchar postfix)
{
return _prefix_global+((postfix!=0)?CharToString(postfix):"")+"_"+name;
}
static string generate_hash_var_name(const string name)
{
return ext_string::get_hash(name,CRYPT_HASH_MD5);
}
};
string tool_global_var::_prefix_global=tool_global_var::global_prefix();
#endif
//+------------------------------------------------------------------+