From 3256ebb5c63742a34fa66db999aa6700f7810340 Mon Sep 17 00:00:00 2001 From: pietro_giacobazzi Date: Sun, 14 Jun 2026 11:47:30 +0200 Subject: [PATCH] Fix InitNeuralNet: non forza m_useNeural=true quando solo TrainMode --- .../MultiAgentTest/Core/Orchestrator.mqh | 18 +++++++++--------- MQL5/Experts/MultiAgentTest/MultiAgentTest.mq5 | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/MQL5/Experts/MultiAgentTest/Core/Orchestrator.mqh b/MQL5/Experts/MultiAgentTest/Core/Orchestrator.mqh index fd9fc5d..76ba483 100644 --- a/MQL5/Experts/MultiAgentTest/Core/Orchestrator.mqh +++ b/MQL5/Experts/MultiAgentTest/Core/Orchestrator.mqh @@ -1125,19 +1125,19 @@ UpdateHealth(actualReturn); int WinCount() const { return winCount; } // --- Neural Network Methods --- - void InitNeuralNet(int inputs, int hidden, int outputs, double dropoutRate = 0.2) { - if(m_neuralNet == NULL) { - m_neuralNet = new CNeuralNet(); - m_trainBuffer = new NNTrainBuffer(); - } - m_neuralNet.Init(inputs, hidden, outputs, 1e-4, dropoutRate); - m_useNeural = true; - } + void InitNeuralNet(int inputs, int hidden, int outputs, bool setUseNeural = false, double dropoutRate = 0.2) { + if(m_neuralNet == NULL) { + m_neuralNet = new CNeuralNet(); + m_trainBuffer = new NNTrainBuffer(); + } + m_neuralNet.Init(inputs, hidden, outputs, 1e-4, dropoutRate); + if(setUseNeural) m_useNeural = true; + } double TrainNN() { if(m_neuralNet == NULL || !m_neuralNet.IsInitialized()) { Print("TrainNN: rete non inizializzata. Inizializzo..."); - InitNeuralNet(NN_FEATURES, m_nnHidden, NN_TARGETS); + InitNeuralNet(NN_FEATURES, m_nnHidden, NN_TARGETS, true); } if(m_trainBuffer == NULL || m_trainBuffer.Count() < 3) { Print("TrainNN: campioni insufficienti (", diff --git a/MQL5/Experts/MultiAgentTest/MultiAgentTest.mq5 b/MQL5/Experts/MultiAgentTest/MultiAgentTest.mq5 index f06d7bc..df23f97 100644 --- a/MQL5/Experts/MultiAgentTest/MultiAgentTest.mq5 +++ b/MQL5/Experts/MultiAgentTest/MultiAgentTest.mq5 @@ -95,7 +95,7 @@ orchestrator.AddAgent(new RegimeDetector("Hurst", 1.0, Inp_HurstPeriod)); if(Inp_UseNeural) { Print(" NN model not found, initializing fresh network..."); } - orchestrator.InitNeuralNet(8, Inp_NNHidden, 3); + orchestrator.InitNeuralNet(8, Inp_NNHidden, 3, Inp_UseNeural); } }