Introdução

Uma análise técnica eficaz não pode ser realizada sem as ferramentas de negociação adequadas. Uma estratégia comercial poderosa pode ajudar a evitar erros comuns, melhorar a gestão de riscos e aumentar a capacidade de identificar e explorar oportunidades.

Para muitos, o TradingView é a plataforma de gráficos preferida. Este poderoso aplicativo da web HTML5 fornece um centro de ferramentas de análise técnica, ajudando milhões de usuários a rastrear Forex, criptomoedas e movimentos tradicionais do mercado de ações.

O TradingView possui muitos recursos poderosos: ele permite que os usuários rastreiem ativos em diversas plataformas de negociação e publiquem suas visualizações de negociação em seus sites de redes sociais. Este artigo se concentrará em seus recursos de personalização. Usaremos Pine Script, linguagem de programação proprietária do TradingView, que nos permite ter um controle mais granular sobre o layout do gráfico.

Vamos começar!


O que é Pine Script?

Pine Script é uma linguagem de script que pode ser usada para modificar gráficos do TradingView. A plataforma TradingView já oferece muitos recursos semelhantes, mas o Pine Script vai ainda mais longe. Se você deseja alterar a cor do gráfico de velas ou testar uma nova estratégia, o Pine Editor permite que você personalize gráficos em tempo real de acordo com suas necessidades.

O código em si está bem documentado, portanto, verifique o manual do usuário para obter detalhes. Este artigo tem como objetivo discutir alguns princípios básicos e apresentar indicadores que podem ser úteis na negociação de criptomoedas.


criar

Pine Script é simples e fácil de usar. Qualquer código que escrevemos é executado nos servidores do TradingView, para que possamos acessar o editor através de um navegador e desenvolver nossos scripts sem necessidade de downloads ou configurações adicionais.

Neste tutorial, traçaremos o par de moedas Bitcoin/Binance USD (BTCBUSD). Se você ainda não tem uma conta Binance, crie uma conta gratuita (uma conta Pro também é possível, mas não é necessária para este guia).

Abra o link e você verá um gráfico semelhante ao seguinte:


Tradingview上的BTCBUSD图表

Os dados do seu gráfico podem ser atualizados.


Agora, queremos obter um gráfico com funções ricas, clique no botão para entrar. Podemos então ver visualizações mais detalhadas, ferramentas de desenho, opções para desenhar linhas de tendência e outros recursos.


BTCBUSD在tradingview上的全功能图表

Gráficos totalmente funcionais. Você pode ajustar a programação clicando em Exibir acima da guia destacada.


Não discutiremos como utilizar as diversas ferramentas disponíveis, mas se você realmente deseja realizar análises técnicas, recomendamos fortemente que primeiro se familiarize com elas. No canto inferior esquerdo (conforme descrito na imagem) você verá algumas guias diferentes - clique em Pine Editor.


O editor de pinho


screenshot截屏


Este editor é incrível. Diremos o que queremos fazer e, em seguida, clicaremos em Adicionar ao gráfico e veremos a anotação que adicionamos aparecer no gráfico. Observe que se adicionarmos várias anotações ao mesmo tempo, elas ficarão confusas, por isso iremos excluí-las no exemplo (clique com o botão direito no gráfico > Excluir Indicador).

Como você pode ver, já temos algumas linhas de código. Vamos clicar em Adicionar ao gráfico e ver o que acontece.


将第一个脚本添加到tradingview图表中


Adicione um segundo gráfico abaixo do gráfico original. O novo gráfico mostra exatamente os mesmos dados. Coloque o mouse sobre meu script e clique em × para excluir. Agora, vamos explorar o código.

pesquisa("meuscript")

A primeira linha apenas configura nossa anotação. Basta o nome do indicador que você deseja chamar (neste caso “Meu Script”), mas também podemos adicionar alguns parâmetros opcionais. Um deles é override, este parâmetro instrui o TradingView a colocar o indicador no gráfico existente (em vez de em um novo gráfico). Como você pode ver no primeiro exemplo que listamos, o valor padrão é falso. Embora você ainda não possa ver como funciona, overlay=true adicionará o indicador ao gráfico existente.

Desenhando um gráfico (fechar)

Esta linha é a instrução para traçar o preço de fechamento do Bitcoin. Os gráficos nos fornecem apenas um gráfico de linhas, mas também podemos apresentar gráficos de velas e de barras, como veremos em breve.

Agora, vamos tentar o seguinte:

//@version=4 study("Meu Script", overlay=true) plot(open, color=color.purple)

Depois de adicionado, você deverá ver um segundo gráfico (parecerá que o gráfico original foi movido para a direita). O que fazemos é traçar os preços de abertura e, como o preço de abertura do dia é o preço de fechamento do dia anterior, faz sentido que esses gráficos se movam exatamente da mesma forma.

tudo bem! Vamos excluir a anotação atual (lembre-se, isso é feito clicando com o botão direito e clicando em Excluir Indicador). Coloque o mouse sobre Bitcoin/BUSD e clique no botão Ocultar para excluir o gráfico atual.

Muitos traders preferem usar gráficos de linhas K, que podem nos fornecer mais informações do que o gráfico simples que acabamos de criar. A seguir, vamos adicionar o gráfico que desenhamos.

//@version=4 study("Meu Script", overlay=true) plotcandle(abrir, alto, baixo, fechar)

Começou bem, mas as cores monótonas fizeram com que parecesse um pouco sem graça. Idealmente, o gráfico da linha K deve ser vermelho quando o preço de abertura for inferior ao preço de fechamento e verde se o preço de fechamento for superior ao preço de abertura. Adicionamos uma linha acima da função plotcandle():

//@version=4 study("Meu Script", overlay=true) cores = open >= close?color.red: color.green plotcandle(open, high, low, close)

Isso requer observar cada gráfico da linha K para verificar se o preço de abertura é superior ou igual ao preço de fechamento. Se for esse o caso, significa que o preço caiu durante esse período e o gráfico de velas ficará vermelho. Caso contrário, ficará verde. Modifique a função plotcandle() e adicione este esquema de cores:

//@version=4 study("Meu Script", overlay=true) cores = open >= close?color.red: color.green plotcandle(open, high, low, close, color=colors)

Se ainda não o fez, exclua a métrica existente e adicione-a ao gráfico. Agora deveríamos ter desenhado um gráfico semelhante a um gráfico da linha K.


Tradingview上的K线图

Bom trabalho!


Desenhe uma média móvel (MA)

Concluímos algumas operações básicas. Vamos dar uma olhada em nosso primeiro indicador personalizado – a média móvel exponencial, ou EMA. Esta ferramenta é útil porque nos permite filtrar qualquer ruído do mercado e suavizar a ação do preço.

A EMA é ligeiramente diferente da média móvel simples (SMA) porque dá mais ênfase aos dados recentes. Tende a reagir mais a mudanças bruscas e é frequentemente utilizado para operações de curto prazo (por exemplo, em day trading).


Média Móvel Simples (SMA)

Também podemos traçar o SMA para podermos comparar os dois posteriormente. Adicione esta linha ao seu script.

plot(sma(fechar, 10))

Isso representa a média dos dez dias anteriores. Ajuste os números entre colchetes para ver como a curva muda conforme o comprimento muda.


基于前10天的简单移动平均数

O SMA é baseado nos dados dos dez dias anteriores.


Média Móvel Exponencial (EMA)

A EMA é mais complicada de entender, mas não se preocupe. Vamos primeiro analisar esta fórmula:

EMA = (preço de fechamento – EMA do dia anterior) * múltiplo – EMA do dia anterior

O que isso está indicando? A cada dia, calculamos um novo valor de média móvel com base no valor do dia anterior. O múltiplo é “ponderado” pelo número de dias recentes e é calculado pela seguinte fórmula:

Múltiplo = 2/(comprimento da EMA + 1)

Tal como acontece com a média móvel simples, precisamos atribuir um valor ao comprimento da EMA. Sintaticamente, traçar a função EMA é semelhante a traçar a função SMA. Trace isso junto com o SMA e você poderá comparar os dois.

//@version=4 study("Meu Script", overlay=true) plot(sma(close, 10)) plot(ema(close, 10))


EMA和SMA在同一个tradingview图表上

Você verá que esses dois tipos de MA são ligeiramente diferentes.


➟ Quer começar sua jornada com criptomoedas? Bem-vindo ao comprar Bitcoin na Binance!


Script integrado

Até agora, escrevemos nosso código manualmente para que você possa ter uma ideia intuitiva dele. Agora apresentaremos alguns recursos que podem economizar tempo, especialmente se quisermos escrever scripts mais complexos, mas não quisermos começar do zero.

No canto superior direito do editor, clique em Novo. Você verá um menu suspenso mostrando uma variedade de indicadores técnicos diferentes. Clique no Índice de Média Móvel para visualizar o código-fonte do indicador EMA.



Pine script中的移动平均指数

Clique e adicione-o ao gráfico.


Este índice é diferente do nosso, você notará a função input(). Eles são ótimos do ponto de vista da usabilidade porque você pode clicar nesta caixa…


在tradingview界面上修改图表


...e clique no ícone de engrenagem de configurações para alterar facilmente alguns valores na janela pop-up.


改变EMA的输入内容


Adicionaremos algumas funções input() ao próximo script para demonstrar isso.


Gráfico do indicador Índice de Força Relativa (RSI)

O Índice de Força Relativa (RSI) é outro indicador importante na análise técnica. Conhecido como indicador de momentum, mede o preço pelo qual um ativo é comprado e vendido. Numa escala de 0 a 100, a pontuação do RSI tenta dizer aos investidores se um ativo está sobrecomprado ou sobrevendido. Normalmente, se um ativo tiver uma pontuação de 30 ou menos, pode ser considerado sobrevendido, enquanto uma pontuação de 70 ou mais pode ser sobrecomprado.

Vá para Nova> Estratégia RSI para ver por si mesmo. O RSI geralmente é medido em um período de 14 (ou seja, 14 horas ou 14 dias), mas você pode ajustar essa configuração de acordo com sua estratégia.

Adicione RSI ao gráfico. Você deverá ver várias setas exibidas agora (definidas pela função strategy.entry() neste código). RsiLE representa uma oportunidade potencial para estender um ativo, pois ele pode estar sobrevendido. O RsiSE destaca possíveis pontos para operar a descoberto quando um ativo está sobrecomprado. Tenha em atenção que, tal como acontece com todos os indicadores, não é necessariamente necessário tomá-los como prova conclusiva de que os preços irão diminuir/aumentar.


Backtesting

Existe uma maneira de testarmos nossos próprios indicadores personalizados. Embora o desempenho passado não seja garantia de resultados futuros, o backtesting do nosso script pode nos dar uma ideia de sua eficácia na captura de sinais.

Abaixo daremos um exemplo de script simples. Planejamos uma estratégia simples e clara para entrar em uma posição longa quando o preço do Bitcoin cair para US$ 11.000 e sair da posição longa quando o preço exceder US$ 11.300. Podemos então ver quão lucrativa esta estratégia tem sido historicamente.

//@versão=4 estratégia("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) preço = fechar if (preço <= enter) strategy.entry("BuyTheDip",strategy.long ,comment="BuyTheDip") if (preço >= saída) estratégia.close_all(comment="SellTheNews")

Aqui definimos entrada e saída como variáveis ​​- ambas são entradas, o que significa que podemos fazer alterações em ambas posteriormente no gráfico. Também configuramos uma variável de preço para pegar o preço de fechamento de cada período. Então, temos alguma lógica que segue o padrão de instrução if. Se a parte entre colchetes for verdadeira, o bloco recuado abaixo dela será executado. Caso contrário, será ignorado.

Portanto, se o preço for menor ou igual ao preço de entrada desejado e a primeira expressão for avaliada como verdadeira, abriremos uma posição longa. Assim que o preço igualar ou exceder o preço de saída exigido, um segundo bloco será acionado, fechando todas as posições abertas.

Anotamos o gráfico com setas mostrando onde entramos/saímos, então usamos parâmetros de avaliação para especificar o que marca esses pontos (neste caso "BuyTheDip" e "SellTheNews"). Copie o código e adicione-o ao gráfico.


指标在tradingview图表中处于活跃状态

Agora você pode ver esses indicadores no gráfico. Pode ser necessária amplificação.


O TradingView aplica automaticamente suas regras a dados mais antigos. Você também notará que o TradingView muda do Pine Editor para a guia Strategy Tester. Isso permite que você tenha uma visão geral dos lucros potenciais, uma lista de negociações e o desempenho de cada indicador.


交易观点策略测试器

Posições em que entramos e saímos.


Combinado

Agora podemos escrever nosso próprio script usando alguns dos conceitos que vimos até agora. Combinaremos EMA e RSI e usaremos seus valores para afetar a cor do gráfico da linha K para que possamos entendê-lo facilmente.

Mas isto não constitui aconselhamento financeiro e não existe uma forma objectivamente correcta de utilizar estes indicadores. Como todas as outras ferramentas, deve ser combinada com outras ferramentas para desenvolver a sua própria estratégia de investimento.

Agora vamos explorar o novo script. Remova todos os indicadores do gráfico e oculte o gráfico Bitcoin/BUSD para que tenhamos um histórico operacional limpo.

Vejamos primeiro a definição. Nomeie como quiser, apenas certifique-se de definir overlay=true.

estudo(title="Script da Binance Academy", overlay=true)

Lembre-se de nossa fórmula EMA anterior. Precisamos usar o comprimento da EMA para calcular o múltiplo. Vamos transformar isso em uma entrada que requer um número inteiro de dígitos, portanto, 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)


Com base nesta nova variável, podemos calcular o valor da EMA para cada vela do gráfico:

estudo(title="Script da Binance Academy", overlay=true) emaLength = input(title="Comprimento EMA", type=input.integer,defval=25, minval=0) emaVal = ema(close, emaLength)


muito bom. A seguir, vamos dar uma olhada no RSI. Atribuíremos a ele um valor de comprimento de maneira 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 calcular:

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 montar a lógica que determina as cores das velas em função dos valores da EMA e do RSI. Suponhamos que (a) a vela feche acima da EMA e (b) o RSI esteja acima de 50.

Por que deveríamos assumir isso? Porque você pode decidir usar uma combinação desses indicadores para saber quando operar comprado ou vendido em Bitcoin. Por exemplo, você pode pensar que atender a essas duas condições significa que agora é um bom momento para operar comprado. Ou, inversamente, você pode usá-lo para se lembrar de quando não operar vendido, mesmo que outros indicadores digam o contrário.

Portanto, nossa próxima linha de código 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? cor.verde: cor.vermelho

Se traduzirmos esta frase para um inglês simples, estamos na verdade dizendo que se o valor da EMA exceder o preço de fechamento e a pontuação do RSI exceder 50, o gráfico de velas ficará verde. Caso contrário, ficará vermelho.

A seguir, trace o gráfico 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, desenhe o gráfico da linha K, certifique-se de incluir os parâmetros 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)

Então, o roteiro está escrito! Adicione-o ao gráfico e veja como funciona.


Tradingview脚本在运行

Um gráfico Bitcoin/BUSD com indicadores EMA/RSI.


Resumir

Neste artigo demonstramos a funcionalidade do Pine Editor no TradingView através de alguns exemplos básicos. Agora você deve se sentir confiante ao fazer anotações simples em gráficos de preços para obter mais insights de seus próprios indicadores.

Abordamos apenas alguns desses indicadores neste artigo, mas não é difícil construir indicadores mais complexos - você pode optar por criar um novo script integrado ou escrever o seu próprio.

Ainda falta inspiração? Os artigos a seguir podem fornecer algumas ideias para seu próximo projeto:

  • Um breve guia para o indicador parabólico

  • "Guia de estudo da retração de Fibonacci"

  • "Explicação detalhada dos indicadores antecedentes e atrasados"

  • Explicação detalhada do indicador de média móvel exponencial (MACD)