Adwizard/Optimization/OptimizationTask.mqh
2025-04-11 13:28:40 +03:00

61 lines
5.3 KiB
MQL5

//+------------------------------------------------------------------+
//| OptimizationTask.mqh |
//| Copyright 2025, Yuriy Bykov |
//| https://www.mql5.com/ru/users/antekov |
//+------------------------------------------------------------------+
#property copyright "Copyright 2025, Yuriy Bykov"
#property link "https://www.mql5.com/ru/articles/17328"
#property version "1.00"
//#include <antekov/Advisor/Database/Database.mqh>
class COptimizationJob;
#include "OptimizationJob.mqh"
//+------------------------------------------------------------------+
//| Класс для задачи оптимизации |
//+------------------------------------------------------------------+
class COptimizationTask {
public:
ulong id_task; // ID задачи
ulong id_job; // ID работы
int optimization; // Критерий оптимизации
string status; // Статус задачи
COptimizationJob* job; // Работа, для которй будет запускаться данная задача
// Конструктор
COptimizationTask(ulong p_taskId = 0, COptimizationJob* p_job = NULL,
int p_optimization = 6,
string p_status = "Done");
// Создание задачи в базе данных
void Insert();
};
//+------------------------------------------------------------------+
//| Конструктор |
//+------------------------------------------------------------------+
COptimizationTask::COptimizationTask(ulong p_taskId = 0,
COptimizationJob* p_job = NULL,
int p_optimization = 6,
string p_status = "Done") :
id_task(p_taskId),
job(p_job),
id_job(!!p_job ? p_job.id_job : 0),
optimization(p_optimization),
status(p_status) {}
//+------------------------------------------------------------------+
//| Создание задачи в базе данных |
//+------------------------------------------------------------------+
void COptimizationTask::Insert() {
string query = StringFormat("INSERT INTO tasks "
" VALUES (NULL,%I64u,%d,NULL,NULL,'%s');",
id_job, optimization, status);
id_task = DB::Insert(query);
PrintFormat(__FUNCTION__" | %s -> %I64u", query, id_task);
}
//+------------------------------------------------------------------+