Fix InitNeuralNet: non forza m_useNeural=true quando solo TrainMode

This commit is contained in:
pietro_giacobazzi
2026-06-14 11:47:30 +02:00
parent 30e116a2d5
commit 3256ebb5c6
2 changed files with 10 additions and 10 deletions
@@ -1125,19 +1125,19 @@ UpdateHealth(actualReturn);
int WinCount() const { return winCount; } int WinCount() const { return winCount; }
// --- Neural Network Methods --- // --- Neural Network Methods ---
void InitNeuralNet(int inputs, int hidden, int outputs, double dropoutRate = 0.2) { void InitNeuralNet(int inputs, int hidden, int outputs, bool setUseNeural = false, double dropoutRate = 0.2) {
if(m_neuralNet == NULL) { if(m_neuralNet == NULL) {
m_neuralNet = new CNeuralNet(); m_neuralNet = new CNeuralNet();
m_trainBuffer = new NNTrainBuffer(); m_trainBuffer = new NNTrainBuffer();
} }
m_neuralNet.Init(inputs, hidden, outputs, 1e-4, dropoutRate); m_neuralNet.Init(inputs, hidden, outputs, 1e-4, dropoutRate);
m_useNeural = true; if(setUseNeural) m_useNeural = true;
} }
double TrainNN() { double TrainNN() {
if(m_neuralNet == NULL || !m_neuralNet.IsInitialized()) { if(m_neuralNet == NULL || !m_neuralNet.IsInitialized()) {
Print("TrainNN: rete non inizializzata. Inizializzo..."); 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) { if(m_trainBuffer == NULL || m_trainBuffer.Count() < 3) {
Print("TrainNN: campioni insufficienti (", Print("TrainNN: campioni insufficienti (",
@@ -95,7 +95,7 @@ orchestrator.AddAgent(new RegimeDetector("Hurst", 1.0, Inp_HurstPeriod));
if(Inp_UseNeural) { if(Inp_UseNeural) {
Print(" NN model not found, initializing fresh network..."); Print(" NN model not found, initializing fresh network...");
} }
orchestrator.InitNeuralNet(8, Inp_NNHidden, 3); orchestrator.InitNeuralNet(8, Inp_NNHidden, 3, Inp_UseNeural);
} }
} }