Análisis completo de 48 combinaciones (16 ETFs × 3 timeframes)
El TP se recalcula en cada barra, permitiendo que el precio "escape" del objetivo. Debería fijarse al entrar.
La variable `trailing_stop` persiste entre operaciones, causando salidas prematuras en nuevas entradas.
No hay gestión de posición. El código usa todo el capital disponible, exponiendo a riesgo máximo.
SL y TP se evalúan en el mismo bloque if/else. Si ambos se activan, solo se ejecuta el primero, ignorando el más relevante.
RSI > 50 permite entrar en zonas de sobrecompra (>70), aumentando falsas señales en rangos laterales.
No hay límite para pérdidas acumuladas. Una racha negativa puede agotar el capital sin protección.
En mercados volátiles puede abrir/cerrar múltiples veces en un día, generando comisiones excesivas.
// Take profit flotante
if in_long
take_profit_level := high + (high - low) * 1.5
strategy.exit("TP", "Long", limit=take_profit_level)
// Trailing stop no reseteado
var float trailing_stop = na
if in_long and close > entry_price * 1.02
trailing_stop := close * 0.98
// Sin gestión de posición
strategy.entry("Long", strategy.long)
// Race condition
if close <= stop_loss_level
strategy.close("Long")
else if close >= take_profit_level
strategy.close("Long")
// RSI permisivo
rsi_ok = ta.rsi(close, 14) > 50
// TP fijo al entrar
var float take_profit_level = na
if not in_long and long_condition
take_profit_level := close * 1.03
// Trailing stop reseteado
var float trailing_stop = na
if not in_long
trailing_stop := na
if in_long and close > entry_price * 1.02
trailing_stop := math.max(trailing_stop, close * 0.98)
// Gestión de posición (2% del capital)
position_size = strategy.equity * 0.02 / close
strategy.entry("Long", strategy.long, qty=position_size)
// Prioridad a SL/TP más cercano
sl_distance = math.abs(close - stop_loss_level)
tp_distance = math.abs(close - take_profit_level)
if sl_distance < tp_distance and close <= stop_loss_level
strategy.close("Long")
else if close >= take_profit_level
strategy.close("Long")
// RSI más restrictivo
rsi_ok = ta.rsi(close, 14) > 55 and ta.rsi(close, 14) < 70
| ETF | TF | Trades | Win Rate | Avg Win | Avg Loss | Max DD | Return % | PF | Sharpe |
|---|
| Entrada | Precio Entrada | Salida | Precio Salida | Razón | P&L | P&L % |
|---|
Al operar con fondos (compra/venta de acciones), es clave salir rápido cuando la tendencia pierde fuerza.
Evitar operar en mercados con volatilidad extrema o muy baja.
Aumentar fiabilidad validando señales en timeframes superiores.
Diversificar evitando múltiples posiciones en ETFs correlacionados.
Proteger ganancias con stops dinámicos más sofisticados.
Operar solo en horarios de máxima liquidez.
Aumentar tamaño de posición tras rachas ganadoras.
Validar robustez con simulaciones aleatorias.
Usar ML para filtrar señales de baja probabilidad.