//+------------------------------------------------------------------+ //| AiDataTaskRunnerByLeo.mq5 | //| 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 version "1.00" #property description "Automate data generation and AI model training through a simple, easy-to-use GUI." //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "Backend\\Main.mqh" #define EXPERT_TELEGRAM_PATH "Experts\\Shared Projects\\LLmAgentsByLeo\\Src\\Ext\\Tlg\\EA.ex5" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ sinput group "-- Panel folder --" input ENUM_VERBOSE_LOG_LEVEL InpLogLevelPanelFronted = VERBOSE_LOG_LEVEL_ALL; // Log levels input string InpGeneralBaseFolder = "AiDataTaskRunner\\"; // Folder for panel files input bool InpGeneralCommonFolder = true; // In common folder ? sinput group "-- Generation --" input ENUM_VERBOSE_LOG_LEVEL InpLogLevelPanelBackend = VERBOSE_LOG_LEVEL_ALL; // Log levels input bool InpBackendCommonIn = true; // Files EA input in common folder ? input bool InpBackendCommonOut = true; // Files EA output in common folder ? sinput group "-- Telegram bot --" input string InpTelegramBotPath = EXPERT_TELEGRAM_PATH; // Put the path of telegram bot //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CProgram g_program; CExecutionTester g_backend; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- g_aidatatask_runner_config_g.base_folder = InpGeneralBaseFolder; g_aidatatask_runner_config_g.comon_flag = InpGeneralCommonFolder; //--- Configraucion // Backend g_backend.AddLogFlags(InpLogLevelPanelBackend); g_backend.Set(g_program.GetSecTaskRunerAiDGenPtr(), InpBackendCommonIn, InpBackendCommonOut); // Fronted g_program.GetSecTaskRunerAiDGenPtr().SetRunner(&g_backend); g_program.GetSecAi().Initialize(g_aidatatask_runner_config_g.base_folder, AIDATATASK_RUNNER_COMON_FLAG); g_program.GetSecAi().Chat().RunEA(InpTelegramBotPath); // Corremos el Ea //--- g_program.CreateGUI(700, 500, InpLogLevelPanelFronted); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- destroy timer g_program.OnDeinitEvent(reason); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { //--- g_program.OnTimerEvent(); } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int32_t id, const long &lparam, const double &dparam, const string &sparam) { //--- g_backend.ChartEvent(id, lparam, dparam, sparam); g_program.ChartEvent(id, lparam, dparam, sparam); } //+------------------------------------------------------------------+