AlgoWizard: lógica interna y orden de ejecución en StrategyQuant X

El orden en que AlgoWizard procesa pestañas y reglas determina el comportamiento real de la estrategia. Tipos de pestaña, Rule Trigger, la diferencia entre señal y tipo de entrada, y el triple filtro de seguridad del template.

AlgoWizard parece, a primera vista, un editor visual de casillas y desplegables. Pero por debajo hay una regla de procesamiento fija que decide en qué orden se evalúa cada cosa, y esa regla es la que explica por qué dos estrategias que parecen configuradas igual pueden comportarse de forma distinta.

Tabla de contenidos

La regla fundamental: de izquierda a derecha, de arriba abajo

AlgoWizard procesa siempre la estrategia siguiendo el mismo orden de lectura: entre pestañas, de izquierda a derecha; dentro de cada pestaña, de arriba abajo. Es la clave para que una estrategia funcione exactamente como se diseñó, y la fuente más habitual de errores quien no lo tiene en cuenta: una variable calculada en una pestaña que aparece a la derecha de otra que la necesita, simplemente, todavía no existe cuando esa segunda pestaña se evalúa.

Eje de lecturaDirección de procesamiento
Entre pestañasDe izquierda a derecha.
Dentro de cada pestañaDe arriba hacia abajo.
Si hay más pestañasContinúa en el mismo orden hasta procesarlas todas.

NOTA

Piensa en AlgoWizard como un lector que recorre un libro: primero de izquierda a derecha entre capítulos y, dentro de cada capítulo, de arriba abajo. Por eso, si una estrategia necesita calcular variables antes de evaluar señales, la pestaña de cálculos debe colocarse a la izquierda de las pestañas de señales.

Los cuatro tipos de pestaña

Al añadir una nueva pestaña con el botón Add Rule, AlgoWizard ofrece cuatro tipos según la lógica que se quiera implementar. Las pestañas del template estándar —Long Entry Signal, Short Entry Signal, Long Exit Signal, Short Exit Signal— son todas de tipo If Condition.

Tipo de pestañaDescripción
If ConditionSi se cumple la condición definida, ejecuta la acción. Es el tipo por defecto del template.
If / ElseSi se cumple la condición, ejecuta la acción A; si no, ejecuta la acción B.
Action onlyEjecuta una acción directamente, sin que se cumpla ninguna condición previa.
Signal (lógica propia)Pestaña de señales con una lógica personalizada distinta a la estándar.

Rule Trigger y tiempo de ejecución

Cada pestaña dispone de dos configuraciones que determinan cuándo y con qué frecuencia se evalúa su contenido: el Rule Trigger y el tiempo de ejecución.

TriggerCuándo se activa la pestaña
On Bar Open (recomendado)La pestaña se evalúa cada vez que abre una nueva vela.
On InitSe ejecuta una sola vez al arrancar el robot. Útil para inicializaciones.
On EndSe ejecuta al finalizar la ejecución del robot.
OpciónComportamiento
Bar Open (recomendado)Solo evalúa el contenido de la pestaña cuando abre una nueva vela. Más eficiente y estable.
Every TickEvalúa el contenido en cada movimiento del precio. Mayor precisión pero mayor coste computacional.

ATENCIÓN

No cambies el Rule Trigger ni el tiempo de ejecución salvo que tengas una razón concreta. El valor correcto para el desarrollo habitual es On Bar Open con Bar Open. Every Tick solo se justifica cuando la estrategia necesita reaccionar dentro de la misma vela.

Señal de entrada frente a tipo de entrada

Este es uno de los conceptos que más confusión genera al empezar con AlgoWizard, porque en la interfaz aparecen muy próximos pero son dos pasos completamente independientes: primero se define la señal —¿cuándo entrar?— y después el tipo de entrada —¿cómo ejecutar la orden?

ConceptoQué esDónde se define
Señal de entradaLa condición lógica que detecta una oportunidad. Ejemplo: RSI(14) < 30 = señal de compra.Pestañas de Trading Signals (Long/Short Entry Signal).
Tipo de entradaCómo se ejecuta la orden una vez que la señal es verdadera: a mercado, tipo stop, tipo limit...Bloque Then Action dentro de la pestaña de acción.

El desplegable de condiciones

Al pulsar Añadir condición en una señal de trading se abre el desplegable de condiciones: el punto donde se construye toda la lógica de la estrategia sin escribir una sola línea de código. Está organizado por categorías —señales predefinidas, patrones de vela, condiciones temporales (Bar by Time), controles internos, variables, funciones matemáticas, condiciones de precio, indicadores técnicos y bloques personalizados— y cuenta con un buscador integrado que filtra al instante por texto, por ejemplo escribiendo 'rs' para localizar todas las opciones relacionadas con el RSI.

Variables booleanas: el filtro que conecta condición y acción

Cada condición añadida a una señal de trading genera internamente una variable booleana, capaz de tomar solo dos valores. Cuando el programa llega al bloque Then Action, solo ejecuta la acción si el bloque If Condition asociado es True. Esa es la mecánica central de filtrado de todo AlgoWizard.

ValorSignificadoConsecuencia
True (verdadero)La condición se cumple en esa vela.AlgoWizard continúa hacia la acción definida.
False (falso)La condición no se cumple.AlgoWizard no ejecuta la acción y pasa a la siguiente pestaña.

El triple filtro de seguridad del template

La pestaña de entrada long del template estándar no verifica una sola condición: comprueba tres antes de ejecutar la orden. Long Entry Signal = True (existe señal de compra), Short Entry Signal = False (no existe señal de venta simultánea) y Long Exit Signal = False (no existe señal de salida activa en ese mismo momento).

CLAVE PRÁCTICA

Este triple filtro evita entradas contradictorias o redundantes: es la lógica de seguridad básica que AlgoWizard incluye por defecto en el template. Si se elimina alguna de las tres condiciones, es posible que la estrategia abra y cierre una posición en la misma vela sin que resulte evidente por qué.

Del editor al primer backtest

Una vez configurada la estrategia, pulsar Run Backtest en la barra superior lanza la ejecución; los resultados aparecen primero en el panel inferior del editor y, al finalizar, AlgoWizard redirige a una vista de resultados equivalente a la del Builder genético: métricas estadísticas, listado completo de trades, curva de equity, análisis de trades y el código exportable del robot listo para MetaTrader. Desde ahí, el botón Back to Editor permite volver a ajustar la estrategia y relanzar el backtest sin perder el trabajo hecho.

Preguntas frecuentes (FAQs)

¿Por qué el orden de las pestañas afecta al resultado del backtest?

Porque AlgoWizard evalúa de izquierda a derecha entre pestañas y de arriba abajo dentro de cada una. Una variable calculada en una pestaña situada a la derecha de otra que depende de ella todavía no existe cuando esa segunda pestaña se procesa.

¿Cuándo tiene sentido usar Every Tick en lugar de Bar Open?

Solo cuando la estrategia necesita reaccionar a movimientos de precio dentro de la misma vela, por ejemplo para un stop muy ajustado. Para el desarrollo habitual, Bar Open es más eficiente y produce resultados más estables.

¿Qué pasa si quito la condición 'Long Exit Signal = False' de la entrada long?

Se pierde parte del filtro de seguridad del template: es posible que, en la misma vela en que se genera una señal de salida, también se cumplan las condiciones de entrada, abriendo y cerrando una posición de forma no intencionada.

¿La señal de entrada y el tipo de entrada se configuran en el mismo sitio?

No. La señal se define en las pestañas de Trading Signals (cuándo operar) y el tipo de entrada se elige dentro del bloque Then Action de esa misma pestaña (cómo ejecutar la orden). Son dos pasos distintos aunque estén uno junto al otro.

Sigue leyendo el contenido de esta serie

WikiSQX - AlgoWizard > Lógica interna y orden de ejecución en StrategyQuant X

Buscar en la wikiSQX:

Seguir a Quantified Models:

Base de conocimiento:

Índice de esta entrada: