주시
1
0
포크
이미 NN_in_Trading을(를) 포크했습니다
0
원본 프로젝트 dng/NN_in_Trading
NN_in_Trading/Experts/D2Skill/StudyForecast.mq5
2026-09-29 18:12:11 +03:00
59 라인
EOL 없음
2.9 KiB
MQL5
//+------------------------------------------------------------------+
//| StudyForecast.mq5 |
//| Copyright 2026, DNG |
//| https://www.mql5.com/ru/users/dng |
//+------------------------------------------------------------------+
#property copyright "Copyright 2026, DNG"
#property link "https://www.mql5.com/ru/users/dng"
#property version "1.00"
#property strict
#property description "Харнесс обучения прогнозного блока D2."
#property description "Обучает модель на заданном историческом интервале и проверяет восстановление чекпоинта."
#property description "Только для тестов; ордера не выставляет."
//---
#include "Trajectory.mqh"
//---
input group "---- Forecast training ----"
input datetime InpStart = D'2024.01.01'; //Training period start
input datetime InpEnd = D'2026.01.01'; //Training period end
input int InpEpochs = 100; //Training epochs
//---
input group "---- Forecast recovery smoke ----"
input bool InpRecoverySmoke = false; //Run recovery smoke
input uint InpRecoverySmokeBatches = 2000; //Recovery smoke batches
input uint InpRecoverySmokeAge = 512; //Recovery inactive age
//---
datetime Start;
datetime End;
int Epochs;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit(void)
{
Start = InpStart;
End = InpEnd;
Epochs = InpEpochs;
if(Start >= End || Epochs <= 0 ||
!D2SkillConfigureForecastRun(InpRecoverySmoke, InpRecoverySmokeBatches,
InpRecoverySmokeAge))
return(INIT_PARAMETERS_INCORRECT);
return(CreateD2SkillForecastStudy() ? INIT_SUCCEEDED : INIT_FAILED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
ReleaseD2SkillForecastStudy(reason);
}
//+------------------------------------------------------------------+
//| Chart event callback |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam,
const string &sparam)
{
if(id == 1001)
TrainD2SkillForecast();
}
//+------------------------------------------------------------------+