---
title: "Bucles, Copy Config y gestión de memoria en Custom Projects"
description: "Cómo crear bucles condicionales con Go To Task, usar Copy Config para evitar errores, y gestionar la memoria RAM en flujos grandes de StrategyQuant."
url: https://wikisqx.com/custom-projects-bucles-copy-config-gestion-memoria/
date: 2026-08-31
modified: 2026-09-05
author: "Wiki SQX"
image: https://wikisqx.com/wp-content/uploads/2026/08/WikiSQX-StrategyQuantX-Custom-Projects_Bucles-Copy-Config-gestion-memoria.jpg
categories: ["Custom Projects"]
tags: ["automatización", "bucles", "Copy Config", "databank", "ejecución", "error", "flujo", "gestión", "Go To Task", "memoria", "parámetro", "tareas"]
type: post
lang: es
---

# Bucles, Copy Config y gestión de memoria en Custom Projects

Cómo automatizar la repetición de un flujo con Go To Task, evitar errores de configuración con Copy Config, y no quedarte sin RAM en proyectos grandes.

Dos problemas aparecen en cuanto un Custom Project deja de ser un flujo de tres tareas: la configuración se vuelve difícil de mantener coherente entre tareas, y la memoria del equipo empieza a resentirse cuando hay miles de estrategias circulando entre databanks. Este artículo cubre ambos, junto con la pieza que los conecta a los dos: los bucles condicionales.

#### Tabla de contenidos

Este artículo no tiene encabezados

## Copy Config: la forma correcta de configurar una tarea nueva

Cuando añades una tarea nueva — un Retest o un Optimize, por ejemplo — su configuración llega vacía por defecto: símbolo, rango temporal, opciones de trading, money management, todo a cero. Tienes dos formas de rellenarla.

La primera es ajustar manualmente cada parámetro en las pestañas de Data, Trading Options, Building Blocks y Robustness Tests. Funciona, pero en cuanto tienes varias tareas que deben compartir exactamente la misma configuración de datos y de trading, es fácil que algo se te escape.



#### IMPORTANTE

Configurar manualmente varias tareas aumenta el riesgo de inconsistencias. Si el símbolo, el rango temporal o las opciones de trading difieren entre tareas sin que te des cuenta, los resultados dejan de ser comparables entre sí — y puede que no lo notes hasta que ya has invertido horas de cómputo.

La segunda forma, y la recomendada, es el botón **Copy Config from Task**: copia de un solo clic toda la configuración de otra tarea — símbolo y rango temporal de datos, opciones de trading, gestión monetaria. A partir de ahí, solo modificas lo específico de la nueva tarea. Por ejemplo, en un Retest puedes mantener toda la configuración del Builder y cambiar únicamente el método de robustez de Backtest Preciso a Monte Carlo.



#### CLAVE PRÁCTICA

Usa Copy Config como punto de partida por defecto en cada tarea nueva, y ajusta solo lo que cambia. Es el hábito individual que más tiempo ahorra y más errores evita en todo el sistema de Custom Projects.

## Clonar pruebas de robustez

Dentro de una misma tarea Retest puedes añadir varias pruebas de robustez distintas. La forma rápida de hacerlo: configura la primera (por ejemplo, un Monte Carlo de un tipo concreto), usa el botón de clonar debajo para duplicarla, cambia el nombre al clon y ajusta solo los parámetros que difieren, y crea un nuevo databank para almacenar los resultados de esta prueba adicional. Así construyes una batería de pruebas que comparten la misma configuración base de datos y trading, garantizando que los resultados son comparables entre ellas.

## Bucles con Go To Task

La tarea **Go To Task** funciona con lógica condicional simple: si la condición que defines es verdadera, el flujo salta de vuelta a la tarea que indiques; si es falsa, continúa hacia adelante con normalidad.

| **Condición disponible** | **Descripción** |
| --- | --- |
| Nº de resultados en un databank | Compara cuántas estrategias hay almacenadas en un databank concreto |
| Nº de ciclos evaluados | Total de ciclos procesados desde el inicio del proyecto |
| Nº de ciclos del proyecto | Ciclos completados en la ejecución actual |
| Nº de ciclos actuales | Vueltas dadas por el bucle en curso |
| Tiempo de ejecución | Tiempo transcurrido desde que arrancó el proyecto |

Un ejemplo real: el objetivo es no pasar a la fase de portfolio hasta tener al menos 500 estrategias en el databank de Optimización. La condición sería "número de resultados en el databank Optimización < 500"; si es TRUE, el flujo vuelve a la tarea 1 (el Builder); si es FALSE, continúa. El resultado es que el ciclo completo se repite tantas veces como haga falta hasta acumular las 500 estrategias, sin que tengas que relanzar nada a mano.



#### IMPORTANTE

Al crear un bucle, tienes que limpiar los databanks intermedios antes de volver al Builder. Si no lo haces, el Builder puede detectar que el databank de salida ya tiene contenido y no generar estrategias nuevas, o peor: acabas mezclando estrategias de distintas vueltas del bucle sin darte cuenta.

## Clear Databank: la pieza que hace posible el bucle

Justo antes del salto de Go To Task, coloca una tarea **Clear Databank** que vacíe todos los databanks intermedios — pero nunca el databank que estás usando como condición del bucle. Si ese databank también se vaciara, la condición nunca se cumpliría y el bucle no terminaría jamás.

| **Databank** | **¿Limpiar en cada ciclo?** | **Motivo** |
| --- | --- | --- |
| Resultado del Builder | Sí | Para que el Builder pueda generar estrategias nuevas en el siguiente ciclo |
| Databanks intermedios (retesteo, Monte Carlo, etc.) | Sí | Para que cada retest procese solo las estrategias del ciclo nuevo |
| Databank acumulador (el que evalúa Go To Task) | No | Es el que se está llenando; si lo vacías, la condición no se cumplirá nunca |

## Gestión de datos y memoria en flujos grandes

Un flujo que procesa miles de estrategias con varias pruebas de robustez encadenadas puede consumir decenas de gigabytes de RAM si no lo gestionas con cuidado. Algunas prácticas que marcan la diferencia:

- Crea un databank separado para cada etapa del embudo, con nomenclatura consistente — por ejemplo, DV_01_Builder, DV_02_OOS, DV_03_MC_Trades, DV_04_MC_Retest, DV_05_Final.
- Elimina los databanks intermedios (con la tarea Delete Databank, no solo Clear) en cuanto las estrategias hayan avanzado a la siguiente etapa y ya no los necesites.
- El databank final nunca se elimina: es la salida del flujo.
- Añade una tarea de exportación justo antes del final para guardar los resultados aunque el flujo se interrumpa a mitad de proceso.

Para trabajar con grandes volúmenes de datos históricos en servidores o discos externos sin duplicar archivos, StrategyQuant admite enlaces simbólicos a nivel de sistema operativo. En Windows, desde una consola con permisos de administrador:

`mklink /D "C:\StrategyQuantX\data" "D:\TusDataHistoricos\sqx_data"`

StrategyQuant seguirá buscando los datos en su ruta habitual, pero en realidad los archivos estarán en tu disco D: o en un servidor NAS — sin duplicación de datos y con mejor rendimiento si usas SSDs dedicados.

| **Componente** | **Recomendación para Custom Projects** |
| --- | --- |
| RAM | Mínimo 16 GB; 32-64 GB recomendado para flujos con Monte Carlo Retest masivo |
| CPU | Prioriza el número de núcleos físicos sobre la frecuencia; 8 o más idealmente |
| Almacenamiento | SSD para la carpeta de datos de StrategyQuant; HDD para copias de seguridad y data histórica bruta |
| Sistema operativo | Windows 10/11 o Windows Server 2019/2022; Linux para servidores headless |
| VPS | Para ejecuciones largas de 48-72 horas, usa un VPS dedicado y conéctate solo para revisar resultados |

## Preguntas frecuentes (FAQs)

##### ¿Qué pasa si olvido limpiar un databank antes de un bucle?

El comportamiento más habitual es que el Builder se encuentre con un databank de salida que ya tiene contenido y no genere estrategias nuevas, o que las nuevas estrategias se mezclen con las de la vuelta anterior sin que puedas distinguirlas. En la práctica, invalida el bucle.

##### ¿Puedo limitar el número de vueltas de un bucle para que no se quede corriendo indefinidamente?

Sí — puedes combinar la condición principal con un límite de ciclos evaluados o de tiempo de ejecución, de forma que el flujo se detenga aunque no se haya alcanzado el objetivo, y así revisar y ajustar los filtros en vez de dejarlo corriendo sin fin.

##### ¿Por qué usar Copy Config en vez de simplemente recordar los valores?

Porque cuantos más campos hay que igualar entre tareas — símbolo, rango de fechas, spread, opciones de trading, money management — más fácil es que se te escape uno. Copy Config elimina ese riesgo de raíz, copiando todo de una vez.

##### ¿Es necesario un VPS para correr Custom Projects grandes?

No es obligatorio, pero para ejecuciones de 48-72 horas resulta mucho más práctico: el flujo sigue corriendo aunque apagues tu equipo, y solo te conectas para revisar resultados o recibir la notificación final.

## Sigue leyendo el contenido de esta serie

[![WikiSQX - Custom Projects > Custom Projects en StrategyQuant: guía completa" srcset="https://wikisqx.com/wp-content/uploads/2026/08/WikiSQX-StrategyQuantX-Custom-Projects_Guia-completa.jpg 1200w, https://wikisqx.com/wp-content/uploads/2026/08/WikiSQX-StrategyQuantX-Custom-Projects_Guia-completa-980x408.jpg 980w, https://wikisqx.com/wp-content/uploads/2026/08/WikiSQX-StrategyQuantX-Custom-Projects_Guia-completa-480x200.jpg 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1200px, 100vw" decoding="async" fetchpriority="high" />](https://wikisqx.com/custom-projects-guia-completa/)[Custom Projects](https://wikisqx.com/custom-projects/)

#### [Custom Projects en StrategyQuant: la guía completa](https://wikisqx.com/custom-projects-guia-completa/)

Qué son, cómo funcionan y por qué son la herramienta que separa a un trader que prueba cosas...

[Aprender más](https://wikisqx.com/custom-projects-guia-completa/)

[
