Cuando varias señales llegan al mismo punto de decisión, no basta con ejecutarlas en el orden que use el programa. Si compiten por el riesgo, el margen o la exposición de una sola cuenta, el backtest necesita una regla común y determinista antes de dimensionar las órdenes.
De lo contrario, una preferencia invisible decide qué estrategia entra. Cambias la lista de símbolos, obtienes otra curva y el mercado no ha cambiado en absoluto. Eso no es un detalle técnico: es una pieza de la estrategia.
El choque empieza en el estado compartido
Dos señales chocan cuando el test no puede establecer entre ellas un orden de mercado relevante antes de aplicar una restricción de cuenta. Pueden venir de símbolos distintos, de varios módulos o de órdenes pendientes que pasan a ser elegibles dentro del mismo intervalo.
Aquí conviene separar lo que sabes de lo que el dato no cuenta. Un cierre de barra común permite detectar varias señales, pero no inventa una secuencia entre ellas. El problema se parece al que aparece al comparar backtesting al cierre de barra e intrabar: que varios eventos estén dentro del dato no significa que conozcas su recorrido interno.
La referencia correcta es una foto de la cuenta justo antes de decidir. Todas las candidatas deben ver la misma equity flotante, las mismas posiciones abiertas, el mismo margen reservado y los mismos límites activos.
Candidatas primero; órdenes después
Construye primero el conjunto completo de señales válidas. Todavía no las dimensionas ni permites que una modifique la cuenta que observará la siguiente.
Después aplica la regla de selección del portfolio. Solo las elegidas pasan al sizing y al envío. Si una queda fuera, guarda el motivo; una oportunidad descartada no debería desaparecer del historial como si nunca hubiera existido.
| Registro | Pregunta que debe responder |
|---|---|
| Señal candidata | ¿Qué condición válida apareció? |
| Foto previa | ¿Qué estado común vieron todas? |
| Selección | ¿Qué regla resolvió la competencia? |
| Sizing | ¿Cómo se repartió la capacidad disponible? |
| Resultado | ¿Qué orden se aceptó, redujo o rechazó, y por qué? |
Ese rastro también ayuda al auditar el margen de un backtest en cTrader. Una orden imposible no puede figurar como ejecutada, pero tampoco conviene borrarla: el rechazo explica por qué la cartera real habría tomado un camino distinto.
Formas honestas de resolver el empate
No existe un criterio universal para elegir entre señales simultáneas. Sí existe una exigencia: el criterio debe estar definido antes de mirar cuál habría ganado más dinero.
Puedes fijar una prioridad estable por estrategia o símbolo. También puedes repartir el presupuesto de riesgo entre las candidatas, ordenar por una puntuación disponible en ese instante, rechazar todo el grupo cuando la ambigüedad sea inaceptable o mantenerlas elegibles hasta alcanzar un límite común. Cada opción produce otra estrategia y debe validarse como tal.
La prioridad fija resulta fácil de reproducir, pero favorece siempre al mismo elemento. El reparto conserva diversidad a costa de reducir tamaños. Una puntuación añade una capa que también puede sobreajustarse. Rechazar el grupo es prudente, aunque elimina operaciones que sí podrían haberse ejecutado.
Lo que nunca vale es ordenar por el resultado futuro de cada trade. Eso usa información posterior para fabricar una decisión anterior.
Dale la vuelta al orden y observa
Una prueba sencilla revela cuánto pesa el mecanismo oculto: repite el mismo backtest con recorridos deterministas alternativos. Invierte el orden de símbolos, luego el de estrategias y después usa una clave estable que no dependa del resultado.
Si cambia de forma material la trayectoria, ya tienes el diagnóstico. El sistema es sensible a cómo rompe los empates. Promediar las variantes no arregla la especificación; solo disimula que falta elegir la regla que tendrá la operativa real.
El límite de exposición y el orden cumplen trabajos distintos. El portfolio heat en backtesting de prop firm responde cuánto riesgo conjunto cabe. La política de colisión decide quién ocupa el espacio restante cuando llegan varias candidatas.
No confundas simultaneidad con correlación
Una pareja de señales puede coincidir en el tiempo sin compartir el mismo riesgo económico. También puede haber posiciones muy correlacionadas que entren en momentos diferentes. Por eso el test debe conservar ambos datos: concentración del conjunto aceptado y secuencia usada para formarlo.
Las operaciones correlacionadas en una cuenta prop explican el problema de acumular exposiciones parecidas. La colisión temporal plantea otra pregunta: ante varias entradas válidas, ¿qué mecanismo dejó unas dentro y otras fuera?
Una curva tranquila no contesta esa pregunta. Puede reflejar diversificación real o una preferencia de orden que apartó repetidamente a un módulo. Sin el registro de candidatas rechazadas no puedes distinguirlo.
El límite que sigue presente en real
Una política determinista vuelve reproducible el histórico, no el mercado en vivo. No garantiza que los mensajes reales lleguen igual, que el broker acepte las órdenes elegidas ni que la latencia sea irrelevante.
En cTrader, conserva junto al resultado la convención temporal, la foto de estado, la regla de desempate y el listado de rechazos. realbacktesting es un estudio de software de trading para cTrader centrado en resultados inspeccionables y reproducibles; su metodología deja visibles los supuestos de ejecución y validación en lugar de esconderlos detrás de la curva.
Dudas habituales
¿Sirve el orden alfabético para procesar señales?
Es reproducible, pero sigue siendo una prioridad del portfolio. Solo tiene sentido si aceptas esa preferencia en el sistema final y compruebas cuánto depende el resultado de ella.
¿Puedo calcular el tamaño de todas antes de elegir?
No cuando comparten presupuesto de riesgo o margen. Cada señal podría reservar como propia una capacidad que las demás también están usando. Selecciona con una foto común y dimensiona después el conjunto aceptado.
¿Un desempate aleatorio se parece más al mercado real?
Puede servir para medir sensibilidad. No sustituye una regla reproducible salvo que el proceso aleatorio forme parte deliberada del sistema y quede fijado.
El cierre es incómodo y útil: si reordenar una lista cambia tu backtest, esa lista ya estaba tomando decisiones de trading por ti.