Las decisiones que tomas sin darte cuenta
Convertir una estrategia manual a Pine no es un problema de traducción. Expresar «RSI por debajo de 30» en código ocupa una línea, y si esa fuera la dificultad nadie escribiría sobre ello.
La dificultad es que tu estrategia manual contiene decisiones que nunca has tenido que enunciar, y Pine no se ejecutará hasta que todas sean explícitas.
La que nadie espera: ¿cuándo decides?
Un script se ejecuta una vez por barra histórica [1]. En la barra en tiempo real se ejecuta repetidamente, una vez por actualización [1]. Así que «entro cuando el RSI baja de 30» se divide en dos estrategias genuinamente distintas:
| Querías decir | En Pine | Consecuencia |
|---|---|---|
| el momento en que el RSI cruza 30, intrabarra | actuar sobre la barra en formación | la condición puede revertirse antes del cierre — el mismo valor que el backtest quizá nunca vio |
| el RSI está por debajo de 30 al cierre de la barra | actuar sobre la barra confirmada | entras una barra más tarde de cuando lo «viste» |
Mirando un gráfico nunca tomas esta decisión. Ves romper el nivel y actúas, en algún punto intermedio. Pine no tiene «punto intermedio», y las dos opciones producen resultados medibles distintos.
Elegir el cierre confirmado es casi siempre la respuesta correcta para una estrategia convertida, porque es la única que tu backtest puede reproducir honestamente — la razón está en repintado y lookahead.
Los adjetivos que tienen que volverse números
Repasa tus notas y busca cada palabra que no sea un número. Cada una es un parámetro que has estado fijando a ojo, distinto cada vez:
| Escribiste | Pine necesita |
|---|---|
| «tendencia fuerte» | una pendiente, un nivel de ADX o una distancia a una media — con un umbral |
| «cerca del soporte» | dentro de cuántos ticks, o cuántos ATR |
| «buen volumen» | por encima de qué, medido sobre cuántas barras |
| «esperar una ruptura limpia» | un cierre más allá del nivel por una cantidad mínima, o un número de barras |
| «cuando parece extendido» | un indicador concreto cruzando un valor concreto |
Aquí es donde se atascan la mayoría de las conversiones, y atascarse es información. Si no puedes poner un número a «tendencia fuerte», no estabas aplicando una regla: estabas ejerciendo criterio, y el criterio no se puede backtestear. Eso conviene descubrirlo en una hora y no después de tres meses de una estrategia en vivo que no se comporta como tú.
La salida que nunca has especificado
Casi todo operador manual tiene una entrada completamente especificada y una salida improvisada. «Cierro cuando el movimiento parece agotado» no es una regla, y suele ser donde vivía la ventaja real.
Pine lo exige todo de antemano: un stop, un objetivo o una condición de salida, y
qué pasa cuando no se activa ninguno. También tienes que decidir qué ocurre con
una posición todavía abierta cuando tu condición de entrada se vuelve a cumplir
— Pine pone pyramiding en 1 por defecto [2], así que la segunda entrada se
ignora en silencio salvo que digas otra cosa.
Qué te da realmente la conversión
No automatización. Una especificación. Al final tienes un enunciado escrito de lo que haces, con números, que puedes probar contra el historial y contra tus propios registros de operaciones.
Si la versión especificada no coincide con tus resultados reales, una de dos cosas es cierta: la especificación está incompleta, o tus resultados venían en parte de un criterio que no has capturado. Ambas merecen saberse, y ninguna es visible mientras la estrategia vive solo en tu cabeza.
Una conversión en cinco pasos
Hazlos en orden. Los dos primeros necesitan papel, no un constructor, y son donde una estrategia queda descartada de forma barata.
1. Escribe la regla como una frase sin adjetivos
No un párrafo. Una frase, con solo números, indicadores con nombre y las palabras y, o, por encima, por debajo, cruza.
Entrar largo cuando el RSI de 14 periodos cierre por debajo de 30 y el precio esté por encima de la media simple de 200, salir a 2× ATR de beneficio o 1× ATR de pérdida.
Si no puedes escribir esa frase, para. Los pasos restantes no ayudarán, y el problema no es Pine.
2. Cuenta los parámetros que contiene
Cada número es un parámetro. La frase de arriba tiene seis: 14, 30, 200, 2, 1 y la elección del RSI. Ese recuento importa porque acota cuánto puedes fiarte de cualquier resultado posterior: seis parámetros pueden ajustar mucho historial, y cuantos más tengas, más cuidado has de tener al buscar entre ellos.
Menos es mejor, y «menos» es una decisión que tomas aquí, no después de ver el backtest.
3. Decide la barra en la que actúas, y anótalo
De la sección anterior: intrabarra o cierre confirmado. Elige una a propósito. Anótalo junto a la regla, porque es la suposición que más probablemente explique después una brecha entre tu backtest y tus resultados en vivo.
4. Constrúyelo, y luego lee la declaración
Tanto si escribes el Pine a mano como si lo exportas desde
el constructor, la parte a revisar es la línea
strategy(), no la lógica:
| Confirma | Por qué |
|---|---|
commission_type y commission_value están fijados | si no, pruebas un mercado que no cobra nada |
slippage está en ticks de este instrumento | un tick mide distinto en otro símbolo |
pyramiding coincide con lo decidido en el paso 3 | vale 1 por defecto [2] |
| cada input cambia de verdad la lista de operaciones | mueve un umbral y compruébalo |
La lista completa está en los parámetros de coste.
5. Pruébalo contra tus propios registros, no solo contra el historial
Este es el paso que hace que una conversión valga la pena, y el que los tutoriales genéricos omiten.
Toma tus últimas veinte operaciones manuales. Ejecuta la estrategia especificada sobre las mismas fechas y el mismo instrumento. Y compara entradas, no rentabilidades:
- ¿tomó operaciones que tú tomaste?
- ¿tomó operaciones que tú rechazaste?
- ¿se saltó operaciones que tú tomaste?
El tercer caso es el informativo. Cada operación que tomaste y la regla no toma es criterio que no has capturado — y o pertenece a la especificación, o tus resultados reales nunca fueron reproducibles por una regla.
Comparar rentabilidades en su lugar no te dice casi nada, porque dos estrategias pueden llegar a un total parecido con operaciones completamente distintas.
Cuando la respuesta es «esto no se puede convertir»
Algunas estrategias genuinamente no se pueden. Cualquier cosa que dependa de leer noticias, del criterio sobre el contexto de mercado o de cómo se siente un movimiento no es un conjunto de reglas. Puedes automatizar una parte — un filtro, un límite de riesgo, una restricción de sesión — y mantener la entrada discrecional.
Es un resultado legítimo y mejor que una especificación que difiere en silencio de lo que haces. Una estrategia parcialmente automatizada que entiendes vale más que una totalmente automatizada que es otra estrategia con tu nombre.
Tactix AI — Studio vs Guide
Tactix AI es la marca del asistente de AlfaTactix (abrir Tactix AI).
- Tactix Studio convierte una descripción de estrategia en una frase en un borrador de Timeframe, Señales, Filtros y Riesgo en el Strategy Builder visual. Revisas y editas cada campo antes de que Code Generator escriba MQL5 o Pine Script.
- Tactix Guide explica el paso en el que estás — qué rellenar, qué significa un control o cómo formular una regla — sin volcar código sin probar.
Es automatización form-first: el LLM no sustituye a Code Generator, y conservas límites de plan y validación en tiempo real.

