Estrategia Optimizador: la búsqueda honesta de parámetros.
Una guía completa del Optimizador de Estrategias GOGA — cómo busca, qué rechaza y cómo leer los resultados. Para administradores, traders y usuarios curiosos. Sin promesas de ganancias, sin asesoramiento financiero.
Contenido educativo. El optimizador ejecuta backtests sobre datos históricos — el rendimiento pasado no garantiza resultados futuros. Nada de esto es asesoramiento financiero.
¿Qué es el Optimizador?
El Optimizador de Estrategias es un motor de búsqueda de parámetros para estrategias de trading de criptomonedas. Toma una estrategia (como canales Donchian, cruce de EMA, reversión RSI), un universo de monedas y un espacio de búsqueda de cuadrícula o genético — luego ejecuta miles de backtests para encontrar configuraciones que sobrevivan a pruebas honestas.
Principio clave: el optimizador nunca miente. Modela comisiones, deslizamiento, apalancamiento y divide los datos en In-Sample (IS) para ajuste y Out-of-Sample (OOS) para validación. Una configuración que se ve genial en IS pero falla en OOS está sobreajustada — y el optimizador te lo dice.
Preset деда4
El preset деда4 botón (⚡ en el optimizador de administrador) establece los ejes de búsqueda exactamente según la especificación de los requisitos деда4:
- Stop-loss: 0.5% → 1.5%, paso 0.03%
- Take-profit: 0.5% → 5%, paso 0.03%
- Deslizamiento: 10 bps por lado (0.1%)
- Límite máximo de DD: 15% (descartar)
- Objetivo: esperanza matemática (retorno promedio por trade)
- Modo: genético, host = niko2
0.5 significa 0.5%, no 0.005. Esto coincide con cómo piensan los traders, no con cómo el código almacena fracciones.Entrada de Deslizamiento
El Deslizamiento (bps/lado) control de entrada modela cuánto deslizamiento de precio se simula por lado de trade. Valor predeterminado: 10 bps = 0.1% por lado, coincidiendo con деда4. Un campo vacío preserva el comportamiento heredado — los trabajos antiguos no se reprecian.
Slippage is a real cost. A strategy that looks profitable at 0 slippage may be unprofitable at 10 bps. The optimizer applies it symmetrically to entry and exit, in both realistic and plain modes.
Fitness Functions
The optimizer can rank trials by several fitness objectives. Choose the one that matches your goal:
| Objective | What it measures | When to use |
|---|---|---|
is_net | Net profit % | Maximize total return |
is_expectancy | Avg trade return | деда4 default — reward per trade |
sharpe | Return / volatility | Smoother equity curve |
sortino | Downside-only Sharpe | Asymmetric risk |
calmar | Annual return / max DD | Reward per unit of pain |
profit_factor | Gross profit / gross loss | Winners must outweigh losers |
fitness | Composite score + hard gates | Balanced default |
Sortino and expectancy are now written to trail columns (both IS and OOS), visible in the results table and CSV export.
Max DD Cap (discard)
El Max DD % (discard) input sets a hard cap on account drawdown. Default: 15%. A coin whose IS drawdown exceeds the cap is failed and discarded — its trial gets objective = NULL and can never be a winner. This is the деда4 rule: "iterations that don't pass are thrown away."
dd_cap_exceeded = true). Validate is the truth report; the gate already punishes drawdown.Strategy Parameter Optimization
Beyond exit parameters (stop, target, trail), the optimizer can search entry parameters — the strategy's own periods and thresholds. The launch form pulls the catalog from the strategy registry (60 strategies) and draws Start/Step/Stop rows for the selected strategy's parameters:
- Donchian:
n(channel period) - EMA crossover:
e_fast,e_slow - RSI reversal:
rsi_period,rsi_lo,rsi_hi
The gene carries these as e_fast etc. The Before→After equity chart honestly recomputes the signal with the new parameters. Verified: e_fast=5 produced 79 trades vs 38 for the base config — a real change, not a cosmetic overlay.
2D Heatmap & CSV Export
In the job detail view, two TradingView-style conveniences are available:
- 2D parameter heatmap: two X/Y selectors let you pick any two varying parameters. Each cell shows the best objective across all other params. Discarded (DD-capped) trials are excluded. Green plateaus beat lone bright cells — a smooth green region means the edge is robust.
- CSV export: download all trials (search + validate) with every column — objective, IS/OOS metrics, sortino, expectancy, gene JSON, gate verdict, noise flag. For offline analysis in Excel or Python.
MACD & RSI Indicator Panels
Below the Z-Score panel, MACD and RSI chips show the same math the backtests trade with — _ema / _rsi functions, honest warmup gaps, and a live data tail from Gate.io. These are not decorative indicators; they are the actual signals the strategies use.
By design, Z-Score + MACD/RSI are also available on the user optimizer at /app/optimizer (via login-gated proxy /app/api/*).
Case Study: ATOM
The setup
ATOM (Cosmos) was a falling coin — exactly the kind most traders avoid. But Donchian20 trades both directions: shorts profit on drops. A falling coin is only unprofitable for a long-only holder.
The winning configuration
| Estrategia | donchian20 @ 4h |
| Stop-loss | 5% |
| Take-profit | 16% |
| Trailing stop | 3% |
| Apalancamiento | 3× |
| Before (base params) | −361% |
| After (optimized) | +296% |
| OOS (out-of-sample) | +290% |
Two honest caveats
What we learned (EDGE Knowledge Base)
Six research notes from the ATOM campaign are seeded in the KB (bilingual, auto-translated via DeepSeek) and shown publicly on /crypto/ATOM and in the Lab:
- Noise floor: why Sharpe must clear √(2·ln N · 365/days)
- Parameter transfer: why one-coin winners are suspect
- Fees: ema9_21 consumed 184% of margin on 614 trades
- History depth: why 200+ candles is the minimum
- "Before→After flatters — OOS is the only exam"
- Drawdown as the honest kill criterion
Optimizador de Usuario
Available at /app/optimizer (login required, free):
- "Check YOUR parameters" — instant backtest through the same honest engine (fees, leverage ≤5×, pessimistic fills, IS/OOS). Result: price + trades, equity before/after, Sharpe + Sortino, "✓ beats defaults / ✗ defaults win".
- Historial de ejecuciones ("Mis ejecuciones"): cada ejecución guardada con parámetros, IS/OOS, Sortino. Un botón ↩ restaura parámetros. Límite diario: 200 pruebas, cierre ante fallo.
- "Solicitar optimización completa" — una búsqueda completa cuesta cómputo, por lo que la solicitud va a la cola del operador. En el panel de administración de ejecuciones: "📨 Solicitudes de optimización de usuarios" (▶ lanzada / ✕ rechazada / ✓ hecha).
Niveles de acceso
| Nivel | Lo que ves | Dónde |
|---|---|---|
| Anónimo | Teaser honesto: veredictos, "antes −361% → después +296% PAPER_ONLY", notas de investigación, CTA "Inicia sesión — gratis" | /crypto/ATOM |
| Registrado (gratis) | Todo: gráfico de operaciones, equidad, estadísticas, parámetros exactos, optimizador de usuario | /app/optimizer |
| Administrador | Optimizador completo: lanzar trabajos, búsqueda genética, mapa de calor, CSV, ajustes preestablecidos, cola de solicitudes de usuario | /app/admin/optimizer |
Base de conocimiento EDGE
El Base de conocimiento EDGE convierte los hallazgos de investigación en conocimiento público. Una research_notes tabla almacena notas bilingües (traducidas automáticamente vía DeepSeek) que se muestran en las páginas de monedas y en el Laboratorio como "Notas de investigación — lo que aprendimos."
Los administradores pueden añadir nuevos hallazgos con un solo POST — la traducción es automática. Las notas actuales de la campaña ATOM cubren: piso de ruido, transferencia de parámetros, erosión por comisiones, profundidad de historial, OOS como único examen, y drawdown como criterio de eliminación.