El template es el punto donde AlgoWizard y el Builder genético dejan de ser dos herramientas separadas y empiezan a trabajar juntas: se fija la lógica que ya funciona y se deja que el motor de búsqueda optimice exactamente lo que todavía puede mejorar.
Tabla de contenidos
Qué es un template en AlgoWizard
Un template es una estrategia de AlgoWizard configurada en un modo especial que actúa como esqueleto. En lugar de tener valores fijos para todos sus parámetros, algunos se marcan como aleatorios u optimizables. Cuando ese template se carga en el Builder, el motor de búsqueda no genera estrategias desde cero: parte de la estructura predefinida y busca automáticamente los mejores valores para los parámetros marcados como variables.
| Búsqueda normal en Builder | Búsqueda con Template |
| Genera estrategias desde cero, sin estructura previa. | Parte de un esqueleto definido por el usuario. |
| Explora todo el espacio de posibilidades. | Explora solo las variaciones permitidas dentro de la plantilla. |
| Más creativa pero menos dirigida. | Más eficiente y orientada a refinar una estrategia concreta. |
| Las estrategias resultantes son muy diversas entre sí. | Las estrategias resultantes comparten el mismo esqueleto (alta correlación). |
Activar el modo template
El modo template se activa dentro de AlgoWizard: se abre la estrategia, se entra en Settings, se accede a la pestaña Advanced y se activa el interruptor correspondiente. Un indicador visual aparece entonces en la parte superior del editor para recordar que se está trabajando en ese modo.
ATENCIÓN
Al activar el modo template, el botón Run Backtest queda deshabilitado. Ya no se pueden ejecutar backtests directamente desde AlgoWizard, porque la estrategia deja de tener valores fijos: algunos parámetros son variables que solo el Builder puede optimizar.
Marcar parámetros como aleatorios u optimizables
En modo template, al hacer clic sobre cualquier parámetro aparece una opción que en modo normal no existe: marcarlo como Random Value o definirle un rango de optimización.
Random Value hace que el Builder busque libremente, entre todas las opciones del desplegable de condiciones, el mejor indicador o condición posible para ese elemento. Para parámetros numéricos o temporales, en lugar de Random Value se puede definir un rango específico haciendo clic en los tres puntos junto al parámetro y configurando un valor mínimo, un valor máximo y un paso.
| Elemento | Configuración de ejemplo |
| Hora inicio | Desde las 06:00 hasta las 09:00 en pasos de 1 hora |
| Hora fin | Desde las 10:00 hasta las 17:00 en pasos de 1 hora |
CLAVE PRÁCTICA
Definir un rango específico en lugar de Random Value limita el espacio de búsqueda a variaciones que tienen sentido. Esto reduce el riesgo de sobreoptimización y hace la búsqueda más rápida y dirigida que dejar el parámetro completamente abierto.
Optimizar parámetros que no tienen opción verde
Algunos parámetros de las órdenes, como el Take Profit o el Stop Loss en pips, no muestran directamente la opción de aleatorización. El truco para resolverlo son las variables intermedias.
| Paso | Acción |
| 1 | Crear una variable Double para cada parámetro a optimizar (ej: 'pips_take_profit', 'pips_stop_loss'). |
| 2 | En Cálculos, asignar a cada variable un valor numérico fijo. |
| 3 | Una vez creada como número, ya aparece la opción verde: definir el rango (ej: TP de 10 a 50 pips en pasos de 2). |
| 4 | Sustituir el valor directo del TP y SL en la orden por las variables recién creadas. |
| 5 | Como las variables se optimizan en Cálculos antes de llegar a la orden, esta ya recibe el valor óptimo encontrado. |
Guardar y recargar el template
Con todos los parámetros configurados, se guarda desde File > Save Template As, eligiendo la carpeta de destino y anteponiendo, como convención recomendada, el prefijo 'template_' al nombre de la estrategia base.
ATENCIÓN
En versiones anteriores de StrategyQuant existía un bug que corrompía el guardado si se había ejecutado un backtest antes de guardar el template. Por precaución, recarga siempre el template justo después de guardarlo para confirmar que se ha guardado correctamente.
Usar el template en el Builder
Una vez guardado, el template se carga desde el Builder en Formación > Template > Cargar. A partir de ahí se configuran los parámetros habituales del Builder: tipo de búsqueda (genética), condiciones de filtrado, data y rango temporal, y se ajusta la función objetivo en el Ranking antes de pulsar Start.
CLAVE PRÁCTICA
El template prevalece sobre la configuración del Builder en lo que respecta a la estructura de la estrategia. Aunque el Builder tenga configurado un TP y SL global, si el template los tiene marcados como variables, el Builder los optimizará dentro del rango definido en el template.
| Parámetro de 'What to Build' | Recomendación |
| Número de condiciones de entrada | Si quieres exactamente una condición, fija el rango en 1-1; dejar 1-3 puede añadir hasta 3 filtros. |
| Tipo de búsqueda | Genética, para aprovechar la optimización evolutiva. |
| Data | El mismo rango temporal usado en la estrategia base del template. |
Interpretar los resultados
Una vez generadas las estrategias, conviene abrirlas en AlgoWizard y compararlas con el template original.
| Elemento a verificar | Lo que debería verse |
| Indicador de nivel de precio | El seleccionado por el Builder: puede ser el original o uno distinto si se marcó como Random Value. |
| Rango horario del indicador | Dentro del rango definido en el template. |
| Valores de TP y SL | Dentro de los rangos especificados. |
| Número de condiciones de entrada | Coincide con lo configurado en 'What to Build'. |
Si varias estrategias resultantes coinciden en el mismo rango horario o el mismo indicador de filtrado, es una señal de que el Builder ha encontrado un patrón estadísticamente sólido en esos valores, no una casualidad aislada.
Usos recomendados del template
| Uso | Descripción |
| Perfilado final de estrategia | Afinar los últimos parámetros de una estrategia que ya funciona pero podría mejorar. |
| Mejora de entradas | Buscar la mejor condición de entrada manteniendo la lógica de salida intacta. |
| Mejora de salidas | Buscar el mejor TP/SL o trailing stop manteniendo la lógica de entrada intacta. |
| Búsqueda de filtros | Identificar qué indicador filtra mejor las operaciones poco fiables. |
Riesgos y precauciones
ATENCIÓN
En versiones anteriores de StrategyQuant existía un bug que corrompía el guardado si se había ejecutado un backtest antes de guardar el template. Por precaución, recarga siempre el template justo después de guardarlo para confirmar que se ha guardado correctamente.
| Riesgo | Cómo mitigarlo |
| Alta correlación entre estrategias | Todas comparten el mismo esqueleto; seleccionar varias como si fueran independientes es un error. |
| Sobreoptimización de parámetros | Usar rangos acotados y con sentido lógico, no rangos de 0 a infinito. |
| Sesgo de selección | No elegir la estrategia con mejor backtest sin validar en Out-of-Sample. |
| Exceso de parámetros optimizados | Optimizar pocos a la vez; cuantos más simultáneamente, mayor riesgo de falsos positivos. |
Preguntas frecuentes (FAQs)
¿Por qué se deshabilita el Run Backtest al activar el modo template?
Porque la estrategia deja de tener valores fijos en los parámetros marcados como variables. Sin un valor concreto no hay nada que backtestear directamente desde AlgoWizard: esa búsqueda de valores es tarea del Builder.
¿Cuándo usar Random Value en lugar de un rango de optimización?
Random Value tiene sentido quiere dejarse abierta la elección entre indicadores o condiciones distintas. Un rango de optimización es preferible para parámetros numéricos o temporales, porque acota la búsqueda a valores con sentido y reduce el riesgo de sobreoptimización.
¿Cómo se optimiza el Take Profit si no aparece la opción verde al hacer clic?
Creando una variable Double intermedia, asignándole el valor numérico en Cálculos y sustituyendo el valor directo de la orden por esa variable. Al ser ya un número gestionado como variable, sí aparece la opción de aleatorización.
¿Las estrategias generadas a partir de un template son diversificables entre sí?
No de forma directa: al compartir el mismo esqueleto, tienden a estar altamente correlacionadas. Seleccionar varias como si fueran estrategias independientes es uno de los errores más frecuentes al trabajar con templates.
Sigue leyendo el contenido de esta serie
AlgoWizard en StrategyQuant X: gestión avanzada de posición y estrategias intermercado
El Builder genético explora un espacio de búsqueda amplio de forma automática. Algo Wizard es la...
AlgoWizard en StrategyQuant X: interfaz y estructura general
Antes de escribir la primera condición, conviene recorrer la interfaz sin prisa. AlgoWizard...
AlgoWizard: lógica interna y orden de ejecución en StrategyQuant X
AlgoWizard parece, a primera vista, un editor visual de casillas y desplegables. Pero por debajo...
AlgoWizard: Tipos de entrada (Market, Stop, Limit y encadenamiento)
Definir cuándo entrar es solo la mitad del trabajo. Cómo se ejecuta esa entrada —a mercado,...
AlgoWizard: Tipos de salida y gestión del cierre de posiciones
Una operación puede cerrarse de dos formas distintas en AlgoWizard, y ambas pueden convivir en la...
AlgoWizard: Variables (Integer, Double, Boolean y String)
Las variables son lo que separa una estrategia con valores fijos de un robot capaz de recordar...
AlgoWizard: Contadores y fórmulas avanzadas para condiciones multi-vela
Las variables dejan de ser simples contenedores en cuanto se combinan con fórmulas y se usan para...
AlgoWizard IA: generación de estrategias con inteligencia artificial
AlgoWizard incorpora un asistente de inteligencia artificial capaz de generar estrategias de...
Escáner de ventaja horaria con AlgoWizard: guía paso a paso
NOTA Este es un caso práctico completo: cómo usar Algo Wizard y la Optimización Simple de...










