Introdução
Sem ferramentas de negociação confiáveis, é impossível realizar análises técnicas de alta qualidade. Uma estratégia de negociação forte irá ajudá-lo a evitar erros comuns, gerir riscos de forma mais eficaz e encontrar e executar mais oportunidades de negociação.
Para a maioria dos traders, o TradingView é uma plataforma popular para análise de gráficos. Um aplicativo da web HTML5 rico em recursos que oferece uma variedade de ferramentas de análise técnica, é usado por milhões de usuários para rastrear movimentos nos mercados cambiais, criptomoedas e de ações tradicionais.
O TradingView oferece uma variedade de recursos poderosos, permitindo rastrear ativos em diversas plataformas de negociação e compartilhar ideias de negociação na própria rede social do TradingView. Neste artigo veremos as opções para personalizar o TradingView. Usaremos Pine Script, uma linguagem de programação TradingView que fornece controle granular sobre layouts de gráficos.
Vamos começar!
O que é Pine Script?
Pine Script é uma linguagem de script que permite personalizar gráficos no TradingView. A plataforma já oferece muitas funcionalidades para isso, mas o Pine Script permite expandir as capacidades. Se você deseja alterar as cores das velas ou testar uma nova estratégia, você pode personalizar seus gráficos em tempo real da maneira que desejar com o editor Pine.
A documentação detalhada está disponível no site, portanto você pode sempre consultar o manual do usuário para obter instruções detalhadas. Neste artigo gostaríamos de abordar os fundamentos do Pine Script e mostrar como criar indicadores que podem ser úteis ao negociar criptomoedas.
Configurar
Começar a usar o Pine Script é muito fácil. Todo o código que escrevemos é executado em servidores TradingView, e temos acesso a um editor de código e podemos escrever scripts diretamente no navegador - sem necessidade de baixar aplicativos de terceiros ou configurar nada.
Neste tutorial, traçaremos o par de moedas Bitcoin/Binance USD (BTCBUSD). Se você ainda não está registrado no TradingView, crie uma conta gratuita (uma assinatura profissional também está disponível, mas não é necessária para este artigo).
Siga este link e você verá um gráfico como este:

Sua agenda precisa estar mais atualizada.
Precisamos de um cronograma detalhado - para acessá-lo, clique no botão indicado. Veremos gráficos mais detalhados, ferramentas de desenho e ferramentas de linha de tendência.

Cronograma detalhado. No painel acima das guias destacadas você pode definir os prazos desejados.
Agora não discutiremos o uso das diversas ferramentas disponíveis, mas se você leva análise técnica a sério, recomendamos fortemente que se familiarize com elas. No canto inferior esquerdo (destacado na imagem) existem várias abas - clique em Pine Editor.
Editor de Pinho

Este editor é onde a verdadeira magia acontece. Para ver o resultado, você precisa escrever as instruções no editor e clicar no botão “Adicionar ao gráfico”. Atenção: se você aplicar vários indicadores personalizados ao mesmo tempo, o gráfico pode ficar confuso, por isso iremos removê-los entre os exemplos (botão direito do mouse no gráfico > Remover Indicadores).
Como você pode ver, já temos algumas linhas de código. Vamos clicar no botão "Adicionar ao gráfico" e ver o que acontece.

Um segundo apareceu sob o gráfico original. O novo gráfico apresenta os mesmos dados. Para excluir o segundo gráfico, passe o mouse sobre Meu Script e clique na cruz. Agora vamos dar uma olhada no código.
estudo("Meu Script")A primeira linha especifica o nome do gráfico. Isto requer apenas o nome do indicador (neste caso “Meu Script”), mas você também pode definir parâmetros adicionais. Um deles é a sobreposição. Significa colocar o indicador em um gráfico existente (não em um novo segmento). Como podemos ver no primeiro exemplo, ele é definido como falso por padrão. Não testaremos isso agora, mas definir overlay=true adicionará o indicador ao gráfico existente.
enredo (fechar)Esta linha é uma instrução para traçar o preço de fechamento do Bitcoin; plot especifica um gráfico de linhas, mas podemos adicionar velas e barras.
Agora considere o seguinte exemplo:
//@version=4 study("Meu Script", overlay=true) plot(open, color=color.purple)Ao adicionar esta linha ao editor, você deverá ver um segundo gráfico (que se parece com o original, mas deslocado para a direita). Traçamos o preço de abertura e, como a abertura do dia atual é o fechamento do dia anterior, é lógico que os gráficos tenham o mesmo formato.
Ótimo! Vamos deletar os gráficos que criamos (lembre-se que para fazer isso você precisa clicar com o botão direito no gráfico e selecionar “Excluir indicadores”). Para limpar o gráfico atual, passe o mouse sobre o gráfico Bitcoin/BUSD e clique no botão Ocultar.
Muitos traders usam gráficos de velas porque fornecem mais informações do que gráficos normais (como o que acabamos de construir). Agora vamos adicionar velas ao gráfico.
//@version=4 study("Meu Script", overlay=true) plotcandle(abrir, alto, baixo, fechar)Está melhor, mas por falta de cores o gráfico fica inexpressivo. Idealmente, precisamos desenhar velas vermelhas se o preço de abertura no período for maior que o preço de fechamento, e verdes se o preço de fechamento for maior que o preço de abertura. Vamos adicionar uma linha acima da função plotcandle():
//@version=4 study("Meu Script", overlay=true) cores = open >= close ? color.red: color.green plotcandle (aberto, alto, baixo, fechado)Nesta linha percorremos todas as velas e verificamos: o preço de abertura é maior ou igual ao preço de fechamento. Se sim, então o preço caiu durante o período e a vela ficará vermelha? Caso contrário – verde. Para adicionar um esquema de cores, modifique a função plotcandle() conforme mostrado abaixo:
//@version=4 study("Meu Script", overlay=true) cores = open >= close ? color.red: color.green plotcandle (aberto, alto, baixo, fechado, cor = cores)Caso ainda não tenha feito isso, exclua o gráfico anterior e adicione um novo. Agora devemos ter um gráfico de velas regular.

Maravilhoso!
Construindo médias móveis (MA)
Abordamos alguns princípios básicos. Vamos prosseguir para a criação de nosso primeiro indicador personalizado, a média móvel exponencial ou EMA. Este é um indicador valioso porque filtra o ruído do mercado e suaviza os movimentos de preços.
A EMA difere da média móvel simples (SMA) porque dá mais peso aos dados recentes. A EMA reage mais ativamente a movimentos inesperados do mercado e é frequentemente utilizada em estratégias de curto prazo (por exemplo, negociação intradiária).
Média Móvel Simples (SMA)
Podemos traçar o SMA e depois compará-lo com o EMA. Adicione a seguinte linha ao script:
plot(sma(fechar, 10))Esta linha exibirá a média dos 10 dias anteriores. Você pode definir diferentes valores de período entre colchetes e ver como a curva muda.

SMA dos 10 dias anteriores
Média Móvel Exponencial (EMA)
A EMA é um pouco mais difícil de entender, mas não se preocupe. Primeiro vamos dar uma olhada na fórmula:
EMA = (preço de fechamento - EMA do dia anterior) * multiplicador - EMA do dia anteriorO que esta fórmula diz? Para cada dia calculamos uma nova média móvel com base na anterior. O multiplicador é o “peso” do período anterior, que é calculado através da seguinte fórmula:
multiplicador = 2 / (período EMA + 1)Como no caso de uma média móvel simples, é necessário especificar o período para construção da EMA. A sintaxe da função EMA é semelhante à função SMA. Para maior clareza, vamos traçar um gráfico EMA próximo ao SMA:
//@version=4 study("Meu Script", overlay=true) plot(sma(close, 10)) plot(ema(close,10))
Diferença entre SMA e EMA
➟ Está pensando por onde começar a trabalhar com criptomoedas? Compre Bitcoin na Binance!
Scripts integrados
Até agora, escrevemos o código manualmente para entendê-lo com mais detalhes. Mas vamos explorar uma ferramenta que nos poupará tempo, principalmente se escrevermos scripts mais complexos e não quisermos fazer isso do zero.
No canto superior direito do editor, clique no botão “Novo”. Um menu suspenso aparecerá com vários indicadores técnicos. Para ver o código fonte do indicador EMA, clique no item “Média Móvel Exponencial”.

Adicione código ao gráfico
O código do modelo será diferente do que escrevemos - preste atenção nas funções input(). Eles são convenientes porque você pode clicar no canto superior esquerdo do gráfico...

...e na janela pop-up é fácil alterar alguns valores pressionando a roda de configurações.

Para demonstrar isso, adicionaremos duas funções input() ao script a seguir.
Construindo o indicador Índice de Força Relativa (RSI)
O Índice de Força Relativa (RSI) é outro indicador importante de análise técnica. É conhecido como indicador de momentum. Isso significa que exibe a taxa pela qual os ativos são comprados e vendidos. O índice RSI, que varia de 0 a 100, informa aos traders se um ativo está sobrecomprado ou sobrevendido. Geralmente, um ativo é considerado sobrevendido se o RSI for menor ou igual a 30, e sobrecomprado se o RSI for maior ou igual a 70.
Você pode verificar você mesmo - vá para o menu Novo > Estratégia RSI. O RSI geralmente é medido em períodos de 14 unidades (ou seja, 14 horas ou 14 dias), mas você pode personalizar esse parâmetro para se adequar à sua estratégia.
Adicione-o ao gráfico. Você deverá ver algumas setas (definidas no código pela função strategy.entry()). RsiLE indica o potencial para uma posição longa em um ativo, pois ele pode ser revendido. O RsiSE também indica o potencial de venda a descoberto de um ativo, pois ele pode estar sobrecomprado. Atenção: tal como acontece com todos os indicadores, não deve confiar neles como garantia de que os preços irão descer/subir.
Estratégias de teste
Podemos testar nossos próprios indicadores. Embora o desempenho em dados históricos não seja garantia de resultados futuros, testar scripts em dados históricos pode dar uma ideia de quão eficazes eles são no rastreamento de sinais.
Vamos pegar um script simples como exemplo. Vamos criar uma estratégia simples onde entraremos em uma posição longa quando o preço do BTC cair abaixo de US$ 11.000 e fecharemos a posição quando o preço ultrapassar US$ 11.300. Podemos ver quão lucrativa é esta estratégia quando aplicada à história do mercado.
//@versão=4 estratégia("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price <= enter) strategy.entry("BuyTheDip", strategy.long , comment="BuyTheDip") if (preço >= saída) estratégia.close_all(comment="SellTheNews")Aqui definimos os níveis de entrada e saída como variáveis - ambos são de entrada, o que significa que podemos alterá-los no gráfico. Também criamos uma variável de preço que leva o valor de fechamento de cada período. A lógica é apresentada na forma de instruções if. Se a parte entre parênteses for verdadeira, então o bloco com recuo abaixo será executado. Caso contrário, será ignorado.
Portanto, se o preço for menor ou igual ao valor de entrada desejado, a primeira expressão será avaliada como verdadeira e operaremos comprados. Quando o preço igualar ou ultrapassar o valor de saída desejado, o segundo bloco será acionado, fechando todas as posições abertas.
Além disso, no gráfico mostramos com setas os locais de entrada e saída das posições. Marcamos esses pontos com um parâmetro de comentário (neste exemplo “BuyTheDip” e “SellTheNews”). Copie o código e adicione-o ao gráfico.

Indicadores no gráfico. Você pode diminuir o zoom
O TradingView aplica automaticamente suas regras a dados mais antigos. Observe que você mudou do Pine Editor para a guia Strategy Tester. Aqui você pode analisar o lucro potencial, visualizar a lista de negociações e o desempenho de cada negociação.

Posições abertas e fechadas
Vamos resumir
Agora podemos escrever nosso próprio script usando ferramentas familiares. Combinaremos a EMA e o RSI no mesmo gráfico e, em seguida, usaremos seus valores para colorir as velas e criar informações que possam ser facilmente visualizadas.
Os resultados do gráfico não constituem aconselhamento financeiro – não existe uma forma objetivamente correta de utilizá-lo. Tal como outros indicadores, deve ser utilizado em conjunto com outras ferramentas para desenvolver a sua própria estratégia.
Vamos escrever nosso novo script. Para ter um espaço livre para trabalhar, remova os indicadores anteriores do gráfico e oculte o gráfico Bitcoin/BUSD.
Vamos começar definindo nosso estudo. Nomeie-o como desejar, apenas certificando-se de que overlay=true.
estudo(title="Script da Binance Academy", overlay=true)Vamos lembrar a fórmula EMA que descrevemos acima. Precisamos determinar o multiplicador para o período da EMA. Vamos torná-la uma variável (entrada) que seja um número inteiro (ou seja, sem casas decimais). Também definiremos o valor mínimo (minval) e o valor padrão (defval).
estudo(title="Script da Binance Academy", overlay=true) emaLength = input(title="Comprimento da EMA", type=input.integer, defval=25, minval=0)Usando esta nova variável, podemos calcular o valor da EMA para cada vela:
estudo(title="Script da Binance Academy", overlay=true) emaLength = input(title="Comprimento EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)Multar. Agora vamos passar para o RSI. Vamos definir seu período de forma semelhante:
estudo(title="Script da Binance Academy", overlay=true) emaLength = input(title="Comprimento EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Comprimento RSI", type=input.integer, defval=25, minval=0)Agora podemos calculá-lo:
estudo(title="Script da Binance Academy", overlay=true) emaLength = input(title="Comprimento EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Comprimento RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength)Nesta fase, vamos definir a lógica que colore as velas dependendo dos valores da EMA e do RSI. Considere a situação em que o preço de fechamento da vela ultrapassa a EMA (a) e quando o RSI está acima de 50 (b).
Por que exatamente essas condições? Esses indicadores podem ser usados em conjunto para informar quando operar comprado ou vendido no Bitcoin. Por exemplo, se ambas as condições forem satisfeitas, pode significar que agora é um bom momento para abrir uma posição longa. Ou, inversamente, você pode usar este indicador para entender quando não operar vendido, mesmo que outros indicadores digam o contrário.
A próxima linha do nosso script ficará assim:
estudo(title="Script da Binance Academy", overlay=true) emaLength = input(title="Comprimento EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Comprimento RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) cores = close > emaVal e rsiVal > 50 ? color.green : color.redSe traduzirmos o código para linguagem normal, descobrimos que se o valor da EMA exceder o preço de fechamento e o valor do RSI exceder 50, colorimos a vela de verde. Caso contrário, a cor será vermelha.
Adicionar EMA:
estudo(title="Script da Binance Academy", overlay=true) emaLength = input(title="Comprimento EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Comprimento RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) cores = close > emaVal e rsiVal > 50 ? color.green: gráfico color.red (emaVal, "EMA")Finalmente, vamos desenhar as velas adicionando um parâmetro de cor:
estudo(title="Script da Binance Academy", overlay=true) emaLength = input(title="Comprimento EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Comprimento RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) cores = close > emaVal e rsiVal > 50 ? color.green: color.red plot(emaVal, "EMA") plotcandle(aberto, alto, baixo, fechado, cor=cores)Aqui está todo o nosso roteiro! Para vê-lo em ação, adicione-o ao seu gráfico.

Gráfico BTC/BUSD com indicador EMA/RSI.
Resumo
Neste artigo, vimos alguns exemplos simples de uso do Pine Editor do TradingView. Agora, se você completou nossos exemplos, já pode criar legendas simples para gráficos de preços e obter informações adicionais de seus próprios indicadores.
Neste artigo, abordamos apenas alguns indicadores, mas você mesmo pode analisar os mais complexos, selecionando scripts integrados na lista Novo ou escrevendo-os você mesmo.
Procurando inspiração? Você pode obter ideias para seu próximo projeto nos artigos abaixo:
Um guia rápido para usar um sistema SAR parabólico
Um guia para usar linhas de Fibonacci
Indicadores adiantados e atrasados
Qual é o indicador MACD
