2026-05-16 16:50:33 -05:00
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//| Tables.mqh |
|
|
|
|
|
//| Copyright 2026, Niquel Mendoza. |
|
|
|
|
|
//| https://www.mql5.com/es/users/nique_372 |
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
#property copyright "Copyright 2026, Niquel Mendoza."
|
|
|
|
|
#property link "https://www.mql5.com/es/users/nique_372"
|
|
|
|
|
#property strict
|
|
|
|
|
|
|
|
|
|
#ifndef TSNTABES_SRC_TABLES_MQH
|
|
|
|
|
#define TSNTABES_SRC_TABLES_MQH
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace TSN
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
#ifdef TSNTABLE_USE_POWEXP_TABLE
|
|
|
|
|
//--- Exp
|
|
|
|
|
#define TSN_EXP_TABLE(index) MathPow(10.0, -(double)index)
|
|
|
|
|
const double g_Exp10[19] =
|
|
|
|
|
{
|
|
|
|
|
TSN_EXP_TABLE(0),
|
|
|
|
|
TSN_EXP_TABLE(1),
|
|
|
|
|
TSN_EXP_TABLE(2),
|
|
|
|
|
TSN_EXP_TABLE(3),
|
|
|
|
|
TSN_EXP_TABLE(4),
|
|
|
|
|
TSN_EXP_TABLE(5),
|
|
|
|
|
TSN_EXP_TABLE(6),
|
|
|
|
|
TSN_EXP_TABLE(7),
|
|
|
|
|
TSN_EXP_TABLE(8),
|
|
|
|
|
TSN_EXP_TABLE(9),
|
|
|
|
|
TSN_EXP_TABLE(10),
|
|
|
|
|
TSN_EXP_TABLE(11),
|
|
|
|
|
TSN_EXP_TABLE(12),
|
|
|
|
|
TSN_EXP_TABLE(13),
|
|
|
|
|
TSN_EXP_TABLE(14),
|
|
|
|
|
TSN_EXP_TABLE(15),
|
|
|
|
|
TSN_EXP_TABLE(16),
|
|
|
|
|
TSN_EXP_TABLE(17),
|
|
|
|
|
TSN_EXP_TABLE(18),
|
2026-05-16 17:25:01 -05:00
|
|
|
};
|
2026-05-16 16:50:33 -05:00
|
|
|
|
|
|
|
|
//--- Pow
|
|
|
|
|
#define TSN_EXP_POW(index) MathPow(10.0, (double)index)
|
2026-05-16 17:25:01 -05:00
|
|
|
const double g_Pow10[19] =
|
2026-05-16 16:50:33 -05:00
|
|
|
{
|
|
|
|
|
TSN_EXP_POW(0),
|
|
|
|
|
TSN_EXP_POW(1),
|
|
|
|
|
TSN_EXP_POW(2),
|
|
|
|
|
TSN_EXP_POW(3),
|
|
|
|
|
TSN_EXP_POW(4),
|
|
|
|
|
TSN_EXP_POW(5),
|
|
|
|
|
TSN_EXP_POW(6),
|
|
|
|
|
TSN_EXP_POW(7),
|
|
|
|
|
TSN_EXP_POW(8),
|
|
|
|
|
TSN_EXP_POW(9),
|
|
|
|
|
TSN_EXP_POW(10),
|
|
|
|
|
TSN_EXP_POW(11),
|
|
|
|
|
TSN_EXP_POW(12),
|
|
|
|
|
TSN_EXP_POW(13),
|
|
|
|
|
TSN_EXP_POW(14),
|
|
|
|
|
TSN_EXP_POW(15),
|
|
|
|
|
TSN_EXP_POW(16),
|
|
|
|
|
TSN_EXP_POW(17),
|
|
|
|
|
TSN_EXP_POW(18),
|
2026-05-16 17:25:01 -05:00
|
|
|
};
|
2026-05-16 16:50:33 -05:00
|
|
|
#endif // TSNTABLE_USE_POWEXP_TABLE
|
|
|
|
|
|
|
|
|
|
//---
|
|
|
|
|
#ifdef TSNTABLE_USE_HEX_TABLE
|
|
|
|
|
uchar g_arr_valid_hex_chars[103];
|
|
|
|
|
//---
|
|
|
|
|
bool InitHexValidCharArrayTable()
|
|
|
|
|
{
|
|
|
|
|
ArrayInitialize(g_arr_valid_hex_chars, 0xFF); // 0xFF = invalido
|
|
|
|
|
for(uchar c = '0'; c <= '9'; c++)
|
|
|
|
|
g_arr_valid_hex_chars[c] = c - '0';
|
|
|
|
|
for(uchar c = 'a'; c <= 'f'; c++)
|
|
|
|
|
g_arr_valid_hex_chars[c] = c - 'a' + 10;
|
|
|
|
|
for(uchar c = 'A'; c <= 'F'; c++)
|
|
|
|
|
g_arr_valid_hex_chars[c] = c - 'A' + 10;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2026-05-16 17:25:01 -05:00
|
|
|
const bool g_arr_valid_hex_chars_init = InitHexValidCharArrayTable();
|
2026-05-16 16:50:33 -05:00
|
|
|
|
|
|
|
|
#endif // TSNTABLE_USE_HEX_TABLE
|
2026-05-19 06:59:37 -05:00
|
|
|
|
|
|
|
|
//---
|
|
|
|
|
const uchar g_arr_table_true[4] =
|
|
|
|
|
{
|
|
|
|
|
't',
|
|
|
|
|
'r',
|
|
|
|
|
'u',
|
|
|
|
|
'e'
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//---
|
|
|
|
|
const uchar g_arr_table_false[5] =
|
|
|
|
|
{
|
|
|
|
|
'f',
|
|
|
|
|
'a',
|
|
|
|
|
'l',
|
|
|
|
|
's',
|
|
|
|
|
'e'
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
2026-05-16 16:50:33 -05:00
|
|
|
}
|
2026-05-19 06:59:37 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-16 16:50:33 -05:00
|
|
|
//+------------------------------------------------------------------+
|
2026-05-19 06:59:37 -05:00
|
|
|
#endif // TSNTABES_SRC_TABLES_MQH
|