Casi todos los cierres inesperados de SQX salen de una sola pantalla de configuración. Y la cifra que hay que poner ahí no es la que repite la mayoría, porque depende de algo que casi nadie menciona.
La documentación del fabricante lo dice sin rodeos: SQX es sensible a los problemas de memoria, y cualquier fallo en su gestión puede tumbar el programa. Una sesión de veinticuatro horas que termina en *Out of Memory* sin haber guardado nada es una tarde perdida y, peor, una lección mal aprendida sobre el hardware.
Los ajustes están tras el icono de la rueda dentada, arriba a la derecha. Según la versión aparecen bajo *Memory*, bajo *CPU & Memory* o repartidos con *Troubleshooting*. Los nombres bailan; la lógica no.
Tabla de contenidos
La cifra que genera discusiones
Circulan dos recomendaciones muy distintas sobre cuánta memoria asignar, y lo curioso es que ninguna está mal.
La documentación oficial recomienda destinar a SQX entre el 80 y el 100 % de la memoria real. Con 16 GB instalados, eso significa poner 12, 14 o incluso 16. El argumento es correcto: ese valor es un máximo, no una reserva, y el programa no ocupará necesariamente todo lo configurado.
Otra escuela, la que se enseña habitualmente en formación, deja un margen mayor: 24 a 28 GB si tienes 32, unos 96 si tienes 128. Y en el foro hay casos que le dan la razón. Uno documentado: con 16 GB instalados y 15 asignados, el uso máximo se estancaba en 12 y seguía apareciendo el mensaje de memoria agotada. El sistema operativo y el resto de aplicaciones también comen, y el recolector de basura de Java necesita espacio libre para maniobrar.
| RAM instalada | Equipo dedicado a SQX | Equipo que también usas para otras tareas |
|---|---|---|
| 8 GB | 6 GB | 2 GB (solo para pruebas) |
| 16 GB | 12–14 GB | 10–12 GB |
| 32 GB | 26–30 GB | 24–28 GB |
| 64 GB | 56–60 GB | 50–56 GB |
| 128 GB o más | 110–120 GB | 96–112 GB |
CLAVE PRÁCTICA
La regla que reconcilia ambas posturas: si la máquina no hace otra cosa, acércate al extremo alto. Si es tu ordenador de trabajo con navegador, MetaTrader y hojas de cálculo abiertas, deja margen. Y en los dos casos, mira el pico real de memoria tras una sesión larga antes de dar el valor por bueno.
ATENCIÓN
Por debajo de 16 GB la lógica se invierte: subir el límite empeora la estabilidad. Con 8 GB de sistema, 2 GB asignados aguantan mejor que 6.
Hay un detalle que despista a quien tiene mucha RAM. Por defecto SQX deja que Java decida el máximo, y esa decisión automática se queda corta en equipos con memoria abundante. Si tienes 16 GB o más y nunca has tocado este ajuste, probablemente estés usando una fracción de lo que podrías.
Cómo se reparte esa memoria
- Datos históricos cargados: un activo en marco de un minuto completo puede ocupar cientos de megas.
- Databank activo: entre 1 y 5 MB por estrategia según complejidad.
- Espacio propio de la máquina virtual de Java, que crece hasta el máximo configurado.
- Caché de cálculos intermedios que el motor reutiliza para acelerar generaciones sucesivas.
Eso explica por qué el mismo equipo aguanta un databank de dos mil estrategias sin despeinarse y se ahoga con ocho mil. Y explica también la palanca que casi nadie usa: la documentación insiste en que con menos RAM hay que reducir el tamaño del databank y los pasos de optimización, no forzar la máquina. Bajar de diez mil a tres mil estrategias no te hace peor operador; te obliga a definir mejor tus criterios de aceptación, que es exactamente lo que separa un proceso serio de un montón de ruido acumulado.
Guardado automático: diez minutos
El programa puede pasar doce o veinticuatro horas generando. Sin guardado automático, un corte de luz borra todo el progreso.
Se activa en la misma pantalla, con intervalo de diez minutos y la escritura en disco marcada. Los archivos se escriben en la carpeta de databanks dentro de `user`. Si trabajas en una máquina remota, añade además una tarea programada de Windows que copie esa carpeta a otro sitio cada media hora: así conservas el trabajo aunque el servidor entero deje de responder.
Complementario a esto está la protección de memoria, que detiene el proyecto activo al alcanzar el 85 % del límite en lugar de dejar que el programa se caiga. La diferencia entre un proceso pausado y un databank a medio escribir es considerable.
Cuando algo falla, en este orden
La documentación propone una secuencia concreta ante cierres inesperados. Merece la pena seguirla en orden en vez de ir probando cosas:
- Revisa la configuración de memoria y comprueba que el valor es coherente con la RAM instalada.
- Verifica que el equipo tiene memoria suficiente. El mínimo oficial son 8 GB.
- Activa la protección de memoria al 85 % si los cierres continúan.
- Ejecuta el Deep Memory Test, la herramienta de diagnóstico incluida, para descartar un problema físico de la memoria.
- Comprueba que los controladores del sistema están actualizados.
- Si nada de lo anterior lo resuelve, prueba a cambiar el motor de Java: algunos cierres aleatorios no son de SQX.
La interfaz no responde pero hay RAM libre
Síntoma frecuente y desconcertante. El administrador de tareas muestra memoria de sobra, pero el programa va a trompicones. La causa habitual no es falta de memoria sino que la aplicación no está usando bien la que hay, precisamente porque el límite lo decide Java por su cuenta. Configurarlo a mano suele arreglarlo.
Si aun así se congela, el siguiente sospechoso es la aceleración gráfica. Desactívala en *Troubleshooting*: da problemas conocidos en máquinas remotas y en equipos con gráficos integrados.
Otros ajustes que sí importan
| Opción | Recomendación |
|---|---|
| Idioma | Inglés. La traducción al español está incompleta y la mayoría de mensajes de error y soluciones que encontrarás en Internet están en inglés. |
| Gráficos 3D del Walk-Forward Matrix | Desactivados para el trabajo diario. Cada estrategia analizada con estos gráficos puede consumir entre 2 y 4 GB de memoria adicional. |
| Tema y zoom | A gusto del usuario. En monitores de 27 pulgadas o resolución 4K suele resultar más cómodo utilizar un zoom del 110 % al 125 %. |
| Buscar actualizaciones | Activado, pero conviene instalar nuevas versiones únicamente después de revisar las notas de la actualización. |
| Disco RAM para datos de tick | Truco poco conocido: almacenar los datos de tick en una unidad virtual en memoria puede acelerar significativamente la lectura. Recomendado solo si dispones de RAM sobrante. |
Lista de comprobación
- Idioma en inglés.
- Memoria asignada a mano, con el valor que corresponda a tu RAM y al uso del equipo.
- Pico real de memoria comprobado tras una sesión larga.
- Protección de memoria al 85 % activa.
- Guardado automático cada 10 minutos, con escritura en disco.
- Copia externa de la carpeta de databanks si trabajas en remoto.
- Tamaño máximo del databank coherente con la memoria instalada.
- Gráficos 3D apagados salvo cuando los necesites.
- Aceleración gráfica probada con y sin, quedándote con la más estable.
Preguntas frecuentes (FAQs)
¿Cuánta memoria asigno?
La documentación oficial dice entre el 80 y el 100 % de la instalada, recordando que es un máximo. En un equipo que además usas para trabajar conviene bajar esa cifra. Con menos de 16 GB, la asignación debe ser mucho más conservadora.
¿Por qué me da Out of Memory si tengo memoria de sobra?
Suele ser un valor asignado demasiado alto para la RAM física, que deja al recolector de basura sin espacio, o un databank que ha crecido por encima de lo que esa asignación admite.
¿Cada cuánto guardar los databanks?
Diez minutos es el estándar, con escritura en disco activada. En máquinas remotas conviene añadir una copia programada fuera del servidor.
¿Para qué sirve el Deep Memory Test?
Para descartar un problema físico de la memoria del equipo cuando SQX se cierra de forma aleatoria y sin mensaje claro.
¿Por qué se vuelve lento tras muchas horas?
Es el comportamiento normal del recolector de basura de Java al saturarse. Reiniciar cada ocho o doce horas devuelve el rendimiento inicial.
Sigue leyendo el contenido de este tutorial
Si aun con todo esto tu equipo se queda corto, toca hablar de máquinas externas.
Documentación de StrategyQuant X
StrategyQuant X genera, prueba y valida estrategias de trading mediante programación genética....
Qué es StrategyQuant X: módulos, interfaz y formatos de archivo
Antes de configurar nada conviene saber qué se está configurando. Esta página explica qué hace el...
Hardware para StrategyQuant X: qué componente manda de verdad
Hay una idea equivocada que cuesta dinero: pensar que un equipo más potente encuentra mejores...
El benchmark de StrategyQuant X: mide el rendimiento de tu equipo
Casi todas las decisiones caras alrededor de SQX (ampliar RAM, cambiar de motor, alquilar un...
Instalar StrategyQuant X sin el instalador: el método ZIP
El programa se puede instalar con un ejecutable, como cualquier aplicación de Windows. Casi nadie...
Cambiar el motor de Java en StrategyQuant X: GraalVM, Zulu y Temurin
Es la única mejora que puede darte entre un 15 y un 25 % más de estrategias por hora sin tocar el...
Servidores para StrategyQuant X: cuándo alquilar y cuándo no
Generar estrategias y ejecutarlas en vivo son dos trabajos con necesidades opuestas. El error caro...
Errores frecuentes de StrategyQuant X y cómo se resuelven
Página de consulta rápida. Busca tu síntoma en la primera columna y ve directo a la solución. Cada...
Checklist de instalación y configuración de StrategyQuant X
Página de verificación. Si has seguido el resto de la documentación, esto te confirma que no se ha...










