54 lines
4.1 KiB
MQL5
54 lines
4.1 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| Optimization.mqh |
|
|
//| Copyright 2024, Yuriy Bykov |
|
|
//| https://www.mql5.com/ru/users/antekov |
|
|
//+------------------------------------------------------------------+
|
|
#property copyright "Copyright 2024, Yuriy Bykov"
|
|
#property link "https://www.mql5.com/ru/users/antekov"
|
|
#property description "Советник для автоматической оптимизации проектов"
|
|
|
|
#property version "1.05"
|
|
|
|
#include "../Optimization/Optimizer.mqh"
|
|
|
|
sinput string fileName_
|
|
= "article.17328.db.sqlite"; // - Файл с основной базой данных
|
|
sinput string pythonPath_
|
|
= "C:\\Python\\Python312\\python.exe"; // - Путь к интерпретатору Python
|
|
|
|
COptimizer *optimizer; // Указатель на объект оптимизатора
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| Expert initialization function |
|
|
//+------------------------------------------------------------------+
|
|
int OnInit() {
|
|
// Создаём оптимизатор
|
|
optimizer = new COptimizer(fileName_, pythonPath_);
|
|
|
|
// Создаём таймер и запускаем его обработчик
|
|
EventSetTimer(20);
|
|
OnTimer();
|
|
|
|
return(INIT_SUCCEEDED);
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| Expert timer function |
|
|
//+------------------------------------------------------------------+
|
|
void OnTimer() {
|
|
// Запускаем обработку оптимизатора
|
|
optimizer.Process();
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| Expert deinitialization function |
|
|
//+------------------------------------------------------------------+
|
|
void OnDeinit(const int reason) {
|
|
EventKillTimer();
|
|
|
|
// Удаляем оптимизатор
|
|
if(!!optimizer) {
|
|
delete optimizer;
|
|
}
|
|
}
|
|
//+------------------------------------------------------------------+
|