#ifndef SIGNAL_MQH #define SIGNAL_MQH struct FinalSignal { int direction; // -1, 0, +1 double confidence; // 0.0 - 1.0 (derivato da |z_combined|) double zScore; // z-score combinato finale [-1, +1] via tanh double positionSize; // frazione di capitale suggerita int agreeingCount; int totalAgents; string contributingAgents; datetime timestamp; FinalSignal() : direction(0), confidence(0), zScore(0), positionSize(0), agreeingCount(0), totalAgents(0), timestamp(0) {} FinalSignal(int dir, double z) : direction(dir), confidence(MathAbs(z)), zScore(z), positionSize(MathAbs(z)), agreeingCount(0), totalAgents(0), timestamp(TimeCurrent()) {} bool IsActionable(double minZ=0.5) const { return direction != 0 && MathAbs(zScore) >= minZ; } }; #endif