La señal es una suma móvil de 878 barras de los cambios de barra a barra en el tamaño del cuerpo de las velas. Tal como está configurada es contraria: compra cuando esa suma marca un nuevo mínimo por debajo de 0 y abre short cuando marca un nuevo máximo por encima de 41 pips. Cada señal contraria invierte la posición, así que está siempre en el mercado.
Mejor ejecución de 29. S&P 500, 30 min, spread 1, de la ejecución pf:2026-09-24-USA500-30m.tsv:1.
| Periodo | Hasta 2026-09-24 |
| Instrumento | S&P 500, 30 minutos |
| Spread | 1 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 |
| sumPeriod Barras sumadas para el total de cambio del cuerpo | 878 |
| invertSignal 1 opera tal como está escrito, -1 invierte cada señal | 1 |
| upperFilterPips El total debe superar este número de pips para contar como lectura positiva | 41 |
| lowerFilterPips El total debe estar por debajo de menos este número de pips para contar como lectura negativa | 0 |
Todas las ejecuciones
| Mercado | Marco temporal | PF | Operaciones | % de acierto | Neto | Max DD |
|---|---|---|---|---|---|---|
| S&P 500Mejor ejecución | 30 min | 2.03 | 294 | 61.90 | 6,910 EUR | -1,336 |
| S&P 500 | 15 min | 1.87 | 202 | 57.43 | 5,222 EUR | -1,215 |
| USD/JPY | 30 min | n/a | 1,334 | 53.37 | 583,360 JPY | -311,340 |
| USD/JPY | 15 min | n/a | 680 | 53.68 | 390,690 JPY | -260,480 |
| USD/JPY | 10 min | n/a | 470 | 53.40 | 356,070 JPY | -299,470 |
| EUR/USD | 5 min | n/a | 124 | 50.00 | 226,540 USD | -178,822 |
| EUR/USD | 10 min | n/a | 150 | 53.33 | 206,625 USD | -82,297 |
| USD/JPY | 2 min | n/a | 48 | 50.00 | 106,210 JPY | -94,070 |
| EUR/USD | 30 min | n/a | 1,134 | 52.38 | 101,930 USD | -82,289 |
| Nikkei 225 | Diario | n/a | 1,299 | 59.28 | 65,932 USD | -17,149 |
| Plata | Diario | n/a | 849 | 57.83 | 36,872 USD | -16,947 |
| Dow Jones | Diario | n/a | 2,118 | 56.94 | 21,680 EUR | -18,902 |
| DAX 40 | Diario | n/a | 1,968 | 59.10 | 20,493 EUR | -6,430 |
| Nasdaq 100 | Diario | n/a | 1,351 | 58.18 | 17,701 EUR | -11,124 |
| FTSE 100 | 1 hora | n/a | 2,537 | 53.72 | 7,365 EUR | -2,920 |
| Petróleo crudo de EE. UU. | Diario | n/a | 1,183 | 56.97 | 6,255 EUR | -5,266 |
| S&P 500 | 4 horas | n/a | 566 | 56.89 | 6,141 EUR | -1,923 |
| S&P 500 | Diario | n/a | 444 | 53.83 | 5,968 EUR | -2,189 |
| S&P 500 | 1 hora | n/a | 460 | 54.57 | 5,400 EUR | -1,509 |
| Oro | 30 min | n/a | 150 | 60.00 | 4,171 EUR | -1,172 |
| Oro | 4 horas | n/a | 180 | 55.00 | 3,655 EUR | -2,304 |
| FTSE 100 | 10 min | n/a | 182 | 60.44 | 3,625 EUR | -1,305 |
| Oro | 1 hora | n/a | 176 | 53.41 | 3,384 EUR | -2,098 |
| S&P 500 | 10 min | n/a | 94 | 51.06 | 3,049 EUR | -1,455 |
| Oro | 15 min | n/a | 120 | 52.50 | 2,806 EUR | -1,935 |
| Oro | Diario | n/a | 194 | 57.22 | 2,643 EUR | -1,484 |
| S&P 500 | 5 min | n/a | 44 | 56.82 | 2,266 EUR | -1,426 |
| FTSE 100 | 5 min | n/a | 72 | 56.94 | 2,035 EUR | -1,593 |
| S&P 500 | 2 min | n/a | 12 | 66.67 | 840 EUR | -833 |
Gráficos
Las 10 mejores de 29 ejecuciones. La lista completa está en la tabla de arriba.
Por encima de 1.0 ganó dinero, por debajo de 1.0 perdió dinero.
El código
// ============================================================ // Candle Body Momentum // ProRealAlgos Strategy Library | prorealalgos.com // Type: Momentum // Direction: Long & short // Timeframe tested: 30 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade sumPeriod = 878 // bars summed for the body-change total invertSignal = 1 // 1 = trade as written, -1 = flip every signal upperFilterPips = 41 // total must exceed this many pips to count as positive lowerFilterPips = 0 // total must be below minus this many pips to count as negative ONCE lastPositiveSum = 0 ONCE lastNegativeSum = 0 ONCE tradeDirection = 0 // --- Indicators --- bodySize = close - open bodyChange = bodySize - bodySize[1] bodyChangeSum = Summation[sumPeriod](bodyChange) // Remember the latest positive and negative readings; each holds until replaced. IF bodyChangeSum > upperFilterPips * PipSize THEN lastPositiveSum = bodyChangeSum ENDIF IF bodyChangeSum < (0 - lowerFilterPips) * PipSize THEN lastNegativeSum = bodyChangeSum ENDIF negativeSumFalling = lastNegativeSum < lastNegativeSum[1] positiveSumRising = lastPositiveSum > lastPositiveSum[1]
20 líneas más: las reglas de entrada y salida.
Configuración
La nueva ejecución de S&P 500 15 minutos tuvo 456,000 barras y ganó EUR 6,660.97 frente a EUR 5,222.27 de la ejecución estándar, así que los datos más antiguos por sí solos añadieron EUR 1,438.70.
| Barras disponibles | 456,000 |
| Neto, ejecución estándar de 200,000 barras | 5,222.27 EUR |
| Neto, ejecución larga | 6,660.97 EUR |
| Neto solo en los datos más antiguos | 1,438.70 EUR |
Preguntas
Sí, pero asegúrate de que se carga suficiente historial para la suma de 878 barras. No se comprobó la compilación del código reescrito, así que pruébalo primero en ProBacktest.
Índices, pares de divisas, metales y petróleo, y todas las ejecuciones listadas fueron positivas. S&P 500 15 minutos registró un profit factor de 1.87 en 202 operaciones.
La mejor ejecución de S&P 500 30 minutos tuvo un max drawdown de EUR 1,335.84 frente a un beneficio neto de EUR 6,909.96.
Dio la mejor ejecución registrada, y mantiene la ventana de 878 barras en un tramo de historial manejable.
Relacionado
El copy trading en índices de EE. UU. está disponible para los miembros de ProRealAlgos a medida que se abren plazas.