El skill hypothesis-test

Principiante 6 min

El error más caro al probar una idea es ajustar las reglas al pasado y creerse una cifra bonita.

El skill hace la prueba como la haría un investigador cuidadoso: acuerda las reglas contigo, calcula con costos, comprueba por separado con datos a los que la idea no se ajustó y compara con entradas aleatorias. Todo lo que el agente supuso por su cuenta va al informe.

Cómo instalarlo

Copia el texto del skill y pégalo en el chat del agente con esta línea encima:

Guarda esto como un skill llamado "hypothesis-test". Si no puedes guardar skills, síguelo durante el resto de nuestra conversación.
hypothesis-test.SKILL.mdHaz clic para descargar
Texto del skill
---
name: hypothesis-test
description: Prueba una idea de trading sobre el historial de ATAS a través del servidor MCP de ATAS, con un informe estándar que cubre costos, tamaño de la muestra, una comprobación fuera de la muestra y una comparación con entradas aleatorias. Úsalo cuando el usuario pida un backtest, quiera probar un setup, un patrón o un nivel, o quiera saber con qué frecuencia ocurre algo ("funciona la absorción en el POC de ayer", "prueba mi idea", "con qué frecuencia vuelve el precio al POC"). No sirve para señales de hoy, puntos de entrada ni para colocar órdenes.
compatibility: Requiere el servidor MCP de ATAS, una conexión a un exchange de cripto y la posibilidad de ejecutar código para los cálculos. AI Connect le da al agente datos de mercado de cripto.
metadata:
  version: 0.2
  updated: 2026-11-05
---

# hypothesis-test

Prueba una idea de trading sobre el historial disponible en ATAS e informa de lo que respaldan los datos. Responde en el idioma del usuario, de forma breve. Nunca coloques órdenes y nunca presentes el resultado como prueba de que la estrategia ganará dinero.

## Reglas estrictas

- Prueba solo las reglas que el usuario confirmó. No añadas, quites ni endurezcas filtros, sesiones o ventanas horarias por iniciativa propia. Ignora preferencias de antes en la conversación salvo que el usuario las haya repetido para esta prueba.
- Usa solo datos de ATAS. Usa servicios o archivos externos solo si el usuario los pidió en esta misma solicitud, y nombra la fuente en el informe.
- Calcula con código (tu herramienta de ejecución de código). No calcules estadísticas de cabeza. Si no puedes ejecutar código, dilo y limítate a contar señales.
- Anota cada cambio y cada supuesto en el informe, en "Supuestos y cambios", aunque sean menores.
- Lee los números de las herramientas. Nunca los estimes a partir de una captura de pantalla.

## 1. Fija las reglas

Rellena los campos a partir de la solicitud. Pregunta una sola vez por todo lo que falte y ofrece un valor por defecto. No empieces hasta que el usuario confirme.

| Campo | Ejemplo | Por defecto, si el usuario está de acuerdo |
|---|---|---|
| Instrumento y exchange | BTCUSDT, futuros perpetuos de Binance | Ninguno, el usuario debe indicarlo |
| Periodo de barra | 5 minutos | Ninguno, el usuario debe indicarlo |
| Setup | Envolvente alcista que toca el POC de la sesión anterior | Ninguno, el usuario debe indicarlo |
| Entrada | Apertura de la barra siguiente | Apertura de la barra siguiente |
| Stop | Más allá del mínimo del patrón | Ninguno, el usuario debe indicarlo |
| Objetivo | 1R | Ninguno, el usuario debe indicarlo |
| Salida por tiempo | Cierre a las 20:00 UTC | Ninguno, el usuario debe indicarlo |
| Filtro por hora del día | Solo el horario de la sesión de EE. UU. | Ninguno |
| Lados | Compras y ventas | Según lo que implique el setup |
| Historial | Últimos 60 días | Todo lo que pueda cargar el gráfico |
| Costos | Comisión en % del valor de la operación, deslizamiento de 1 tick por lado | Comisión de `commissions_list`, deslizamiento de 1 tick por lado |
| Funding | Incluirlo para un contrato de futuros perpetuos | No incluirlo y anotarlo en los supuestos |

Si una regla se puede interpretar de dos maneras, pregunta. "Toca el POC" necesita una definición en ticks.

## 2. Obtén los datos sin tocar los gráficos del usuario

1. `workspace_get_overview`, luego `instruments_search` para el instrumento.
2. Abre un gráfico aparte: `modules_open` con `placement: "newTab"` y `tabName: "Hypothesis test"`. No cambies el periodo ni la profundidad del historial en los gráficos del usuario.
3. Fija la profundidad con `module_update_context` y `timeFrame: {"minutes": 5, "daysToLoad": N}`. Si `loaded` es false, espera y vuelve a comprobar. Los periodos largos pueden tardar en cargar.
4. Lee las barras con `chart_get_bars`: `format: "table"`, solo los `fields` que necesites, `count` hasta 2000. Retrocede página a página con `to`. Descarta la última barra si puede seguir formándose.
5. Niveles de sesión: añade al gráfico de prueba el indicador Perfil de Volumen & TPO (en inglés Volume Profile & TPO; búscalo con `indicators_search`) y lee `indicators_get_values` con `levels: 0`, hasta 30 perfiles por llamada, paginando con `to`. No recalcules el POC ni el área de valor a partir de las barras.
6. Condiciones de footprint: `chart_get_bars` con `footprint: true`. `footprintBars` está limitado a 100 barras por llamada y cuenta desde la barra más reciente devuelta, así que prueba las condiciones de footprint solo en el tramo que realmente puedas leer y di hasta dónde llega hacia atrás. Revisa primero el footprint: si en la mayoría de las barras el volumen por nivel es casi el mismo, está distribuido de forma uniforme, y esos niveles y ese POC no deben usarse. Dilo y nombra los días en que los datos son normales.
7. Un setup que se pueda expresar como script por barra se puede calcular con `scripts_preview`: calcula sobre las últimas 20000 barras y no guarda nada. Requiere Script Lab y permiso para ejecutar scripts. Si se deniega, usa las barras.

Si ATAS no devuelve datos de mercado del instrumento, di que a través de AI Connect están disponibles para cripto y detente hasta que el usuario elija un instrumento. Las barras de Replay y ATAS Sim no están disponibles; no busques alternativas.

Las horas de las barras están en UTC. Las cripto cotizan las 24 horas, así que las sesiones se definen por horas del día. Toma el desfase del gráfico de `chartTimeZoneOffset` y ten en cuenta los cambios de horario de verano si la sesión está ligada a Nueva York o Londres.

Antes de calcular, anota la primera y la última barra, el número de sesiones, los huecos si los hay y si el periodo solicitado se cargó completo. Si no, dile al usuario el periodo real.

## 3. Calcula con honestidad

- **Sin mirar al futuro.** Una señal existe solo después de que cierra su barra. Un nivel existe solo después de que cierra la sesión que lo formó. Entrada en la barra siguiente o más tarde.
- **Stop y objetivo en la misma barra:** cuéntalo como stop e indica a cuántas operaciones afectó.
- **Costos:** comisión y deslizamiento en cada operación, en la entrada y en la salida. Calcula una comisión porcentual a partir del valor de la operación al precio de ejecución. Incluye el funding solo si el usuario lo pidió.
- **Posiciones abiertas:** una posición a la vez, salvo que el usuario diga otra cosa. Indica cuántas señales se omitieron por este motivo.
- **Contratos:** el spot y los futuros perpetuos no tienen rollovers. Si el instrumento tiene fecha de vencimiento, anota los rollovers dentro del periodo.
- **Las barras no son ticks.** Las entradas y salidas solo se aproximan a lo que habría obtenido una orden real.

## 4. Compara con algo

- **Divide por tiempo antes de mirar el resultado:** el primer 70 % es dentro de la muestra y el último 30 % es la comprobación fuera de la muestra. Informa de ambas partes. Si fuera de la muestra hay menos de 30 operaciones, di que no puede confirmar nada.
- **Referencia:** las mismas salidas y costos con entradas aleatorias en las mismas sesiones, con suficientes repeticiones para un resultado estable. Muestra el setup junto a esta referencia, con la dispersión de las ejecuciones. Si el resultado del setup está dentro de la dispersión, escribe que no se diferencia de las entradas aleatorias. No digas que es mejor ni peor.
- **Ajuste de parámetros:** no optimices salvo que te lo pidan. Si te lo piden, indica cuántas variantes probaste y prueba la elegida fuera de la muestra una sola vez.

## 5. Elige un veredicto

Usa exactamente uno:

- **Datos insuficientes:** menos de 30 operaciones en total. Da la cifra y ninguna conclusión sobre el resultado.
- **Sin ventaja visible:** después de costos el setup no es mejor que la referencia, o su esperanza no es mayor que cero.
- **Apoyo débil:** mejor que la referencia dentro de la muestra, pero fuera de la muestra diverge, hay muy pocas operaciones o unas pocas operaciones generan la mayor parte del resultado.
- **Merece más pruebas:** mejor que la referencia después de costos en ambas partes y sin depender de unas pocas operaciones.

Nunca escribas "funciona", "rentable" ni "demostrado". La conclusión más fuerte es que la idea merece más pruebas.

## 6. Informe

Usa este formato. Da los resultados en R y en porcentaje del precio de entrada, y en dinero solo si se conoce el tamaño de la posición.

```
Hipótesis: <una línea>
Reglas tal como se probaron: <todos los campos>
Datos: <instrumento, exchange, periodo, primera y última barra, horas, fuente>
Supuestos y cambios: <todo lo que decidiste por tu cuenta, o "ninguno">

                   Dentro de la muestra   Fuera de la muestra   Entradas aleatorias
Operaciones
Porcentaje de acierto (rango del 95 %)
Ganancia / pérdida media (R)
Esperanza después de costos (R)
Profit factor
Drawdown máximo (R)
Racha perdedora más larga

Costos por operación: <% y R>
Porcentaje de acierto de equilibrio para estas salidas: <%>
Stop y objetivo en la misma barra: <cantidad>
Señales omitidas: <cantidad>
Parte del beneficio de las 3 mejores operaciones: <%>
Por mes: <operaciones y esperanza>

Veredicto: <uno de los cuatro>
Por qué: <dos o tres frases con números>
Qué no puede decirte esta prueba: <sus limitaciones reales>
Siguiente prueba: <una sugerencia concreta>
```

## 7. Recoge

Pregunta si se conserva el gráfico de prueba. Si no, ciérralo con `modules_close`. Marca operaciones de ejemplo solo si el usuario lo pide (`LongPosition` / `ShortPosition`) y solo en el gráfico de prueba.

Termina con una línea: es una prueba histórica; los resultados pasados no garantizan resultados futuros, y la decisión es del trader.

Cómo ejecutarlo

Usa hypothesis-test. BTCUSDT, 5 minutos, todo el historial cargado, solo sesión de EE. UU., 9:30-16:00 hora de Nueva York. Compro cuando la barra tiene un stack de tres o más niveles consecutivos con imbalance diagonal de compra: el volumen ask en un nivel es 3 veces el volumen bid del nivel inferior. La barra debe cerrar en el tercio superior de su rango. Entrada en la apertura de la barra siguiente, stop más allá del mínimo de la barra de señal, objetivo 1R, salida a las 16:00 hora de Nueva York. Comisión del 0,05 % del valor de la operación por lado, deslizamiento del 0,01 % por lado.

El agente repite las reglas y pregunta por todo lo que se pueda interpretar de más de una manera:

Chat con el agente de IA
Tú

Usa hypothesis-test. BTCUSDT, 5 minutos, todo el historial cargado, solo sesión de EE. UU., 9:30-16:00 hora de Nueva York. Compro cuando la barra tiene un stack de tres o más niveles consecutivos con imbalance diagonal de compra: el volumen ask en un nivel es 3 veces el volumen bid del nivel inferior. La barra debe cerrar en el tercio superior de su rango. Entrada en la apertura de la barra siguiente, stop más allá del mínimo de la barra de señal, objetivo 1R, salida a las 16:00 hora de Nueva York. Comisión del 0,05 % del valor de la operación por lado, deslizamiento del 0,01 % por lado.

Agente de IA

ATAS está disponible. Antes de la prueba necesito que confirmes los detalles que faltan; tus instrucciones de hypothesis-test lo exigen:

  1. Exchange y contrato: el gráfico abierto es BTCUSDT Binance Futures. ¿Uso este contrato de futuros perpetuos?
  2. Stop "más allá del mínimo": propongo un tick mínimo por debajo del mínimo de la barra de señal.
  3. Imbalance: propongo ask ≥ 3 × bid en el nivel inferior; con bid cero y ask positivo, contarlo como imbalance. Los niveles son ticks mínimos adyacentes del instrumento, sin agrupar precios. ¿Te parece bien?
  4. Sesión: 09:30-16:00 Nueva York con horario de verano. ¿Pruebo todos los días naturales, incluidos los fines de semana, o solo de lunes a viernes? Propongo todos los días, sin filtros adicionales.
  5. Historial: ¿entiendo "todo el cargado" como la profundidad del gráfico actual de BTC, que reproduciré en un gráfico de prueba aparte?
  6. Ejecución: propongo una posición a la vez, sin funding; 1R es la distancia desde el precio de entrada con deslizamiento hasta el stop, objetivo antes de costos. La última entrada permitida es a las 15:55; cualquier posición que siga abierta sale a las 16:00.

Las demás reglas quedan fijas: 5 minutos, solo compras, un stack de ≥3 imbalances, cierre en el tercio superior, entrada en la siguiente apertura, comisión del 0,05 % y deslizamiento del 0,01 % por lado.

Confirma los valores propuestos o dime qué cambiar.

Es una prueba histórica; los resultados pasados no garantizan resultados futuros, y la decisión es del trader.

Cuando confirmas, el agente calcula en un gráfico de una pestaña nueva, "Hypothesis test", y tus gráficos quedan como estaban. En esta ejecución se detuvo una vez más: el footprint de BTCUSDT en ATAS viene en pasos de precio de 10 USDT, mientras que la regla confirmada hablaba de un tick mínimo de 0,1 USDT. Aclaraste que los niveles adyacentes están a 10 USDT entre sí y que el stop va 10 USDT por debajo del mínimo.

Qué obtienes

Primero vienen el veredicto y las reglas tal como se probaron. Después, una tabla con la primera parte del periodo, la segunda parte y, para comparar, las entradas aleatorias: operaciones, porcentaje de acierto, esperanza después de costos, drawdown. Al final viene lo principal: por qué ese veredicto, qué no puede decirte la prueba y qué comprobar a continuación.

Respuesta completa del agente
Chat con el agente de IA
Tú

Toma los niveles con el paso del footprint del gráfico, 10 USDT: tres niveles contiguos son tres precios seguidos con ese paso. Pon el stop 10 USDT por debajo del mínimo de la vela de señal. Lo demás, como confirmaste. Empieza.

Agente de IA

Hipótesis: comprar después de ≥3 imbalances diagonales 3:1 adyacentes y un cierre de la barra en el tercio superior.

Reglas tal como se probaron: BTCUSDT Binance Futures, contrato perpetuo, 5 minutos; niveles a 10 USDT entre sí, ask ≥ 3 × bid en el nivel inferior, cuenta el ask positivo con bid cero. Compra en la siguiente apertura; stop 10 USDT por debajo del mínimo de la barra de señal; objetivo 1R desde el precio de ejecución de la entrada. Todos los días, 09:30-16:00 Nueva York con el paso al horario estándar; última entrada a las 15:55, salida forzada a las 16:00. Una posición a la vez. Comisión del 0,05 %, deslizamiento del 0,01 % por lado; sin funding.

Datos: solo ATAS, Binance Only Market Data. 18.113 barras cerradas, del 4 sep 2026 00:00 al 5 nov 2026 21:20 UTC; 63 sesiones, no falta nada. La profundidad confirmada está cargada por completo. El footprint se leyó para todo el periodo en bloques de hasta 100 barras.

Supuestos y cambios: el paso de los niveles y la distancia del stop se cambiaron según tus indicaciones. Se excluye la barra en formación. El punto de división 70/30 se fijó antes del cálculo: 18 oct 2026 00:35 UTC. El tercio superior incluye su límite inferior; una barra con rango cero no es una señal. Un gap a través del stop se ejecuta en la apertura con deslizamiento. Referencia aleatoria: 2.000 ejecuciones con el mismo número de intentos de entrada por día, un stop más allá de la barra anterior y las mismas salidas; se omiten los intentos con una entrada por debajo del stop. Por eso el número de operaciones ejecutadas es distinto.

Métrica Dentro de la muestra Fuera de la muestra Entradas aleatorias¹
Operaciones 239 109 306 / 155
Porcentaje de acierto, intervalo del 95 % 42,3 % [36,2-48,6] 40,4 % [31,6-49,8] 16,7 % / 17,2 %
Ganancia / pérdida media, R +0,51 / −1,34 +0,53 / −1,45 +0,40 / −2,49; +0,42 / −2,53
Esperanza después de costos, R −0,557 −0,651 −2,013 / −2,022
Esperanza, % del precio de entrada −0,1134 % −0,1139 % −0,1257 % / −0,1284 %
Profit factor² 0,279 0,246 0,032 / 0,034
Drawdown máximo, R 133,67 70,94 615,64 / 312,42
Racha perdedora más larga 11 8 26 / 19

¹ Medianas de las ejecuciones: dentro de la muestra / fuera de la muestra. El 95 % central de las ejecuciones por esperanza: [−2,200; −1,838] R / [−2,282; −1,782] R. Los resultados medios de dos mitades de 1.000 ejecuciones cada una se diferenciaron en menos de 0,004R. ² A partir de las sumas de resultados en R.

Ganancia / pérdida media en porcentaje de la entrada: dentro de la muestra +0,1823 % / −0,3298 %, fuera de la muestra +0,1996 % / −0,3261 %.

Costos por operación: de media 0,1200 %, o 0,597R; por partes 0,591R / 0,611R. Porcentaje de acierto de equilibrio a partir de las ganancias y pérdidas medias observadas: 72,7 %. Stop y objetivo en la misma barra: 0. Señales omitidas por una posición abierta: 180 de 528. Parte del beneficio de las tres mejores operaciones: 3,57 % de la suma de los resultados positivos; el resultado total es negativo, así que una parte del beneficio neto no aplica.

Mes Operaciones Esperanza, R % de la entrada
Septiembre 147 −0,484 −0,1070 %
Octubre 170 −0,659 −0,1177 %
Noviembre, hasta el día 5 31 −0,675 −0,1220 %

Veredicto: Sin ventaja visible.

El setup está por encima de la referencia aleatoria en R, pero después de costos la esperanza es negativa en ambas partes: −0,557R y −0,651R. Fuera de la muestra hay 109 operaciones; ese resultado también es negativo.

Qué no puede decirte esta prueba: las ejecuciones basadas en barras no reproducen la cola de órdenes límite, los spreads reales ni el movimiento dentro de la barra; el funding queda excluido. El drawdown se expresa en sumas de R, sin un modelo de tamaño de posición.

Siguiente prueba: repetir las reglas sin cambios en un periodo nuevo que no se haya usado antes.

¿Conservo el gráfico de prueba Hypothesis test 2 o lo cierro?

Es una prueba histórica; los resultados pasados no garantizan resultados futuros, y la decisión es del trader.

Hay cuatro veredictos: datos insuficientes, sin ventaja visible, apoyo débil, merece más pruebas. El más fuerte es el último: una prueba histórica no puede ir más allá. La idea de este ejemplo obtuvo "sin ventaja visible": funciona mejor que las entradas aleatorias, pero después de costos la esperanza es negativa en ambas partes del periodo. La comisión y el deslizamiento cobrados en porcentaje se comieron de media 0,6 R por operación.

Qué puedes ajustar

Campo Qué indicar Si no lo indicas
Instrumento, periodo, setup, stop, objetivo Tus reglas El agente pregunta
Entrada Cuándo entras Apertura de la barra siguiente
Salida por tiempo Cuándo debe terminar la operación Fin de la sesión
Filtro de sesión Por ejemplo, solo Nueva York Sin filtro
Historial Cuánto hacia atrás Todo lo que carga el gráfico
Costos Tu comisión y deslizamiento Tu comisión de ATAS y 1 tick por lado
Funding Si incluirlo para un contrato de futuros perpetuos No se incluye

También puedes describir la condición en términos de footprint, como en el ejemplo: un stack de imbalances, el delta en el nivel donde cerró la barra.

Qué necesitas

  • Una conexión a un exchange de cripto con datos de footprint, si la condición usa el footprint
  • Un agente que pueda ejecutar código

Es una prueba histórica. Los resultados pasados no garantizan resultados futuros, y la decisión de operar es tuya.