Introducción

Sin las herramientas comerciales adecuadas, no podrá realizar un análisis técnico eficaz. Una estrategia comercial sólida lo ayudará a evitar errores comunes, mejorar la gestión de riesgos y aumentar su capacidad para detectar oportunidades y explotarlas en su beneficio.

Para muchos, TradingView es una cómoda plataforma de gráficos. Millones de personas utilizan la poderosa aplicación web HTML5, que ofrece un centro de herramientas de análisis técnico, para rastrear los movimientos en los mercados de divisas, criptomonedas y acciones tradicionales.

TradingView tiene muchas características poderosas: nos permite rastrear activos en múltiples plataformas comerciales y compartir ideas comerciales en nuestra red social. En este artículo, nos centraremos en configurarlo. Usaremos Pine Script, el lenguaje de programación patentado de TradingView, que nos brinda un control detallado sobre los diseños de nuestros gráficos.

¡Empecemos!


¿Qué es la escritura de pino?

Pine Script es un lenguaje de programación que se puede utilizar para modificar gráficos de TradingView. La plataforma ya le ofrece muchas funciones para esto, pero Pine Script le permite ir un paso más allá. Si desea cambiar los colores de sus velas o probar una nueva estrategia en el historial, Pine Editor le permitirá personalizar los gráficos en tiempo real como mejor le parezca.

El código en sí tiene una documentación excelente, así que asegúrese de consultar el manual del usuario para obtener más información. Nuestro objetivo en esta guía es analizar algunos conceptos básicos e introducir indicadores que pueden resultar útiles para el comercio de criptomonedas.


Ajustes

Comenzar a utilizar Pine Script es increíblemente fácil. Cualquier código que escribimos se ejecuta en los servidores de TradingView, por lo que podemos acceder al editor y desarrollar nuestros scripts desde el navegador sin necesidad de descargas ni configuraciones adicionales.

En esta guía, graficaremos el par de divisas Bitcoin/Binance USD (BTCBUSD). Si aún no tienes una, crea una cuenta gratuita (también existe una suscripción profesional, pero no es necesaria para esta guía).

Sigue este enlace y verás un gráfico similar al siguiente:


Графік BTCBUSD на Tradingview

El tuyo probablemente se actualizará.


Aquí queremos un gráfico completamente funcional: haga clic en el botón para acceder a él. Esto nos brinda una descripción general mucho más detallada, herramientas de dibujo y opciones para construir líneas de tendencia, entre otras cosas.


Повнофункціональний графік на Tradingview для BTCBUSD

Calendario con todas las funciones. Puede ajustar el período de tiempo haciendo clic en las pestañas resaltadas.


No discutiremos cómo utilizar las diversas herramientas disponibles, pero si se toma en serio el análisis técnico, le recomendamos que se familiarice con ellas. En la esquina inferior izquierda (resaltada en la imagen) verá varias pestañas diferentes; haga clic en Pine Editor.


Editor de pino


скріншот pine editor


La magia sucede en este editor. Le diremos lo que queremos hacer y luego haremos clic en Agregar al programa para ver nuestras instrucciones anteriores. Tenga en cuenta que puede producirse confusión si incluimos varias instrucciones a la vez, por lo que las eliminaremos entre ejemplos (haga clic derecho en el gráfico > "Eliminar indicadores").

Como puedes ver, ya tenemos varias líneas de código. Haga clic en Agregar al gráfico para ver qué sucede.


Додавання першого скрипта на графік Tradingview


El segundo gráfico se agrega debajo del principal. El nuevo gráfico representa los mismos datos. Pase el cursor sobre My Script y haga clic en la cruz para eliminarlo. Ahora profundicemos en el código.

estudiar("Mi guión")

Esta primera línea simplemente configura nuestra instrucción. Esto solo requiere nombrar el indicador (en este caso "Mi script"), pero también hay algunas opciones adicionales que podemos agregar. Uno de ellos es una superposición, que le indica a TradingView que coloque el indicador en un gráfico existente (en lugar de en un segmento nuevo). Como puede ver en el primer ejemplo, el valor predeterminado es falso. Aunque no lo veremos en acción en este momento, overlay = true agrega el indicador al gráfico existente.

trama (cerrar)

Esta línea es una instrucción para construir el precio de cierre de Bitcoin. plot solo nos brinda un gráfico de líneas, pero también podemos mostrar velas y barras, como veremos en breve.

Ahora intentemos lo siguiente:

//@versión=4 estudio("Mi guión", superposición=verdadero) trazado(abierto, color=color.púrpura)

Después de agregar esto, debería ver un segundo gráfico (que parece que el original está desplazado hacia la derecha). En su lugar, todo lo que hemos hecho es trazar el gráfico de precios de apertura y, dado que la apertura del día actual es el cierre del día anterior, es obvio que tienen una forma idéntica.

¡Bien! Deshagámonos de las instrucciones actuales (recuerde, lo hacemos haciendo clic derecho y seleccionando Eliminar indicadores). Pase el cursor sobre Bitcoin/BUSD y haga clic en el botón Ocultar para borrar también el gráfico actual.

Muchos traders prefieren los gráficos de velas porque nos brindan más información que un gráfico simple como el que acabamos de crear. Agreguémoslos ahora.

//@versión=4 estudio("Mi script", overlay=true) plotcandle(abrir, alto, bajo, cerrar)

Es un buen comienzo, pero la falta de color hace que el gráfico sea confuso. Idealmente, deberíamos tener velas rojas cuando el precio de apertura sea mayor que el precio de cierre para un período de tiempo determinado, y velas verdes cuando el precio de cierre sea mayor que el precio de apertura. Agregaremos una línea encima de la función plotcandle():

//@versión=4 estudio("Mi script", overlay=true) colores = abrir >= cerrar? color.red : color.green plotcandle(abierto, alto, bajo, cerrado)

El código analiza cada vela y comprueba si el precio de apertura es mayor o igual que el precio de cierre. Si es así, significa que los precios han caído durante el período, por lo que la vela será de color rojo. De lo contrario, se volverá verde. Modifique la función plotcandle() para pasar este esquema de color a:

//@versión=4 estudio("Mi script", overlay=true) colores = abrir >= cerrar? color.red: color.green plotcandle(abierto, alto, bajo, cerrado, color=colores)

Elimine los indicadores actuales si aún no lo ha hecho y agregue este al gráfico. Ahora deberíamos tener algo similar a un gráfico de velas normal.


Свічковий графік на Tradingview

¡Perfectamente!


Trazar promedios móviles (MA)

Hemos aprendido algunos conceptos básicos. Pasemos a nuestro primer indicador personalizado: la media móvil exponencial o EMA. Esta es una herramienta valiosa ya que nos permite filtrar cualquier ruido del mercado y suavizar el movimiento de precios.

La EMA se diferencia ligeramente de la media móvil simple (SMA) en que otorga más peso a los datos recientes. El indicador suele reaccionar ante movimientos bruscos y se utiliza a menudo para operaciones a corto plazo (por ejemplo, en el trading intradía).


Media móvil simple (SMA)

También podríamos construir una SMA para luego comparar los dos indicadores. Agregue esta línea a su secuencia de comandos:

trama(sma(cerrar, 10))

Esto representa el promedio de los diez días anteriores. Cambie el número entre paréntesis para ver cómo cambia la curva para diferentes longitudes.


Проста ковзна середня на основі попередніх 10 днів

La SMA se basa en los diez días anteriores.


Media móvil exponencial (EMA)

La EMA será un poco más difícil de entender, pero no te preocupes. Primero analicemos la fórmula:

EMA = (Cierre - EMA del día anterior) * Multiplicador - EMA del día anterior

¿Entonces qué nos dice esto? Pues bien, para cada día calculamos una nueva media móvil basada en la anterior. El multiplicador es lo que “pondera” el último periodo y se calcula según la siguiente fórmula:

Multiplicador = 2 / (Longitud EMA + 1)

Al igual que con las medias móviles simples, debemos especificar cuál será la longitud de la EMA. Sintácticamente, la función de construcción EMA es similar a la función SMA. Tracéelo junto al SMA para que pueda comparar los dos:

//@versión=4 estudio("Mi guión", overlay=true) plot(sma(close, 10)) plot(ema(close,10))


EMA та SMA на одному графіку Tradingview

Puede ver una ligera diferencia en los dos tipos de media móvil.


➠ ¿Quieres empezar a operar con criptomonedas? ¡Compre Bitcoin en Binance!


Guiones incorporados

Hasta ahora, hemos estado escribiendo nuestro código a mano para que puedas experimentarlo. Pero veamos algo que puede ahorrarnos tiempo, especialmente si estamos escribiendo scripts más complejos y no queremos crearlos desde cero.

En el lado derecho del editor, haga clic en Nuevo. Verás un menú con varios indicadores técnicos. Haga clic en el botón Media móvil exponencial para ver el código fuente del indicador EMA.



Експоненційна ковзна середня у скрипті Pine

Agréguelo al cronograma.


Este es diferente al nuestro: puedes notar las funciones input(). Esto es bueno en términos de conveniencia, ya que puedes hacer clic en este campo...


Зміна графіка в інтерфейсі Tradingview


... y es fácil cambiar algunos valores en la ventana emergente haciendo clic en el icono de configuración.


зміна входів на EMA


Agregaremos un par de funciones input() a nuestro próximo script para demostrar esto.


Construcción del indicador del Índice de Fuerza Relativa (RSI)

El índice de fuerza relativa (RSI) es otro indicador importante en el análisis técnico. Se conoce como indicador de impulso, lo que significa que mide la velocidad a la que se compran y venden los activos. Presentado en una escala de 0 a 100, el RSI intenta informar a los inversores si los activos están sobrecomprados o sobrevendidos. Generalmente, un activo puede considerarse sobrevendido si su valor es menor o igual a 30, y por el contrario, puede estar sobrecomprado con un valor mayor o igual a 70.

Si va a Nuevo > Estrategia RSI, podrá comprobarlo usted mismo. El RSI normalmente se mide durante un período de 14 dígitos (es decir, 14 horas o 14 días), pero puedes ajustar este parámetro para adaptarlo a tu propia estrategia.

Agréguelo al cronograma. Ahora deberías ver algunas flechas (definidas por la función estrategia.entry() en el código). RsiLE indica el potencial largo de un activo, ya que puede estar sobrevendido. RsiSE destaca los posibles puntos en los que se puede vender en corto un activo cuando está sobrecomprado. Tenga en cuenta que, como ocurre con todos los indicadores, no necesariamente debe confiar en ellos como evidencia confiable de que los precios subirán o bajarán.


Prueba retrospectiva

Tenemos una manera de probar nuestros indicadores personalizados. Si bien el rendimiento pasado no es garantía de resultados futuros, realizar una prueba retrospectiva de nuestros scripts puede darnos una idea de cuán efectivos son para recopilar señales.

A continuación daremos un ejemplo de un script simple. Vamos a crear una estrategia simple que abre una posición larga cuando el precio de BTC cae por debajo de $11,000 y cierra la posición cuando el precio supera los $11,300. Entonces podemos ver cuán rentable ha sido históricamente esta estrategia.

//@versión=4 estrategia("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) precio = cerrar if (precio <= enter)     strategy.entry("BuyTheDip", estrategia.long , comentario="BuyTheDip") if (precio >= salida)     estrategia.close_all(comment="SellTheNews")

Aquí hemos definido la entrada y la salida como entradas variables, lo que significa que podemos cambiarlas en el gráfico más adelante. También fijamos la variable precio, que toma el valor de cierre de cada período. Entonces tenemos algo de lógica en forma de declaraciones if. Si la parte entre paréntesis es "verdadera", el bloque se iniciará con una sangría debajo. De lo contrario, se omitirá.

Entonces, si el precio es menor o igual a la entrada deseada, la primera expresión se evalúa como "verdadera" y abrimos una posición larga. Tan pronto como el precio iguale o supere la salida deseada, se activará el segundo bloque, que cierra todas las posiciones largas.

Marcaremos el gráfico con flechas que muestran dónde entramos/salimos, por lo que hemos especificado cómo marcar esos puntos con el parámetro comentario (en este ejemplo, "BuyTheDip" y "SellTheNews"). Copie el código y agréguelo al gráfico.


активний індикатор на графіку tradingview

Ahora puedes ver los indicadores en el gráfico. Es posible que tengas que alejarte.


TradingView aplica automáticamente sus reglas a datos más antiguos. También notarás que cambia del Editor Pine a la pestaña Probador de estrategias. Le permite ver una descripción general de sus ganancias potenciales, una lista de transacciones y el rendimiento de cada transacción individual.


Тестер стратегій Tradingview

Posiciones que abrimos y cerramos.


Unimos todo

Es hora de escribir tu propio guión utilizando algunos de los conceptos que ya conocemos. Vamos a combinar la EMA y el RSI y usaremos sus valores para pintar velas y obtener información que podamos visualizar fácilmente.

Esta información no debe considerarse como asesoramiento financiero. No existe una forma objetivamente correcta de utilizar este indicador. Como el resto, conviene utilizarlo con otras herramientas para desarrollar tu propia estrategia.

Ahora trabajemos en nuestro nuevo script. Elimine todos sus indicadores del gráfico y oculte el gráfico Bitcoin/BUSD para que tengamos un lienzo limpio con el que trabajar.

Comencemos con la definición de nuestra investigación. Siéntete libre de llamarlo como quieras, solo recuerda configurar overlay = true.

estudio (título = "Binance Academy Script", superposición = verdadero)

Recuerda nuestra fórmula EMA. Necesitamos proporcionar un multiplicador con la longitud de la EMA. Hagámoslo mediante entrada, que requiere un número entero (es decir, sin decimales). También estableceremos un valor mínimo (minval) y un valor predeterminado (defval).

estudio(título="Binance Academy Script", superposición=true) emaLength = input(título="Longitud EMA", tipo=input.integer, defval=25, minval=0)


Usando esta nueva variable, podemos determinar el valor de EMA para cada vela en nuestro gráfico:

estudio(título="Binance Academy Script", superposición=true) emaLength = input(título="Longitud de EMA", tipo=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)


Perfectamente. Proporcionaremos la longitud del RSI de forma similar:

estudio(título="Binance Academy Script", superposición=true) emaLength = input(title="Longitud EMA", tipo=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = entrada (título="Longitud RSI", tipo=entrada.integer, defval=25, minval=0)

Y ahora podemos calcularlo:

estudio(título="Binance Academy Script", overlay=true) emaLength = input(title="Longitud EMA", tipo=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = entrada (título="Longitud RSI", tipo=input.integer, defval=25, minval=0) rsiVal = rsi(cerrar, rsiLength)

En esta etapa, recopilaremos la lógica que colorea las velas según los valores de EMA y RSI. Considere una situación en la que (a) el precio de cierre de la vela está por encima de la EMA y (b) cuando el RSI está por encima de 50.

¿Por qué? Bueno, puede decidir que estos indicadores se pueden usar juntos para indicarle cuándo tomar posiciones largas o cortas en Bitcoin. Por ejemplo, podría pensar que si se cumplen ambas condiciones, ahora es un buen momento para abrir una posición larga. O, por el contrario, puede usarlo para indicarle cuándo no abrir una posición corta, incluso si otros indicadores dicen lo contrario.

Entonces, nuestra siguiente línea se verá así:

estudio(título="Binance Academy Script", overlay=true) emaLength = input(title="Longitud EMA", tipo=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = entrada (título="Longitud RSI", tipo=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colores = cerrar > emaVal y rsiVal > 50? color.verde : color.rojo

En pocas palabras, si la EMA está por encima del precio de cierre y el RSI está por encima de 50, coloreamos la vela de verde. De lo contrario, se pondrá rojo.

A continuación, construiremos la EMA:

estudio(título="Binance Academy Script", superposición=true) emaLength = input(title="Longitud EMA", tipo=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = entrada (título="Longitud RSI", tipo=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colores = cerrar > emaVal y rsiVal > 50? color.verde: color.rojo trazado(emaVal, "EMA")

Finalmente, dibujemos las velas, asegurándonos de activar el parámetro de color.

estudio(título="Binance Academy Script", superposición=true) emaLength = input(title="Longitud EMA", tipo=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = entrada (título="Longitud RSI", tipo=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colores = cerrar > emaVal y rsiVal > 50? color.verde: color.rojo plot(emaVal, "EMA") plotcandle(abierto, alto, bajo, cerrado, color=colores)

¡Y el guión está listo! Agréguelo al gráfico para verlo en acción.


Скрипт Tradingview в дії

Gráfico BTC/BUSD con indicador EMA/RSI.


Pensamientos finales

En este artículo, cubrimos algunos ejemplos básicos de lo que puede hacer con el Editor Pine de TradingView. En este punto, debe asegurarse de crear scripts simples para gráficos de precios para obtener información adicional de sus propios indicadores.

Aquí solo hemos cubierto un par de indicadores, pero puede implementar fácilmente otros más complejos, ya sea eligiendo los scripts integrados de Nuevo o escribiéndolos usted mismo.

¿Te falta inspiración? Los siguientes artículos pueden darle algunas ideas para su proyecto:

  • Una guía rápida para el indicador SAR parabólico

  • Una guía para dominar el retroceso de Fibonacci

  • Explicación de los indicadores de retraso y avance.

  • Explicación del indicador MACD