⬡ TUTORIAL TÉCNICO · CON CÓDIGO · LECTURA 13 MIN

Pine Script desde cero: indicadores y estrategias en TradingView.

El lenguaje más accesible para quien quiere programar trading. Vamos desde el primer indicador hasta una estrategia completa con backtest y alertas para automatización — todo dentro de TradingView, sin instalar nada.

Por el equipo de RoboTraderIA· actualizado may/2026· nivel principiante

Si Python es la puerta de entrada a los bots de exchange, Pine Script es la puerta de entrada a la automatización del gráfico. Es el lenguaje nativo de TradingView, se diseñó específicamente para el análisis técnico y tiene una ventaja enorme para quien empieza: programas, ploteas y haces backtest en la misma pantalla, sin instalar nada. Este tutorial usa la versión actual, Pine Script v5.

01Qué es Pine Script (y por qué empezar por él)

Pine Script es un lenguaje de script creado por TradingView con dos propósitos: crear indicadores personalizados (que se plotean en el gráfico) y crear estrategias (que generan señales de compra/venta y se pueden probar sobre el histórico). Es simple, específico y corre en la nube de TradingView — no necesitas servidor ni instalación.

Por qué es genial para aprender: el ciclo escribir→plotear→probar es instantáneo y visual. Ves el resultado en el gráfico al momento. Comparado con montar todo el pipeline de datos en Python, es mucho más rápido para validar una idea de estrategia.

02Tu primer indicador

En TradingView, abre el Pine Editor (pestaña en la parte inferior del gráfico). Todo script empieza declarando la versión y el tipo. Vamos a plotear una media móvil simple:

//@version=5
indicator("Minha Primeira MM", overlay=true)

// input: hace el período ajustable desde la interfaz
periodo = input.int(20, "Período da Média")

// calcula la media móvil simple del cierre
media = ta.sma(close, periodo)

// dibuja en el gráfico
plot(media, "MM", color=color.aqua, linewidth=2)

Haz clic en Añadir al gráfico. Listo — tu media aparece sobre las velas. El overlay=true es lo que hace que el indicador dibuje sobre el precio (en vez de en un panel separado abajo).

03Los conceptos que necesitas entender

La serie temporal

En Pine, variables como close, open, high, low no son un solo número — son series. El script corre una vez por cada vela del gráfico, y close siempre se refiere al cierre de la vela actual en esa pasada. Para acceder a velas anteriores, usa corchetes: close[1] es el cierre de la vela anterior, close[2] el de dos atrás.

Funciones de la librería ta

La librería ta (technical analysis) lo tiene todo listo: ta.sma() (media simple), ta.ema() (exponencial), ta.rsi(), ta.macd(), ta.crossover() (cruce hacia arriba), ta.crossunder() (cruce hacia abajo). Raras veces necesitas calcular un indicador a mano.

04De indicador a estrategia

La diferencia crucial: indicator() solo dibuja; strategy() simula operaciones y genera un informe de backtest. Vamos a convertir la media en un sistema de cruce que opera:

//@version=5
strategy("Cruzamento de Médias", overlay=true,
         initial_capital=10000, default_qty_type=strategy.percent_of_equity,
         default_qty_value=10)

// parámetros ajustables
rapida = input.int(9,  "MM Rápida")
lenta  = input.int(21, "MM Lenta")

ma_rapida = ta.ema(close, rapida)
ma_lenta  = ta.ema(close, lenta)

// detecta los cruces
cruzaCima  = ta.crossover(ma_rapida, ma_lenta)
cruzaBaixo = ta.crossunder(ma_rapida, ma_lenta)

// reglas de operación
if cruzaCima
    strategy.entry("Compra", strategy.long)
if cruzaBaixo
    strategy.close("Compra")

// visualizar las medias
plot(ma_rapida, "Rápida", color=color.lime)
plot(ma_lenta,  "Lenta",  color=color.orange)

Al añadirlo al gráfico, TradingView abre automáticamente el Strategy Tester abajo — con beneficio neto, número de trades, tasa de acierto, drawdown máximo y la curva de capital. Acabas de hacer un backtest sin escribir una línea de código de test.

¿Quieres estrategias listas para adaptar?

Mira nuestra recopilación de estrategias clásicas con la lógica explicada — listas para convertirse en código.

Ver estrategias →

05Añadiendo stop loss y take profit

Una estrategia sin gestión de riesgo está incompleta. En Pine, defines el stop y el objetivo en el momento de la entrada:

// dentro del bloque de entrada
if cruzaCima
    strategy.entry("Compra", strategy.long)
    // stop 2% abajo, objetivo 4% arriba (riesgo:retorno 1:2)
    strategy.exit("Saida", "Compra",
                   stop  = close * 0.98,
                   limit = close * 1.04)

Consejo: el Strategy Tester lo recalcula todo cuando cambias esos valores. Úsalo para ver cómo distintos niveles de stop/objetivo afectan al resultado — pero cuidado con el overfitting (optimizar demasiado para el pasado).

06Alertas: el puente hacia la automatización

Pine Script corre en TradingView y no ejecuta órdenes por sí solo en tu bróker. El puente hacia la automatización son las alertas. Añades una alerta en el código y, cuando la condición se dispara, TradingView puede enviar un webhook (una petición HTTP) a un servidor que ejecuta la orden en el bróker.

// dispara alerta en el cruce
if cruzaCima
    alert("COMPRA BTCUSDT", alert.freq_once_per_bar_close)
if cruzaBaixo
    alert("VENDA BTCUSDT", alert.freq_once_per_bar_close)

Dos formas de convertir la alerta en una orden real: (1) integración nativa — brókeres que soportan TradingView (como Pepperstone) ejecutan directo desde el gráfico; (2) webhook + servidor — la alerta llama a tu servidor (ej.: un script de Python que recibe el webhook y envía la orden vía API, como mostramos en el tutorial de Binance).

Atención: la automatización vía webhook añade puntos de fallo (el servidor se cae, la petición se pierde, latencia). Para estrategias sensibles al tiempo, la integración nativa del bróker es más fiable. Prueba a fondo en cuenta demo antes de automatizar con dinero real.

07Próximos pasos para dominarlo

  • Estudia la librería ta entera — RSI, MACD, Bollinger, ATR. Cada una abre nuevas estrategias.
  • Aprende arrays y var para mantener estado entre velas (ej.: rastrear un nivel de soporte).
  • Detecta patrones de SMC — los order blocks y los fair value gaps se pueden codificar en Pine (mira nuestra guía de Smart Money Concepts).
  • Lee el manual oficial de Pine v5 — es la mejor referencia y tiene ejemplos para todo.

08Preguntas frecuentes

¿Qué es Pine Script?

Es el lenguaje de programación de TradingView, para crear indicadores personalizados y estrategias con backtest directamente en la plataforma. Corre en la nube — no hace falta instalar nada.

¿Pine Script es difícil?

No. Es simple y específico para el análisis de gráficos. Quien ya ha programado lo aprende en horas; los principiantes cogen lo básico en pocos días. El ciclo visual escribir→plotear→probar acelera mucho el aprendizaje.

¿Se puede operar de verdad con Pine Script?

Pine genera señales y alertas. Para ejecutar órdenes reales de forma automática, conectas las alertas a un webhook (que envía la orden al bróker vía API) o usas la integración nativa de los brókeres que soportan TradingView.

¿Pine Script o Python para automatizar?

Pine es mejor para prototipar y hacer backtest visual rápido. Python da control total y corre independiente de TradingView, ideal para una ejecución robusta. Muchos usan Pine para diseñar la estrategia y Python para ejecutarla.

¿Necesito pagar TradingView para usar Pine?

El plan gratuito permite crear y probar scripts con limitaciones (número de indicadores simultáneos, alertas). Para automatizar en serio con varias alertas, los planes de pago liberan más recursos.

Lee también

🎁 Recibe el bot de trading gratis (con API de Quotex, Deriv e IQ Option)

Bot open source + código de la API listo. Lo editas conversando con ChatGPT/Claude — sin programar. Gratis, sin spam.

👉 ¿Ya quieres el bot listo? Entra en botbinaryoptions.com →