feat(live): MR02/ETH stop-largo sl_atr 3.0 (miglioria gated, regola sl=0 rispettata)
Esito ricerca sostituto/miglioria MR02/ETH: nessun sostituto batte il live EXIT-16; la miglioria deployabile e' allargare lo stop close-confirm da sl_atr 2.0->3.0 sul solo MR02_ETH. Gate PORT06 (swap MR02_ETH): FULL Sh 6.73->6.77 DD 3.67->3.30, OOS 8.80->8.82 DD 1.23 (domina il live). Cattura il beneficio del no-SL tenendo lo stop di catastrofe: worst-trade -50% vs -65% del no-SL -> regola "mai sl=0" rispettata. Override scoped a MR02/ETH (_fade_params); altri 5 fade invariati. 93/93 test ok. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -40,9 +40,29 @@ EMA_LONG = 200
|
||||
# esce nei crash veri tipo FTX). Vedi docs/diary/2026-06-04-exit-lab.md.
|
||||
SL_CONFIRM_ATR = 0.5
|
||||
|
||||
|
||||
# Override stop-largo su MR02/ETH (2026-06-09). Lo sleeve a DD piu' alto e peggior performer reale
|
||||
# (whipsaw: fada un downtrend in long, poi shorta il rimbalzo). Ricerca 127 strategie + verifica
|
||||
# avversariale + gate PORT06: nessun SOSTITUTO batte il live EXIT-16; la miglioria e' ALLARGARE lo
|
||||
# stop (sl_atr 2.0->3.0) mantenendo il close-confirm. Cattura il beneficio del no-SL (gli stop di
|
||||
# meta'-discesa sono falsi negativi) SENZA la coda da sl=0 (worst-trade -50% vs -65% del no-SL; la
|
||||
# rete di catastrofe resta -> regola "mai sl=0" rispettata). Gate PORT06 (swap del solo MR02_ETH):
|
||||
# FULL Sh 6.73->6.77 DD 3.67->3.30, OOS Sh 8.80->8.82 DD 1.23 (domina il live, FULL DD -0.37pp).
|
||||
# Scoped a MR02/ETH: gli altri 5 fade (logica diversa) NON sono stati ri-gateati -> invariati.
|
||||
# Diario docs/diary/2026-06-08-mr02eth-replace-search.md (addendum 2026-06-09).
|
||||
SL_ATR_WIDE_MR02ETH = 3.0
|
||||
|
||||
|
||||
def _fade_params(c: str, a: str) -> dict:
|
||||
p = {"min_tp_frac": MIN_TP_FRAC, "trend_max": TREND_MAX,
|
||||
"ema_long": EMA_LONG, "sl_confirm_atr": SL_CONFIRM_ATR}
|
||||
if (c, a) == ("MR02", "ETH"):
|
||||
p["sl_atr"] = SL_ATR_WIDE_MR02ETH
|
||||
return p
|
||||
|
||||
|
||||
FADE = [SleeveSpec(kind="single", name=c, sid=f"{c}_{a}", asset=a, cluster=f"{a}-rev",
|
||||
params={"min_tp_frac": MIN_TP_FRAC, "trend_max": TREND_MAX,
|
||||
"ema_long": EMA_LONG, "sl_confirm_atr": SL_CONFIRM_ATR})
|
||||
params=_fade_params(c, a))
|
||||
for a in ("BTC", "ETH") for c in ("MR01", "MR02", "MR07")]
|
||||
HONEST = [
|
||||
# DIP01: single-asset 1h -> StrategyWorker (Strategy DIP01_dip_buy). TR01/ROT02: multi-asset.
|
||||
|
||||
Reference in New Issue
Block a user