forked from antekov/Adwizard
		
	
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			MQL5
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			2.7 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);
 | 
						|
}
 | 
						|
//+------------------------------------------------------------------+
 |