Las variables son lo que separa una estrategia con valores fijos de un robot capaz de recordar estados, calcular niveles dinámicos y adaptar su comportamiento vela a vela. Dominar los cuatro tipos disponibles es un paso obligado antes de construir cualquier lógica algo más compleja que un cruce de medias.
Tabla de contenidos
Qué son las variables en AlgoWizard
Las variables son espacios de memoria que almacenan valores dentro de una estrategia. Se gestionan desde un panel dedicado, accesible mediante un icono discreto del editor, donde se pueden ver, crear y eliminar todas las variables del proyecto en una única tabla.
Los cuatro tipos disponibles
| Tipo | Descripción | Acepta | Ejemplo |
| Integer | Número entero sin decimales. | 1, 2, 100 | Contador de velas |
| Double | Número con decimales (coma flotante). | 10.5, 1234.75 | Precio, nivel de MA |
| Boolean | Valor lógico (verdadero/falso). | true / false | Señal de entrada/salida |
| String | Cadena de texto. | 'Hola', 'Buy' | Etiquetas, mensajes |
Boolean: la base de las señales
Las cuatro variables que se crean por defecto en la plantilla estándar de AlgoWizard son de tipo Boolean: long_entry_signal, long_exit_signal, short_entry_signal y short_exit_signal. Se evalúan dentro de los bloques condicionales (IF): si la variable vale true, la condición se cumple y se ejecuta la acción correspondiente.
NOTA
Todo el sistema de señales de AlgoWizard descansa sobre estas cuatro variables booleanas. Cuando se añade una condición a una señal de trading, en realidad se está construyendo la lógica que determina en qué momento esa variable pasa a valer true.
Double: el tipo más usado en trading
Double es el tipo más habitual porque los precios y los valores de indicadores casi siempre tienen parte decimal. En AlgoWizard los decimales se separan con punto, no con coma.
ATENCIÓN
Si asignas un valor decimal a una variable de tipo Integer, la parte decimal se trunca y el resultado puede introducir errores en los niveles de las órdenes. Usa siempre Double para variables que almacenen precios o valores de indicadores; reserva Integer para contadores e índices que nunca necesiten precisión decimal.
Crear una variable paso a paso
| Paso | Acción |
| 1 | Abrir el panel de variables haciendo clic en el icono correspondiente del editor. |
| 2 | Pulsar el botón 'Añadir' (símbolo +). |
| 3 | Escribir el nombre de la variable (p. ej. precio, contador, señal_activa). |
| 4 | Seleccionar el tipo en la columna 'Tipo': Integer, Double, Boolean o String. |
| 5 | Introducir el valor inicial de la variable. |
| 6 | Marcar la casilla 'Confi' si la variable debe ser editable desde MetaTrader 4. |
La columna Confi: variables editables en MetaTrader 4
Al exportar el robot a MetaTrader 4 y pulsar F7 para abrir su configuración, solo se muestran las variables que tienen marcada la casilla Confi en AlgoWizard. Por defecto, el Magic Number siempre viene marcado, porque es uno de los parámetros que con más frecuencia se necesita cambiar al desplegar el robot en distintas cuentas.
CLAVE PRÁCTICA
Marca Confi solo en los parámetros que realmente vayas a ajustar desde MetaTrader sin recompilar el robot, como los pips de TP y SL. Exponer variables innecesarias satura el panel de configuración del robot y dificulta el despliegue.
Asignar valores dinámicos: la acción 'Asignar variable'
Para que una variable almacene un valor que se actualiza en cada barra —por ejemplo, el nivel de una media móvil— se usa la acción Asignar variable dentro de una regla de tipo Action Only. El flujo habitual es añadir una nueva regla, configurar el Rule Trigger en Bar Update con ejecución en apertura de barra, y dentro de esa regla elegir Otras acciones > Asignar variable, seleccionando la variable de destino y el valor a asignar. Ese valor se sobreescribe en cada apertura de barra, siempre con el dato más reciente.
Una vez asignada, la variable Double puede usarse como nivel de precio en una orden pendiente: en el campo de precio de una entrada Stop o Limit, se selecciona primero Number y después se navega hasta Variable > Double > el nombre de la variable. El nivel de la orden se actualizará automáticamente con cada barra, siguiendo el valor almacenado.
El módulo Debug (DBA): visualizar la evolución de una variable
AlgoWizard incluye un módulo de depuración, Debug (DBA), que muestra cómo evoluciona el valor de una variable a lo largo de todo el backtest. Se activa cambiando el módulo de OFF a ON en el panel principal, añadiendo la variable a monitorizar y asignándole un nombre descriptivo. Al volver a ejecutar el backtest, los resultados incluyen una pestaña Explore con el valor histórico de la variable vela a vela, lo que permite confirmar que toma los valores esperados antes de operar con dinero real.
Buenas prácticas
| Buena práctica | Razón |
| Elegir el tipo correcto | Double para precios e indicadores, Integer para contadores, Boolean para señales, String para textos. |
| Nombres descriptivos | Facilita el mantenimiento y la depuración del robot. |
| Ordenar las pestañas | La pestaña de cálculos, donde se asignan variables, siempre antes de las pestañas de señales. |
| Activar DBA durante el desarrollo | Permite validar que los valores son correctos antes de operar con dinero real. |
| Marcar Confi solo lo necesario | Expone en MetaTrader únicamente los parámetros que realmente se van a ajustar. |
Preguntas frecuentes (FAQs)
¿Por qué mis órdenes tienen niveles de precio incorrectos si uso Integer?
Porque Integer trunca cualquier parte decimal del valor asignado. Un precio o un nivel de indicador casi siempre tiene decimales, así que debe almacenarse en una variable Double.
¿Qué diferencia hay entre marcar o no marcar la casilla Confi?
Determina si esa variable aparece como parámetro editable al abrir la configuración del robot (F7) en MetaTrader 4. Sin marcar, el valor queda fijo al que se definió en AlgoWizard, solo modificable recompilando el robot.
¿Para qué sirve exactamente el módulo Debug (DBA)?
Para ver, vela a vela, el valor real que tomó una variable durante el backtest, en una pestaña de resultados dedicada. Es la forma más fiable de confirmar que una fórmula o una asignación se está comportando como se diseñó.
¿Puedo usar una variable como nivel de precio en una orden Stop?
Sí. En el campo de precio de la orden, selecciona Number y después navega hasta Variable > Double > el nombre de tu variable; el nivel de la orden seguirá el valor almacenado en cada barra.
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: 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: Templates y optimización de estrategias en el Builder
El template es el punto donde AlgoWizard y el Builder genético dejan de ser dos herramientas...
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...










