125 líneas
4,4 KiB
MQL5
125 líneas
4,4 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| 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 <typename TEnumType>
|
|
static __forceinline TEnumType GetValue(const string& v, const TEnumType default_value)
|
|
{
|
|
static int val;
|
|
return s_dict.TryGetAs<int>(v, val) ? TEnumType(val) : default_value;
|
|
}
|
|
|
|
//---
|
|
template <typename TEnumType>
|
|
static __forceinline TEnumType GetValueNoRef(const string v, const TEnumType default_value)
|
|
{
|
|
static int val;
|
|
return s_dict.TryGetAs<int>(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
|