Los cierres se redondean en cajas de 20 puntos para construir columnas de point and figure en el código. Una reversión de 4 cajas al alza desde una columna descendente abre un long, y una reversión de 4 cajas a la baja abre un short. Cada señal invierte la posición, con un stop de 350 puntos como respaldo.
Mejor ejecución de 5. DAX 40, 1 hora, spread 3, de la ejecución sweeps:2026-09-24-DAX40-1h-opt.tsv:7.
| Periodo | Hasta 2026-09-24 |
| Instrumento | DAX 40, 1 hora |
| 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-25 |
| positionSize Contratos por operación | 1 |
| boxSize Tamaño en precio de una caja de point and figure | 20 |
| reversalBoxes Cajas en contra de la columna necesarias para invertir la tendencia | 4 |
| stopLossPoints Stop de protección en puntos | 350 |
Todas las ejecuciones
| Mercado | Marco temporal | PF | Operaciones | % de acierto | Neto | Max DD |
|---|---|---|---|---|---|---|
| DAX 40Mejor ejecución | 1 hora | n/a | 6,179 | 36.37 | 10,211 EUR | -7,950 |
| Plata | 5 min | n/a | 2,009 | 37.23 | 27,104 USD | -17,023 |
| Plata | 10 min | n/a | 1,838 | 37.11 | 25,000 USD | -17,197 |
| DAX 40 | 4 horas | n/a | 3,600 | 37.64 | 10,191 EUR | -7,863 |
| Oro | 4 horas | n/a | 296 | 37.16 | 1,631 EUR | -921 |
Gráficos
El código
// ============================================================ // Point and Figure Reversal // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long & short // Timeframe tested: 1 hour // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade boxSize = 20 // price size of one point and figure box reversalBoxes = 4 // boxes against the column needed to flip trend stopLossPoints = 350 // protective stop in points // --- Indicators --- // Column state, kept between bars. Both start at 1 as in the tested code. ONCE upColumn = 1 ONCE downColumn = 1 ONCE levelsSeeded = 0 ONCE downLowSeeded = 0 ONCE upHighSeeded = 0 // Price rounded down to the nearest box (the 0.5 makes round() round down) boxLevel = round((close / boxSize) - 0.5) * boxSize // Seed both extremes on the first bar IF levelsSeeded = 0 THEN downColumnLow = boxLevel upColumnHigh = boxLevel levelsSeeded = 1 ENDIF IF boxLevel > boxLevel[1] THEN IF upColumn = 1 THEN downColumn = 0 // one-time reseed of the down column low, as in the tested code IF downLowSeeded = 0 THEN downColumnLow = boxLevel downLowSeeded = 1 ENDIF IF boxLevel > upColumnHigh THEN upColumnHigh = boxLevel ENDIF ENDIF IF downColumn = 1 AND boxLevel >= downColumnLow + (reversalBoxes * boxSize) THEN upColumnHigh = boxLevel upColumn = 1 downColumn = 0 ENDIF ELSIF boxLevel < boxLevel[1] THEN IF downColumn = 1 THEN upColumn = 0 // one-time reseed of the up column high, as in the tested code IF upHighSeeded = 0 THEN upColumnHigh = boxLevel upHighSeeded = 1 ENDIF IF boxLevel < downColumnLow THEN downColumnLow = boxLevel ENDIF ENDIF IF upColumn = 1 AND boxLevel <= upColumnHigh - (reversalBoxes * boxSize) THEN downColumnLow = boxLevel upColumn = 0 downColumn = 1 ENDIF ENDIF
16 líneas más: las reglas de entrada y salida.
Configuración
Preguntas
Sí. Las columnas de point and figure se reconstruyen a partir de los cierres dentro del código, así que no se necesita ningún tipo de gráfico especial.
DAX 40 1 hora y 4 horas ganaron ambos unos 10,200 EUR (10,210.8 y 10,191.3). Silver 5 y 10 minutos también fueron positivos, y Gold 4 horas ganó 1,630.6 EUR.
En DAX 40 1 hora el peor drawdown fue de 7,950.4 EUR con 1 contrato.
Dio el mejor resultado en DAX 40 en los barridos, y la caja de 20 puntos encaja con el rango horario típico de ese índice.
Relacionado
La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.