//+------------------------------------------------------------------+ //| Main.mqh | //| Copyright 2026,Niquel Mendoza. | //| https://www.mql5.com/en/users/nique_372 | //+------------------------------------------------------------------+ #property copyright "Copyright 2026,Niquel Mendoza." #property link "https://www.mql5.com/en/users/nique_372" #property strict #ifndef MQLARTICLES_ENUMSTR_MAIN_MQH #define MQLARTICLES_ENUMSTR_MAIN_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "..\\Dict\\Main.mqh" //+------------------------------------------------------------------+ //| Registro de ENUMS a STR | //+------------------------------------------------------------------+ class CEnumReg { public: CEnumReg(void) {} ~CEnumReg(void) {} //--- static CDict s_dict; //--- template static __forceinline TEnumType GetValue(const string& v, const TEnumType default_value) { static int val; return s_dict.TryGetAs(v, val) ? TEnumType(val) : default_value; } //--- template static __forceinline TEnumType GetValueNoRef(const string v, const TEnumType default_value) { static int val; return s_dict.TryGetAs(v, val) ? TEnumType(val) : default_value; } }; //+------------------------------------------------------------------+ CDict CEnumReg::s_dict; //+------------------------------------------------------------------+ #define MQLARTICLES_ENUMREG_REG(A) const bool g_emdsf_##A = CEnumReg::s_dict.SetV(#A,int(A)); // a = "user" | v = valor del enuym #define MQLARTICLES_ENUMREG_REG_CTS(A, V) const bool g_emdsf_##V = CEnumReg::s_dict.SetV(A,int(V)); //--- WRONG_VLAUE MQLARTICLES_ENUMREG_REG(WRONG_VALUE) //--- Banderas de archivos MQLARTICLES_ENUMREG_REG(FILE_READ) MQLARTICLES_ENUMREG_REG(FILE_WRITE) MQLARTICLES_ENUMREG_REG(FILE_BIN) MQLARTICLES_ENUMREG_REG(FILE_CSV) MQLARTICLES_ENUMREG_REG(FILE_TXT) MQLARTICLES_ENUMREG_REG(FILE_UNICODE) MQLARTICLES_ENUMREG_REG(FILE_SHARE_READ) MQLARTICLES_ENUMREG_REG(FILE_SHARE_WRITE) MQLARTICLES_ENUMREG_REG(FILE_REWRITE) MQLARTICLES_ENUMREG_REG(FILE_COMMON) //--- FILE_INTEGER MQLARTICLES_ENUMREG_REG(FILE_CREATE_DATE) MQLARTICLES_ENUMREG_REG(FILE_MODIFY_DATE) MQLARTICLES_ENUMREG_REG(FILE_ACCESS_DATE) MQLARTICLES_ENUMREG_REG(FILE_SIZE) MQLARTICLES_ENUMREG_REG(FILE_POSITION) MQLARTICLES_ENUMREG_REG(FILE_END) MQLARTICLES_ENUMREG_REG(FILE_LINE_END) MQLARTICLES_ENUMREG_REG(FILE_IS_COMMON) MQLARTICLES_ENUMREG_REG(FILE_IS_TEXT) MQLARTICLES_ENUMREG_REG(FILE_IS_BINARY) MQLARTICLES_ENUMREG_REG(FILE_IS_CSV) MQLARTICLES_ENUMREG_REG(FILE_IS_ANSI) MQLARTICLES_ENUMREG_REG(FILE_IS_READABLE) MQLARTICLES_ENUMREG_REG(FILE_IS_WRITABLE) //--- PERIOD MQLARTICLES_ENUMREG_REG(_Period) // period current no esta soporta en su lugar _Period MQLARTICLES_ENUMREG_REG(PERIOD_M1) MQLARTICLES_ENUMREG_REG(PERIOD_M2) MQLARTICLES_ENUMREG_REG(PERIOD_M3) MQLARTICLES_ENUMREG_REG(PERIOD_M4) MQLARTICLES_ENUMREG_REG(PERIOD_M5) MQLARTICLES_ENUMREG_REG(PERIOD_M6) MQLARTICLES_ENUMREG_REG(PERIOD_M10) MQLARTICLES_ENUMREG_REG(PERIOD_M12) MQLARTICLES_ENUMREG_REG(PERIOD_M15) MQLARTICLES_ENUMREG_REG(PERIOD_M20) MQLARTICLES_ENUMREG_REG(PERIOD_M30) MQLARTICLES_ENUMREG_REG(PERIOD_H1) MQLARTICLES_ENUMREG_REG(PERIOD_H2) MQLARTICLES_ENUMREG_REG(PERIOD_H3) MQLARTICLES_ENUMREG_REG(PERIOD_H4) MQLARTICLES_ENUMREG_REG(PERIOD_H6) MQLARTICLES_ENUMREG_REG(PERIOD_H8) MQLARTICLES_ENUMREG_REG(PERIOD_H12) MQLARTICLES_ENUMREG_REG(PERIOD_D1) MQLARTICLES_ENUMREG_REG(PERIOD_W1) MQLARTICLES_ENUMREG_REG(PERIOD_MN1) //--- Type MQLARTICLES_ENUMREG_REG(TYPE_BOOL) MQLARTICLES_ENUMREG_REG(TYPE_CHAR) MQLARTICLES_ENUMREG_REG(TYPE_UCHAR) MQLARTICLES_ENUMREG_REG(TYPE_SHORT) MQLARTICLES_ENUMREG_REG(TYPE_USHORT) MQLARTICLES_ENUMREG_REG(TYPE_COLOR) MQLARTICLES_ENUMREG_REG(TYPE_INT) MQLARTICLES_ENUMREG_REG(TYPE_UINT) MQLARTICLES_ENUMREG_REG(TYPE_DATETIME) MQLARTICLES_ENUMREG_REG(TYPE_LONG) MQLARTICLES_ENUMREG_REG(TYPE_ULONG) MQLARTICLES_ENUMREG_REG(TYPE_FLOAT) MQLARTICLES_ENUMREG_REG(TYPE_DOUBLE) MQLARTICLES_ENUMREG_REG(TYPE_STRING) //+------------------------------------------------------------------+ #endif // MQLARTICLES_ENUMSTR_MAIN_MQH