Pine Script® com objetos

Dec 14, 2022

Lançamos o Pine Script® em 2013 para possibilitar a nossos traders uma linguagem de programação que eles poderiam usar para construir seus próprios modelos de negociação. A partir de um começo humilde, quando o grande objetivo era calcular e traçar uma linha de RSI, suas sugestões nos ajudaram a incrementar constantemente a linguagem que você ama. Seus scripts agora podem fazer muito mais: melhor backtesting, alertas para bots de negociação, melhores visuais, mais flexibilidade com inputs, uma experiência de edição superior, bibliotecas e estruturas de dados mais sofisticadas como arrays e matrizes. Não estávamos brincando quando há dois anos lhe dissemos que o Pine estava crescendo.

Os objetos Pine são instanciamentos dos novos tipos compostos definidos pelo usuário (UDTs) declarados usando a palavra-chave do tipo. Programadores experientes podem pensar em UDTs como classes sem método.

Agora, ao invés de usar variáveis independentes como pivotTime e pivotLevel para rastrear dados pivot, você pode definir um tipo pivotPoint com dois campos para manter esses valores:

type pivotPoint
    int openTime
    float level

Você pode então criar um novo objeto desse tipo usando o new() construtor:

newPivot = pivotPoint.new(time, high)

E depois se referir ao campo de um objeto usando a notação de pontos:

label.new(newPivot.openTime, newPivot.level, str.tostring(newPivot.level), xloc.bar_time)

Arrays ou matrizes de objetos também podem ser definidos usando um modelo de tipo construído com um UDT:

pivotArray = array.new<pivotPoint>()

Os objetos podem ser usados em conjunto com todos os outros recursos do Pine: você pode exportar tipos definidos pelo usuário de bibliotecas, solicitar objetos da função request.security(), e assim por diante. Uma função que antes retornava um tupla de dez valores, por exemplo, pode agora retornar um único objeto contendo dez campos.

Um resumo detalhado da nova funcionalidade pode ser encontrado na página de objetos do nosso Manual do Usuário.

Veja os objetos em uso nos seguintes scripts:

Indicador de Gráfico de Eletrocardiograma por HeWhoMustNotBeName

Biblioteca ZigZag por TradingView, e o indicador ZigZag incorporado que foi reescrito para utilizá-lo:

Para manter-se informado sobre os novos recursos do Pine Script®, fique de olho nas notas de Lançamento do Manual do Usuário. A conta do PineCoders também transmite atualizações da Box Squawk no Telegrama, da conta no Twitter e do chat público do Pine Script® Q&A no TradingView.

Esperamos que você considere útil este recurso tão solicitado. Por favor, continue nos enviando seus comentários e sugestões para melhorias. Nós construímos o TradingView para você, e estamos sempre ansiosos para ouvir você.

Look first Then leap

TradingView is built for you, so make sure you're getting the most of our awesome features
Launch Chart