Storm Short busca una tendencia alcista que ha corrido mucho: cierre por encima de la PEMA (ocho EMA de 50 periodos encadenadas), que a su vez se sitúa por encima de la media Hull de 100 periodos. Vende el primer cierre bajista tras un cierre alcista, si el ATR(5) está por encima de 40. Las operaciones usan un stop del 2% y un objetivo del 2%, y se saltan los lunes, abril y octubre.
Mejor ejecución de 9. DAX 40, 4 horas, spread 3, de la ejecución sweeps:2026-09-23-DAX40-4h-opt.tsv:2.
| Periodo | Hasta 2026-09-23 |
| Instrumento | DAX 40, 4 horas |
| Spread | 3 puntos |
| Contratos | 1 |
| Capital inicial | 1,000,000 |
| Costes | Solo spread. No se incluyen comisiones ni financiación overnight. |
| Barras | Hasta 200,000 barras, menos cuando el instrumento tiene menos historial |
| Última prueba | 2026-09-24 |
| positionSize Contratos por operación | 1 |
| pemaPeriod Longitud de la EMA dentro de la PEMA | 50 |
| hullPeriod Longitud de la media móvil Hull | 100 |
| atrPeriod Longitud del ATR para el filtro de volatilidad | 5 |
| atrMinimum Operar solo cuando el ATR está por encima de esto | 40 |
| skipMonthA Sin operaciones en abril | 4 |
| skipMonthB Sin operaciones en octubre | 10 |
| firstTradeDay Operar desde el martes | 2 |
| lastTradeDay Hasta el viernes | 5 |
| stopLossPct Stop de protección, porcentaje del precio de entrada | 2 |
| takeProfitPct Objetivo, porcentaje del precio de entrada | 2 |
Todas las ejecuciones
| Mercado | Marco temporal | PF | Operaciones | % de acierto | Neto | Max DD |
|---|---|---|---|---|---|---|
| DAX 40Mejor ejecución | 4 horas | n/a | 321 | 53.89 | 5,089 EUR | -4,615 |
| FTSE 100 | Diario | n/a | 115 | 57.39 | 2,066 EUR | -1,127 |
| FTSE 100 | 1 hora | n/a | 77 | 57.14 | 1,153 EUR | -926 |
| FTSE 100 | 15 min | n/a | 19 | 68.42 | 819 EUR | -351 |
| Oro | 10 min | n/a | 2 | 100.00 | 199 EUR | -46.10 |
| S&P 500 | 30 min | n/a | 7 | 71.43 | 178 EUR | -78.70 |
| Oro | 15 min | n/a | 1 | 100.00 | 103 EUR | -15.60 |
| Oro | 5 min | n/a | 1 | 100.00 | 97.90 EUR | -64.20 |
| Oro | 3 min | n/a | 1 | 100.00 | 97.60 EUR | -78.70 |
Gráficos
El código
// ============================================================ // Storm Short PEMA HMA // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Short only // Timeframe tested: 4 hours // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade pemaPeriod = 50 // EMA length inside the PEMA hullPeriod = 100 // Hull moving average length atrPeriod = 5 // ATR length for the volatility filter atrMinimum = 40 // only trade when ATR is above this skipMonthA = 4 // no trades in April skipMonthB = 10 // no trades in October firstTradeDay = 2 // trade from Tuesday lastTradeDay = 5 // to Friday stopLossPct = 2 // protective stop, percent of entry price takeProfitPct = 2 // target, percent of entry price // --- Indicators --- // PEMA: eight chained EMAs combined with binomial weights to cut lag emaOne = ExponentialAverage[pemaPeriod](close) emaTwo = ExponentialAverage[pemaPeriod](emaOne) emaThree = ExponentialAverage[pemaPeriod](emaTwo) emaFour = ExponentialAverage[pemaPeriod](emaThree) emaFive = ExponentialAverage[pemaPeriod](emaFour) emaSix = ExponentialAverage[pemaPeriod](emaFive) emaSeven = ExponentialAverage[pemaPeriod](emaSix) emaEight = ExponentialAverage[pemaPeriod](emaSeven) pemaValue = (8 * emaOne) - (28 * emaTwo) + (56 * emaThree) - (70 * emaFour) + (56 * emaFive) - (28 * emaSix) + (8 * emaSeven) - emaEight hullMA = WeightedAverage[ROUND(SQRT(hullPeriod))](2 * WeightedAverage[ROUND(hullPeriod / 2)](close) - WeightedAverage[hullPeriod](close)) atrValue = AverageTrueRange[atrPeriod](close) tradingWindow = OpenMonth <> skipMonthA AND OpenMonth <> skipMonthB AND OpenDayOfWeek >= firstTradeDay AND OpenDayOfWeek <= lastTradeDay
11 líneas más: las reglas de entrada y salida.
Configuración
Preguntas
Sí, está totalmente automatizado con un stop y un objetivo fijos del 2%. El código reescrito aún no se ha comprobado en compilación, así que pruébalo primero en demo.
DAX 40 4 horas ganó 5,089.30 EUR en 321 operaciones. FTSE 100 Diario ganó 2,065.60 EUR, y el S&P 500 y Gold produjeron solo un puñado de operaciones.
Con 1 contrato y un spread de 3 puntos, DAX 40 4 horas tuvo un max drawdown de 4,615.10 EUR.
El filtro del ATR(5) en 40 necesita bars con rango real, que el gráfico de DAX 40 de 4 horas aporta. En gráficos cortos de Gold apenas se activó.
Relacionado
La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.