//+------------------------------------------------------------------+ //| Base.mqh | //| Copyright 2026, Niquel Mendoza | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza" #property link "https://www.mql5.com" #property strict #ifndef MQLARITCLES_UTILS_TFI_BASE_MQH #define MQLARITCLES_UTILS_TFI_BASE_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "Main.mqh" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ namespace TSN { __forceinline char MqlArticlesTfiIdx(ENUM_TIMEFRAMES v) { if(v == PERIOD_CURRENT) v = _Period; ulong h = ((ulong)v ^ g_mqlarticles_tfi_out_seeds[int(v & MQLARTICLES_TFI_BUCKETS_SIZE_L)]) * 0x9E3779B97F4A7C15; h ^= h >> 32; return char(h & MQLARTICLES_TFI_FINAL_TSIZE_L); } __forceinline char MqlArticlesTfiIdxNoR(const ENUM_TIMEFRAMES v) { ulong h = ((ulong)v ^ g_mqlarticles_tfi_out_seeds[int(v & MQLARTICLES_TFI_BUCKETS_SIZE_L)]) * 0x9E3779B97F4A7C15; h ^= h >> 32; return char(h & MQLARTICLES_TFI_FINAL_TSIZE_L); } } #endif // MQLARITCLES_UTILS_TFI_BASE_MQH