Vocês já devem ter entrado em contato algumas vezes com a linguagem de programação aqui da nossa plataforma, o PineCode (PineScript).
Essa linguagem de programação desenvolvida pelos programadores do TradingView é uma linguagem de fácil compreensão, semelhante a arquitetura da linguagem Delph em Pascal, onde os usuários podem fazer backtests de suas estratégias de traders e criar indicadores padronizados. Iremos começar agora com passo-a-passos para que você conheça mais sobre essa linguagem e para que você possa iniciar nos seus backtests.
Uma grande vantagem do Pine Script é que os dados históricos dos papeis ficam armazenados nos servidores do TradinView e o backtest é feito diretamente neles em tempo real, sem a necessidade do processamento de computadores locais (dos usuários), dando mais fidedignidade estatísticas às estratégias.
Dado essa pequena introdução, vamos iniciar os primeiros passos para você começar com PineCode.
Quando você abre o gráfico para publicar suas análises, no canto inferior do gráfico você irá encontrar a aba "Editor Pine". Aqui é onde você irá escrever seu código. Nesta secção, você também irá encontrar o Manual de Referências do Pine e a documentação de Introdução ao Pine. Segue o link desses dois documentos:
No manual você irá utilizar caso queira ter acessa a alguma função, como a função de indicadores por exemplo. Na documentação Introdução você terá uma clareza de como é o PineScrip. São nesses documentos que iremos encontrar toda a informação necessária para o aprendizado da linguagem.
Vamos utilizar a estratégia deste post como um guia de como estruturar um código para backtest.
Aqui temos o Setup do Dave Landry no Biticoin no gráfico de 30 minutos.
Este Setup é ótimo para commodities , já que é um setup de tendência e não de volatilidade. Nele, a entrada na compra acontece no rompimento do candle atual que tem a mínima menor que as duas mínimas anteriores e o preço está acima da média móvel de 20 períodos. O alvo é duas vezes o risco e o stop fica na mínima do candle de entrada ou duas vezes para baixo. A venda segue o mesmo padrão, porém invertido.
Veja que a estatística desse setup neste papel e neste timeframe foi muito boa.
Então,ele será nosso setup de referência para aprendermos a criar uma estratégia de execução.
Vejam este trecho de código:
/////////////////////////////////////////
//version=4 -> área onde você adiciona a versão do pine.
strategy("DAVE LANDRY", overlay = true) -> área onde você diz ao pine se é uma estratégia ou indicador.
/////////////////////////////////////////
Primeiro passo quando você começar a criar seu código é inserir no cabeçalho a versão do Pine que você irá utilizar, neste caso é a versão 4. Isso é uma exigência do editor Pine. Temos a versão 3, 2 e 1.
Próximo passo é dizer se você quer criar uma estratégia ou um indicador. Para isso, você escreve "strategy" caso venha a ser estratégia ou escreva "study" caso seja um indicador.
Então, você escreve os parâmetros dentro de parênteses de cada comando (no nosso exemplo escrevemos o parâmetro do comando strategy). Primeiro parâmetro é dizer o nome da estratégia. Segundo parâmetro é dizer se você quer que o editor sobrescreva a estratégia no gráfico ou se você quer em um gráfico separado. Para isso coloque a palavra "overlay" e atribua a ela como sendo verdadeiro (true). Assim, o editor irá entender que sua estratégia será sobrescrita no gráfico. Caso você queira em um gráfico separado(em caso de indicadores), você atribui a diretiva falso (false) a palavra overlay.
Essas duas áreas, de versão e área de estratégia/indicador, são fundamentais e não pode deixar de ser inserida em seu código. Caso contrário, o editor não irá rodar seu código.
Próximo passo é escrever o corpo da estratégia utilizando as funções do PineCode. Este passo ficará para o próximo estudo onde veremos o código completo deste setup.
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.