ga_trader / genome.py + features.py
Every trader in the population is one tiny MLP plus a handful of evolved scalar genes riding alongside the weights. No backprop — crossover and mutation shape everything below. Two architectures actually run in this project; toggle between them.
max(prob) ≥ conf and its margin over "flat" clears margin — both evolved per trader.rsi_gate > 0.55, blocks buying overbought / shorting oversold — an optional evolved guard.size gene, frozen at entry.stop_frac adverse move, max_hold_sec elapsed, or a confident reversal signal.