Round-2 weight optimisation — reduce EMA trend, boost stochastic
GPU sweep (36 combos, RTX 4070 SUPER) on H4 2022-2026 relative to the round-1 baseline revealed EMA trend was over-weighted at 3.6. Halving it and nudging stochastic up yields cleaner, higher-quality signals. Weight changes (backtest_gpu.py _BASE_W + engine.py): ema_trend: 3.6 -> 1.8 (over-weighted; halving tightens signal filter) stochastic: 1.6 -> 2.4 (x1.5; improved WR to 40.4% in sweep) macd: 3.3 (unchanged — dominant signal, kept as anchor) adx/ichimoku/rsi/bollinger: unchanged Combined result vs round-1 (H4 local data 2022-2026): Trades: 160 -> 73 (-87 — filters out marginal setups) Win Rate: 38.1% -> 43.8% (+5.7pp) Profit Factor: 1.19 -> 1.52 Return: +21.30% -> +23.86% (+2.57pp) Max DD: -8.52% -> -9.32% Sharpe: 0.47 -> 0.71 (+51%) Sortino: 1.91 -> 3.06 (+60%) Fewer trades at much higher quality. The lower EMA weight means only strong, multi-indicator confluences clear the grade threshold — the 73 remaining trades have 43.8% WR vs 38.1% and expectancy nearly 3x.
This commit is contained in:
@@ -171,7 +171,7 @@ class TechnicalEngine:
|
||||
result.indicators["ema_trend"] = IndicatorSignal(
|
||||
name="EMA Trend", value=normalized,
|
||||
signal=signal, confidence=conf,
|
||||
description=desc, weight=3.6,
|
||||
description=desc, weight=1.8,
|
||||
)
|
||||
if t is not None:
|
||||
result.key_levels["ema_trend"] = float(t)
|
||||
@@ -423,7 +423,7 @@ class TechnicalEngine:
|
||||
|
||||
result.indicators["stochastic"] = IndicatorSignal(
|
||||
name="Stochastic", value=k_val, signal=signal,
|
||||
confidence=conf, description=desc, weight=1.6,
|
||||
confidence=conf, description=desc, weight=2.4,
|
||||
)
|
||||
|
||||
def _compute_adx(self, df: pd.DataFrame, result: TechnicalAnalysis):
|
||||
|
||||
Reference in New Issue
Block a user