2026-03-13 19:46:53 -05:00
//+------------------------------------------------------------------+
//| Def.mqh |
//| Copyright 2025, Niquel Mendoza. |
//| https://www.mql5.com/es/users/nique_372 |
//+------------------------------------------------------------------+
# property copyright " Copyright 2025, Niquel Mendoza. "
# property link " https://www.mql5.com/es/users/nique_372 "
# property strict
# ifndef AIDATATASKRUNNER_BACKEND_BASES_DEF_MQH
# define AIDATATASKRUNNER_BACKEND_BASES_DEF_MQH
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
2026-03-13 21:49:37 -05:00
//---
2026-03-14 07:39:48 -05:00
# define EXECUTION_TESTER_PATH_EA_E ( " Experts \\ Shared Projects \\ AiDataTaskRuner \\ Backend \\ Capa1 \\ Runner.ex5 " )
2026-03-13 19:46:53 -05:00
//---
2026-03-16 21:27:52 -05:00
# include <TSN\\ExtraCodes\\RunnerProtDef.mqh>
2026-03-13 21:49:37 -05:00
//---
enum ENUM_AIEXECUTOR_TASK_STATE
{
AIEXECUTOR_TASK_STATE_IN_PROCESS = 0 , // Se esta procesando
AIEXECUTOR_TASK_STATE_IN_QUEQE = 1 , // En cola
AIEXECUTOR_TASK_STATE_PENDIENTE = 2 , // Pendiente
AIEXECUTOR_TASK_STATE_FINISHED = 3 , // Listo
AIEXECUTOR_TASK_STATE_FAILED = 4 // Fallo
} ;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
2026-03-14 13:38:16 -05:00
struct TaskTester
2026-03-13 21:49:37 -05:00
{
//---
2026-03-14 13:38:16 -05:00
string symbol ; // Simbolo
string set_file ; // SetFIle
datetime start_date ; // End date
datetime end_date ; // Start date
ENUM_TIMEFRAMES timeframe ; // Timeframe
2026-03-13 21:49:37 -05:00
string symbol_folder ; // Simbolo (Para el nombre del folder)
string label ; // Etiqueta
int label_id ; // Numero de la etiqueta
ENUM_AIEXECUTOR_TASK_STATE state ; // Estado
//---
TaskTester ( )
:
2026-03-14 13:38:16 -05:00
symbol_folder ( NULL ) , label ( NULL ) , label_id ( 0 ) , state ( AIEXECUTOR_TASK_STATE_PENDIENTE ) ,
set_file ( NULL ) , symbol ( NULL ) , timeframe ( WRONG_VALUE ) , start_date ( 0 ) , end_date ( 0 )
2026-03-13 21:49:37 -05:00
{
}
//---
2026-03-14 13:38:16 -05:00
__forceinline string ToStringFile ( )
2026-03-13 21:49:37 -05:00
{
2026-03-14 16:39:04 -05:00
return StringFormat ( " %d|%s|%s|%s|%s|%s|%s|%d " ,
2026-03-13 21:49:37 -05:00
int ( timeframe ) , // [0]
symbol , // [1]
set_file , // [2]
TimeToString ( start_date ) , // [3]
TimeToString ( end_date ) , // [4]
symbol_folder , // [5]
label , // [6]
label_id ) ; // [7]
}
2026-03-13 19:46:53 -05:00
2026-03-14 13:38:16 -05:00
//---
__forceinline string ToStringToMTTester ( const long chart_id , const string & expert_path )
{
2026-03-14 16:39:04 -05:00
return StringFormat ( " %d|%s|%s|%s|%s|%I64d|%s " ,
2026-03-14 13:38:16 -05:00
int ( timeframe ) , // [0]
symbol , // [1]
set_file , // [2]
TimeToString ( start_date ) , // [3]
TimeToString ( end_date ) , // [4]
chart_id ,
expert_path ) ;
}
2026-03-13 21:49:37 -05:00
//---
void Assing ( const string & dyn_arr [ ] )
{
//---
timeframe = ENUM_TIMEFRAMES ( int ( dyn_arr [ 0 ] ) ) ;
symbol = dyn_arr [ 1 ] ;
set_file = dyn_arr [ 2 ] ;
start_date = StringToTime ( dyn_arr [ 3 ] ) ;
end_date = StringToTime ( dyn_arr [ 4 ] ) ;
2026-03-13 19:46:53 -05:00
2026-03-13 21:49:37 -05:00
//---
symbol_folder = dyn_arr [ 5 ] ;
label = dyn_arr [ 6 ] ;
label_id = int ( dyn_arr [ 7 ] ) ;
}
} ;
2026-03-13 19:46:53 -05:00
# endif // AIDATATASKRUNNER_BACKEND_BASES_DEF_MQH