- Se estara trabajando en mejorar la velocidad de todas las funciones, y encapsularlas del viejo sistema legacy que se tenia
2026-08-31 20:49:50 -05:00
### Indicators
- Mejoras de velocidad en indicadores ahora el array m_data ya no es dinamico
si no de tamaño fijo qeu se decide en compilacion via template.
2026-09-03 19:55:23 -05:00
- Mejoras en pool ahora se contruye el "key" como un bit buffer nada de transofamciones y concateaciones costosas de string
2026-08-31 20:49:50 -05:00
### SetFile
- Ahora el modulo usa CHashMapFast
### Utils
- Nuevas funciones de tiempo ara calcualr offsets (Tiempo verano invierno)
2026-09-02 08:47:39 -05:00
- Modulo Random ELIMINADO.. ahora ya se creo un nuevo repo para PRNGs
- Moudlo Encrypt ELIMINADO... Fernet en CryptoByLeo lo ha remplazado (vamos poniendo orden)
- Se reordeno los folders para File, ahora se subdifivcide en File\Path
- FuncionesBases ya no incluira HashMap Nativo... antes lo hacia, ahora ya no estamos en proceso
de finalizacion de migrar HashMap nativo a CHashMapFast del ecosistema.
2026-09-02 15:54:40 -05:00
- Modulo FIle\\FolderEncrypt ahora usa Fernet
- Modulo StrMatch corregiod habia un bug con * (me falto un break;)
2026-09-03 19:55:23 -05:00
- NUEVO moduilo Bits\\ en el se implementa por ahora una clase que permite escrbiri numeros\strings\etc..
en un array ulong, como empaquetarlo en un array de bytes ulong (primera version, solo escritura)
- Nuevo archivo UView, permite tener una vista de string (+ funciones, split, subtr, materialize, find_swar, etc..) (beta)
- Nuevo foder LogFile implementa un parser del formato .log de mql5, incluye fast parser
e iteradores (beta)
- Nuevo modulo MBen util para testear y sacar metricas en una .db de un bebch (usado en JsonParserByLeo)
2026-09-04 11:33:46 -05:00
- Se volvio a correr el generador de la tabla hash perfect para converitr enum (String) a valor
ahora ya es mas rapida (Debido a que SimPHash ya no usa % para el bucket si no &)
2026-09-06 20:42:03 -05:00
- Reorganizaciones en Utils ahora algunos archivos incluyen el include exacto
ya no incluyen todo el "stack" completo de Utils.. para una cosa.. si no lo qeu hace falta, la idea es no tener muchos archivos... includes, para acelerar la compilacion ..
- Mejoras en velocidad (ahora como usamos tiny tables, logramos mejroar 10ms.. en un back de un año, no es mucho pero una mejora)
- Ahora por defecto se usa TinyTickesTable dado que ha demostrado ser mas rapida, si quiere puede seguir usando hashmap
pero implicara define "MQLARTICLES_RM_USE_HASHMAP_TICKESTABLE" dicho define.
- Se separo en otro archivo el modulo de CTIcksInfo ademas se elimino la taba de is filled y el array de posciioens y hashes ahora es de tamaño fijo meidantes defines.
- Breaking change de CAccountGestor ahora OnOpenClosePosition se divide en dos funciones OnOpenPosition y OnClosePosition
- Mejoras en RiskManagement ahora este ya no alcemna directasmnte las posiciones si no qeu solo almacena indices de g_account_positions... el array es de tamaño fidjo
- Se agregaron mas funciones a la struct CTickesInfo (3)
### Gestion de posiciones
- Todos los modulos de gestion de posiciones actulizados a las ultimas versiones.
- Se ha agregado el modulo Encrypt para encryptar y desencriptar textos y archivos
- Nuevas funciones en Files para obtener extension, etc.
2026-03-19 18:23:16 -05:00
## Version (1.32) - 19/03/2026
### RM
- Se ha agregado la compatibilidad de maximas perdidas\ganancias con otros EAs
- Se ha quitado la referncia en la funcion superated
- Nuevas funciones IsSuperates en CRiskManagementBase
#### Utils
- Manager base renovado, la clase CManagerBaseSimple, se le han agregado mas hooks, y se cambio el sistema de eventos.
2026-03-01 16:15:40 -05:00
## Version (1.31) - 1/03/2026
### Agregado
#### Strategy
- Nuevo mqh para construir el string que se usara como filtro
2026-03-01 16:16:23 -05:00
#### Indicators
- Se agrego el Adx normal y el Wilder (Main y al Pool)
2026-03-01 16:15:40 -05:00
### Modificado
#### Strategy
- en CStrategyFiter clase base esta clase requeira que se le pase como segundo parametro el nombre del filtro.
- La funcion CStrategyFilter::Name ya no es virtual pura.. no se podra sobreescribir.
2026-03-01 16:16:23 -05:00
2026-02-26 19:01:46 -05:00
## Version (1.30) - 26/02/2026
### Agregado
#### Utils
- Nueva clase CSetFile en Utils, (inlcluye test).
- Nuevo mqh ExtraFcuntions en Utils, este incluye funciones "extra", por ahora solo hay una funcion
para desactivar el autotrading (de MT5).
#### Strategy
- Se agrego una fucnion opcional OnEveryTick para CStrategyFilter (Esta se llama manaulemnte)
### Modificado
#### Strategy
- Todas las clases de Strategy haran son T osea pueden heredar de clases custom.
- Restructuracion de archivos en el Clasificador y Parser de StrategyFilters, nuevo define STRATEGY_FILTER_BASE_CLASS_MIN_PADRE para controlar el "padre"
de CStrategyFilter (por ejemplo si se requiere filtros avanzados de noticias).
- Optimizacion en CStrategyFilters... ahora cada clase debera de espeicifcar si usa Execute() o OnEveryTick() de lo contrario no se llamara a dichas
Funciones, la espricicacion se hace en el constructor.
- Se mejoro el lenguaje de CStrategyFIlters ahora soporta comparacion directa con otros filtros
- Permitir dejo de ser virtual a hora es una funcion "fija" para modificar el valor use OnEval y modifica m_value_filter, la idea con esto es
optimizacion.. para evitar la doble llamada a Permitir().. ahora se cachea el valor..
### Eliminado
#### Strategy
- Se quito la sintaxis por * (comodin), ahora se usara #group (macro) max explicado en el README de Strategy\\Drv\\SimpleFilter\\Parser
2026-02-14 17:00:45 -05:00
## Version (1.27) - 14/02/2026
### Modificado
- En todos los eventos se quito el uso de & para valores simples como datetime, int, etc.. en funciones,
asi que en vez de const TType& value, se remplazo a const TType value.
Debido a dicha modificacion todos las clases herededas de algun eventos tendran que actulizasrse (solo cambiando la firma)
Asi que no es un cambio que requiera reformar el codigo.
- AutoDelente para las funcoines "limpiadoras" ahora requiere const int reason, quedo deprecado const int& reason.
- CDiff, la clase para calcular una distancia.. se "expande", dado que ahora no solo soporta puntos y atr, si no que teoricamente soportara tipos custom, dado
que el nuevo diseño de esta clase se enfocara en herencia, (anteriormente era una sola clase con los unicos dos tipos), debido a esto
la funcion CreateDiffInstance quedo deprecada, ya fue eliminada, solo esta disponible CreateDiffPtr.
2026-02-01 16:17:55 -05:00
## Version (1.26) - 1/02/2026
2026-02-01 16:20:01 -05:00
### Modificado
- En riskmananget en la funcion para setear el lote este se eliminaba antes de ser removido como logger, lo que causaba
que no se elimine dejando un puntero "colgado" en el array.. que podria causar un INVALID_POINTER
- Cambio en la deinicializacion global de eventos.
### Agregado
- Añadidas las funcion IsActive a CEventsBasic y AccountStatus, esta funcion verifica si las clases estan activas.. util al momento de "desuscribirse" de dichas clases.
### Removido
- Anteriormente casi todas las clases que usaban eventos de CAccountGestor o CAllClassEventsBasic tenian como parametro "is global instance" o similares, en esta nueva version se eliminaron ese parametro manteniendo la compatibilidad con la version 1.15, dado que ya no es necesario.. esto se debe que en el destructor de cada clase cada una consulta a su "provedor de eventos" si este esta activo, siendo que si es cierto, entonces se desuscribe, anteriormente no era asi.. cada clase verifica si era una instancia global y recien ahi se desuscribia.
- Se elimino la ocultaicon de funciones que hacia la clase CAllClassEventsBasic para "sobre escribir" las funciones AddLogger y RemoveLogger, ahora todo esta limpio.
- Cambio completo de arquitectura de eventos, pasamos de que cada clase envie eventos a sus "hijos" a que una sola clase global maneje los eventos..
### Agregado
- Se agrego la clase CAutoPtrCleaner y su instancia global g_ea_cleaner en el archivo Utils\\FA\\AutoDelete.mqh, esta instancia global facilita la autoeliminacion de punteros de cualquier tipo.
- Se agrego la clase CEventsBasic encargada de los eventos basicos como OnNewDay, Mon, Week.
- Se amplio la linea de herencia ahora las clases que requieran de eventos [OnNewDay, Mon, Week] deberan de heredar de CAllClassEventsBasic.
- Se agrego la clase CEmptyClass.
- Ahora CAccountGestor hereda de CAllClassEventsBasic.
- Ahora en CRiskManagement, como en todas las clases que heredan de CAllClassEventsBasic se debe de especificar si la clase se instancia globalmente.. o forma parte de ella (Esto lo hacen auto las clases).
- Se agregaron nuevos tipos de maximas ganancias y perdidas (Maxima ganancia, maxima gananica desde el bajo, y maxima ganancia desde el alto).
### Modificado
- Para que cada clase reciba los eventos se debera de regisrar (vs el sistema de add antigo) para cada evento..que se desee recibir en las clases correspondientes.
- CLossProfit, se divide en varias clases (ver el README de RM\\LossProfit).