fix(rl): loosen loss defense — penalty 0.01→0.001, stop-loss 2.0→5.0
The previous settings overcorrected: penalty=0.01 + threshold=2.0 taught Q that all trading = punishment → model stopped trading entirely (wr=1.0, dones=0, hold=91%). Loosened: penalty=0.001 (10× smaller per-step signal), threshold=5.0 (5× initial risk before force-close). This preserves the loss defense gradient while giving trades room to develop. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -2852,8 +2852,8 @@ impl IntegratedTrainer {
|
||||
(crate::rl::isv_slots::RL_SAC_ALPHA_INDEX, 0.01),
|
||||
(crate::rl::isv_slots::RL_SAC_ENTROPY_TARGET_INDEX, 1.68),
|
||||
(crate::rl::isv_slots::RL_CONF_GATE_MAX_HOLD_FRAC_INDEX, 0.85),
|
||||
(crate::rl::isv_slots::RL_DRAWDOWN_PENALTY_RATE_INDEX, 0.01),
|
||||
(crate::rl::isv_slots::RL_STOP_LOSS_THRESHOLD_INDEX, 2.0),
|
||||
(crate::rl::isv_slots::RL_DRAWDOWN_PENALTY_RATE_INDEX, 0.001),
|
||||
(crate::rl::isv_slots::RL_STOP_LOSS_THRESHOLD_INDEX, 5.0),
|
||||
];
|
||||
for (slot, value) in isv_constants.iter() {
|
||||
let slot_i32 = *slot as i32;
|
||||
|
||||
Reference in New Issue
Block a user