Análisis y decisión#
Cuando una regla del gatillo dispara, el servicio dibuja las capturas y se las manda al modelo de visión con lo que le pides en Análisis. Después, Decisión compara su informe (y el de Jev) con tus umbrales y decide si te avisa.
Análisis#
Qué se le pide al modelo#
El prompt de sistema se monta con estos textos, en este orden, más las definiciones de los patrones activos:
| Campo en la app | Qué es |
|---|---|
| Tu sistema | Cómo operas, en tus palabras. Abre el prompt con el bloque "El sistema del trader". Vacío = nada |
| Papel del analista | Quién es ("Eres un analista de price action que vigila las zonas que un trader marca en sus gráficos"). Vale igual para MetaTrader y Sandmarket |
| Qué buscar y en qué velas | Qué cuenta como evento, en qué velas y con qué tolerancia |
| Reglas de contexto | Cómo valorar la llegada (impulsiva o correctiva), la temporalidad mayor y el origen del nivel |
| Reglas de entrada | Cuándo conviene STOP, MERCADO o LIMIT y cómo elegir entre varias |
| Conservadurismo | El "ante la duda, no". Una alerta falsa cuesta dinero; una perdida, solo una oportunidad |
| Tus notas | Texto libre que va siempre al final del prompt. Vacío = nada |
Los textos de fábrica son el prompt de siempre, palabra por palabra. Si los tocas, 👁 Previsualizar te enseña el prompt completo antes de guardar.
Además, cada zona lleva su propia instrucción (lo que escribes tras | en la etiqueta), que la IA cumple al pie de la letra.


Qué recibe el modelo#
Con cada análisis, el modelo recibe solo esto:
- Las dos capturas, tu temporalidad y la de contexto. El eje de precios lleva unas 12–16 etiquetas, cada una con una línea horizontal discontinua y tenue que cruza las velas, y el precio actual marcado con el color de la última vela. Los precios de las velas, mechas y estructuras se leen ahí.
- Qué regla disparó y por qué, en una frase: "Esta vela llegó porque disparó la regla «Zonas + patrones de vela»: el precio tocó la zona en las últimas 3 velas (tolerancia 0.25 ATR); las zonas rotas se descartan; el código detectó un patrón de vela a favor (exigido)."
- Un JSON corto con las zonas en juego (límites, tolerancia, intención, origen, tu instrucción y los patrones que vio el código), el cierre de la última vela, el extremo de la señal, el ATR y la tolerancia.
No recibe las velas en números, ni los demás niveles del par (ya están dibujados y etiquetados en la captura), ni lo que añada un EA por su cuenta. Es unas seis veces más corto que antes y deja al modelo trabajar sobre el gráfico.

Los patrones#
La lista Patrones tiene los 16 de fábrica, cada uno con su interruptor y la definición que ve la IA:
- 12 de vela: Envolvente, Interna, Martillo, Inverted Hammer, Bearish y Bullish Three-Line Strike, Three Black Crows, Evening Star, Morning Doji Star, Three Inside Up, Three Inside Down y Dark Cloud Cover. Los detecta también el código, en el gatillo.
- 4 de precio: Doble piso/techo, Trampa, Falla y Clímax. Solo los ve la IA, y solo si activas patrones de precio en el gatillo.
La IA solo recibe la definición de los patrones que puede devolver: los activos aquí y en el gatillo (los de precio, solo con patrones de precio activado), más los propios. Describirle otros solo gastaría tokens.
Patrones propios#
+ Patrón propio pide un código (MAYUSCULAS_Y_GUIONES_BAJOS) y una definición. La IA lo busca igual que los demás, pero el código no sabe detectarlo: solo aparece cuando una regla del gatillo llama a la IA por otro motivo (un patrón de vela a favor, o una regla sin patrón exigido).
Campos del informe que se valoran#
Reacción, Llegada, Contexto, Invalidación y Confirmación. Los que quites se piden en neutro para no romper el formato. Los campos obligatorios del informe (patrón, evento, confianza, motivos, opciones de entrada) no se tocan.
Decisión#
Con el informe de visión y, si está activa en ese canal, la segunda opinión de Jev, la regla final avisa si y solo si se cumple todo:
| Campo en la app | Por defecto | Qué exige |
|---|---|---|
| Confianza mínima de la visión | 0,6 | Que la visión vea un evento completo con al menos esta confianza (0–1) |
| Segunda opinión (Jev) en MetaTrader | sí | Pedir a Jev su juicio en los análisis de MetaTrader (y de cualquier EA propio) |
| Segunda opinión (Jev) en el simulador | sí | Lo mismo en Sandmarket, por separado |
| Umbral de alerta de Jev | 0,7 | Probabilidad "sí" mínima de Jev (0–1). Solo se ve con Jev activo en algún canal |
| Calidad mínima de Jev | 2,5 | Calidad mínima de Jev (0–4). Ídem |
| Bloquear si el patrón va contra la zona | sí | No avisar si el contexto va en contra de tu intención |
| Velas sin repetir aviso de la misma zona | 3 | Enfriamiento después de avisar, por par, temporalidad y zona |
Además, Jev tiene que haber elegido un patrón (no "ninguno").


AVISAR si:
la visión ve un evento completo y confianza ≥ 0,6
y Jev: alerta ≥ 0,7, patrón ≠ ninguno, calidad ≥ 2,5
y el contexto no va en contra (con el bloqueo activo)
y no se avisó de esa zona en las últimas 3 velas
Sin Jev, el bloqueo por contexto usa lo que dijo la visión (context_alignment).
Calibrar con datos#
Cada zona analizada queda en service/logs/decisions.jsonl con lo que vio la visión, lo que respondió Jev y por qué se avisó o no ("visión: confianza 0.55 < 0.6", "jev: calidad 2.10 < 2.5", "jev: contexto en contra de la intención"…). Tras dos o tres semanas, revísalas y ajusta los umbrales con datos reales: ser más exigente o más permisivo. /resumen resume el embudo del día y los motivos de descarte más frecuentes.