Adwizard/Optimization/OptimizationJob.mqh

70 lines
6.3 KiB
MQL5
Raw Permalink Normal View History

2025-04-11 13:28:40 +03:00
<EFBFBD><EFBFBD>//+------------------------------------------------------------------+
//| OptimizationJob.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"
//+------------------------------------------------------------------+
//| @54>?@545;5=85 :;0AA>2 |
//+------------------------------------------------------------------+
class COptimizationTask;
class COptimizationStage;
#include "OptimizationStage.mqh"
//+------------------------------------------------------------------+
//| ;0AA 4;O @01>BK >?B8<870F88 |
//+------------------------------------------------------------------+
class COptimizationJob {
public:
ulong id_job; // ID @01>BK
ulong id_stage; // ID MB0?0
string symbol; // !8<2>;
string timeframe; // "09<D@59<
string params; // 0@0<5B@K @01>BK 4;O >?B8<870B>@0
string status; // !B0BCA
COptimizationStage* stage; // -B0?, : :>B>@><C >B=>A8BAO 40==0O @01>B0
COptimizationTask* tasks[]; // 0AA82 7040G, >B=>AOI8EAO : 40==>9 @01>B5
// >=AB@C:B>@
COptimizationJob(ulong p_jobId, COptimizationStage* p_stage,
string p_symbol, string p_timeframe,
string p_params, string p_status = "Done");
// !>740=85 @01>BK 2 1075 40==KE
void Insert();
};
//+------------------------------------------------------------------+
//| >=AB@C:B>@ |
//+------------------------------------------------------------------+
COptimizationJob::COptimizationJob(ulong p_jobId,
COptimizationStage* p_stage,
string p_symbol, string p_timeframe,
string p_params, string p_status = "Done") :
id_job(p_jobId),
stage(p_stage),
id_stage(!!p_stage ? p_stage.id_stage : 0),
symbol(p_symbol),
timeframe(p_timeframe),
params(p_params),
status(p_status) {}
//+------------------------------------------------------------------+
//| !>740=85 @01>BK 2 1075 40==KE |
//+------------------------------------------------------------------+
void COptimizationJob::Insert() {
// 0?@>A =0 A>740=85 @01>BK 2B>@>3> MB0?0 4;O 40==>3> A8<2>;0 8 B09<D@59<0
string query = StringFormat("INSERT INTO jobs "
" VALUES (NULL,%I64u,'%s','%s','%s','%s');",
id_stage, symbol, timeframe, params, status);
id_job = DB::Insert(query);
PrintFormat(__FUNCTION__" | %s -> %I64u", query, id_job);
}
//+------------------------------------------------------------------+