Type/to search
8
Follow
1364
Followers
FMZ PINE Script Documentário
Tutorials
Created 2022-05-06 14:27:06  Updated 2025-08-21 13:47:34
 24
 20877

Palavras-chave, gramática e configuração

Estrutura do código

A estrutura geral que o código do Pine segue:

<version> <declaration_statement> <code>

Comentários

Sinal de comentário para a linguagem Pine do FMZ: comentário de linha única//Comentários múltiplos/* */Por exemplo, a forma de escrever a nota no exemplo a seguir:

pine
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) // 计算MACD指标 /* plot函数在图表上画出指标线 */ plot(macdLine, color = color.blue, title='macdLine') plot(signalLine, color = color.orange, title='signalLine') plot(histLine, color = color.red, title='histLine')

Edição

A seguinte forma de instrução de compilador diz ao compilador em qual versão do script o Pine foi escrito:

pine
//@version=5

A versão padrão é a versão v5, que pode ser omitida no código//@version=5

Declaração

A declaração define o tipo de script, que determina o que é permitido nele, e como é usado e executado. Define os atributos-chave do script, como seu nome, onde ele aparecerá quando for adicionado ao gráfico, a precisão e o formato dos valores que ele exibirá, e os valores que gerenciam certas ações quando ele for executado, como o número máximo de objetos de gráfico que ele exibirá no gráfico.indicator()oustrategy()Declaração.

Código

As linhas de um script que não são comentários ou instruções do compilador são sentenças, que implementam o algoritmo do script. Uma sentença pode ser um desses conteúdos.

  • Declaração de variáveis
  • Reatribuição de variáveis
  • Declaração de função
  • Chamadas de funções embutidas, chamadas de funções definidas pelo usuário
  • ifforwhileouswitchEstrutura de equivalência

As frases podem ser organizadas de várias maneiras.

  • Algumas declarações podem ser expressas em uma única linha, como a maioria das declarações de variáveis, que contêm apenas uma linha de chamada de função ou uma declaração de função de uma única linha. Outras, como as estruturas, sempre precisam de várias linhas, pois precisam de um bloco local.
  • As declarações de âmbito global do script (ou seja, as partes que não pertencem ao bloco local) não podem ser consideradas como空格ou制表符Comece (tabulação) <unk> O primeiro caractere deles também deve ser o primeiro caractere da linha <unk> As linhas que começam na primeira posição da linha, por definição, fazem parte do alcance global do script <unk>
  • Uma estrutura ou uma declaração de função de várias linhas sempre requer umlocal blockUm bloco local deve ser encolhido em um marcador ou em quatro espaços (caso contrário, será analisado como uma sequência da linha anterior de código, ou seja, julgado como um contínuo da linha anterior de código), e cada bloco local define um alcance local diferente.
  • Várias frases de uma linha podem ser seqüenciadas em uma linha usando a vírgula ((,) como separador.
  • Uma linha pode conter comentários ou apenas comentários.
  • As linhas também podem ser fechadas (continua em linhas múltiplas).

Por exemplo, incluindo três blocos locais, um na declaração de função personalizada e dois usando a estrutura if na declaração de variável, com o seguinte código:

pine
indicator("", "", true) // 声明语句(全局范围),可以省略不写 barIsUp() => // 函数声明(全局范围) close > open // 本地块(本地范围) plotColor = if barIsUp() // 变量声明 (全局范围) color.green // 本地块 (本地范围) else color.red // 本地块 (本地范围) runtime.log("color", color = plotColor) // 调用一个内置函数输出日志 (全局范围)

Código de mudança de linha

As linhas longas podem ser divididas em várias linhas, ou "enroladas". As linhas enroladas devem ser encolhidas em qualquer número de espaços, desde que não sejam múltiplos de 4.

pine
a = open + high + low + close

Pode ser embalado como ((observe que o número de espaços em cada linha não é um múltiplo de 4):

pine
a = open + high + low + close

Uma chamada longa de plot ((() pode ser embalada como ▽.

pine
close1 = request.security(syminfo.tickerid, "D", close) // syminfo.tickerid 当前交易对的日线级别收盘价数据系列 close2 = request.security(syminfo.tickerid, "240", close) // syminfo.tickerid 当前交易对的240分钟级别收盘价数据系列 plot(ta.correlation(close, open, 100), // 一行长的plot()调用可以被包装 color = color.new(color.purple, 40), style = plot.style_area, trackprice = true)

A frase na declaração de função definida pelo usuário também pode ser empacotada. No entanto, como o bloco local deve começar gramaticalmente com uma contração (((4 espaços ou 1 símbolo), quando dividido para a linha seguinte, a parte de continuação da frase deve começar com uma contração ou mais (((não é igual ao múltiplo de 4 espaços)).

pine
test(c, o) => ret = c > o ? (c > o+5000 ? 1 : 0): (c < o-5000 ? -1 : 0) a = test(close, open) plot(a, title="a")

Sequência de tempo

A sequência de tempo não é um tipo ou formato de dados, mas um conceito de estrutura básica na linguagem PINE. Usado para armazenar valores que variam continuamente no tempo, cada valor correspondendo a um ponto de tempo. A estrutura desse conceito de sequência de tempo é adequada para ser aplicada ao processamento e registro de uma série de dados que mudam com o tempo.
Com variáveis embutidasopenPor exemplo:openA variável embutida registra o preço de abertura de cada linha K BAR, se estaopenEntão, esse é o número de 5 minutos de um ciclo de K.openA variável registrada é o preço de abertura de cada linha K BAR ((coluna) por 5 minutos. Quando o seu programa de estratégia é executado, o código faz referênciaopenIsto é, o preço de abertura da linha BAR em que o K está atualmente. Para referir o valor anterior na sequência de tempo (valor anterior), usamos[]O operador histórico, quando a estratégia é executada em uma linha KBAR,open[1]O que significa que o preço de abertura de uma linha K BAR anterior à linha K BAR atual.

EmboraSequência de tempoÉ fácil lembrar a estrutura de dados "array", embora a linguagem PINE também tenha tipos de arrays. No entanto, eles são conceitos completamente diferentes da sequência temporal.

A linguagem PINE concebeu uma sequência de tempo que permite calcular facilmente o valor acumulado do preço de fechamento no código da estratégia, sem a necessidade de usar uma estrutura circular como for, usando apenas funções embutidas na linguagem PINE.ta.cum(close)Por outro exemplo, precisamos calcular o valor médio do diferencial entre o valor máximo e o valor mínimo das últimas 14 linhas K BAR (ou seja, as 14 linhas K BAR mais próximas no momento atual de execução do código) que podem ser escritas como:ta.sma(high - low, 14)

O resultado da chamada de uma função na sequência de tempo também deixa uma marca na sequência de tempo.[]O operador histórico cita o valor anterior. Por exemplo, para testar se o valor de fechamento do atual K-line BAR excede o valor máximo do valor máximo dos últimos 10 K-lines BAR (excluindo o atual K-line BAR). Podemos escrever:breach = close > ta.highest(close, 10)[1]Também pode ser escritobreach = close > ta.highest(close[1], 10)Por isso.ta.highest(close, 10)[1]eta.highest(close[1], 10)É equivalente.

A verificação pode ser feita com o seguinte código:

pine
strategy("test pine", "test", true) a = ta.highest(close, 10)[1] b = ta.highest(close[1], 10) plotchar(true, title="a", char=str.tostring(a), location=location.abovebar, color=color.red) plotchar(true, title="b", char=str.tostring(b), location=location.belowbar, color=color.green)

O código de teste acima irá expor a e b em cada BAR em seus valores de sequência de tempo correspondentes, e você verá que a e b são sempre iguais, então os dois métodos de representação são equivalentes.

História de referência

O Trading View tem um limite máximo de itens para referências de dados históricos (até 5.000 itens), como o seguinte código:

pine
//@version=6 indicator("test") ema = ta.ema(close, 10000) // 报错:Error on bar 0: The 'ema'->'sum' function references too many historical candles (10000), the limit is 5000. plot(ema, "ema") // pre10000 = ema[10000] // 报错:Invalid number of bars back specified in the history-referencing operator. It accepts a value between 0 and 5000. // plot(pre10000, "pre10000")

A política de linguagem Pine em FMZ é chamada de "Configuração de transações" no "Pine Language Transaction Classroom", com o parâmetro: "Numero de períodos mais longos de variáveis" define especificamente o número máximo de itens de dados que podem ser citados.

img

pine
indicator("test") ema = ta.ema(close, 1000) // ema = ta.ema(close, 3000) 则报错:Invalid number 3000 of bars back specified in the history-referencing operator. It accepts a value between 0 and 2000. plot(ema, "ema")

O parâmetro "Mais longo período de variação" não deve ser definido como muito grande, e pode ser usado para referenciar dados em uma política apropriada.

Parâmetros de modelagem da biblioteca de classes de transação da linguagem Pine

Configuração de parâmetros para o modelo embutido da política PINE, o "Pine Language Exchange Repository".

img

Configurações de transação

  • Execução
    Modelo de preço de fechamento: executa o modelo até o final do BAR atual e executa a transação quando o BAR inferior começa.
    Modelagem de preços em tempo real: executa o modelo a cada mudança de preço e executa a transação imediatamente com o sinal.
  • Número de mãos de posição aberta por defeito: se a instrução de negociação não especificar o número de negociações, execute a negociação de acordo com o número definido.
  • Máximo número de pedidos por transação única: De acordo com a liquidação real, em combinação com a configuração deste parâmetro, determine o número máximo de pedidos por transação, evitando o impacto no disco.
  • Ponto de deslizamento:定价货币精度O parâmetro e esse parâmetro determinam o preço de deslizamento no momento do pedido. Por exemplo, a precisão de precificação da moeda é definida como 2, ou seja, exata para o segundo lugar da minúscula, exata para 0,01. Então, cada ponto de deslizamento representa 0,01 unidades de precificação.
  • Número de ciclos mais longos da variável: número de BARs de linhas K do gráfico afetado, comjavascriptChamadas na estratégiaSetMaxBarLenA função é a mesma.

Opções de Futuros

  • Código de variedade: Código de contrato, que só precisa ser definido quando o objeto da bolsa é um objeto de bolsa não-local.
  • Número mínimo de contratos: O número mínimo de transações do contrato no momento da encomenda.

Opções reais

  • Progresso de recuperação automática: recuperação automática do estado antes da interrupção da última estratégia.
  • Número de tentativas de reencaminhamento: se a ordem não for executada, a ordem será cancelada e a transação será reencaminhada. Este parâmetro é usado para limitar o número máximo de tentativas de reencaminhamento.
  • Intervalo de pesquisa da rede ((milliseconds): válido apenas para o protocolo REST, controle do intervalo de solicitação da rede, evite solicitações muito frequentes, além dos limites da bolsa.
  • Tempo de sincronização das contas (segundos): período de tempo para sincronizar os dados das contas.
  • Tempo de sincronização de posições após a abertura da posição (milliseconds): apenas para a abertura de posições repetidas causadas por atrasos de dados de algumas exchanges, a configuração de tempo de sincronização maior pode mitigar esse tipo de problema.
  • Multiplice de alavancagem: configure o multiplicador de alavancagem.

Negociação em dinheiro, outras configurações

  • Volume de transação de uma mão: o volume de transação de uma mão padrão, válido apenas para o dinheiro.
  • Número mínimo de transações: Número mínimo de transações
  • Precificação monetária: Precificação do preço, ou seja, o número de dígitos do preço.
  • Precisão da variedade de transação: a precisão da quantidade seguinte, ou seja, o número menor da quantidade seguinte.
  • Taxa de processamento: 0,002 indica 2 milésimos para alguns dados calculados de acordo com essa configuração.
  • Intervalos de perda e prejuízo: somente em disco rígido.
  • Falha de repetição ((ms): intervalo de repetição quando a solicitação da rede falha.
  • Agente de uso: válido apenas para o protocolo REST.
  • Esconde erros comuns na rede: Esconde erros comuns na área de registro.
  • O endereço de base de comutação é válido apenas para o protocolo REST.
  • Notificações de envio: envio de mensagens para a caixa de correio, etc.

Faça um pedido

Abrir uma posição

pine
strategy(title = "open long example", pyramiding = 3) // pyramiding 允许的同方向下单的次数 strategy.entry("long1", strategy.long, 0.01) // 市价开多仓,指定分组标签为long1 strategy.entry("long2", strategy.long, 0.02, when = close > ta.ema(close, 10)) // 条件触发,执行下单,市价开多仓 strategy.entry("long3", strategy.long, 0.03, limit = 30000) // 指定(较低的)价格,计划下买单订单,等待成交开仓,限价开仓

Posições equilibradas

pine
strategy(title = "close long example", pyramiding = 2) // pyramiding 允许的同方向下单的次数 strategy.entry("long1", strategy.long, 0.1) // 市价开多仓,指定分组标签为long1 strategy.entry("long2", strategy.long, 0.1) // 市价开多仓,指定分组标签为long2 strategy.close("long1", when = strategy.position_size > 0.1, qty_percent = 50, comment = "close buy entry for 50%") // 平仓,指定平掉分组标签为long1的仓位的50%持仓 strategy.close("long2", when = strategy.position_size > 0.1, qty_percent = 80, comment = "close buy entry for 80%") // 平仓,指定平掉分组标签为long2的仓位的80%持仓

Mecanismo de negociação

O mecanismo de posicionamento da linguagem PINE é semelhante ao de um posicionamento unidirecional. Por exemplo, quando se detém uma posição em direção a várias posições, se houver ordens de venda de operações, planos, etc. em sentido oposto em relação à direção da posição, as ordens de execução são acionadas, em seguida, as ordens acionadas são acionadas em sentido oposto em relação à posição anterior.

Planilha

Quando o comando de encomenda é usado, a lista de preços é assumida por defeito se não for especificado qualquer preço. Além da lista de preços, a lista de planos também pode ser encomendada por meio da lista de planos, mas a lista de planos não opera a lista de planos imediatamente. A lista de planos pode ser incluída na cota de encomendas de planos que não existem no processo ao ser acionada.Disco rígido / retrospectivaA informação de estado de tempo (ou seja, o estado da estratégia em execução) é visto na seção de páginas do formulário "Ordens planejadas". Quando o preço do mercado em tempo real atende às condições, o sistema só faz um pedido real quando esses planos são acionados. Portanto, esses pedidos são normais se houver um ligeiro desvio no preço de transação.strategy.entryQuando uma função é encomendada, podemos especificarlimitstopParâmetros

var isTrade = false if not barstate.ishistory and not isTrade isTrade := true strategy.entry("test 1", strategy.long, 0.1, stop=close*1.3, comment="test 1 order") // stop strategy.entry("test 2", strategy.long, 0.2, limit=close*0.7, comment="test 2 order") // limit strategy.entry("test 3", strategy.short, 0.3, stop=close*0.6, limit=close*1.4, comment="test 3 order") // stop-limit
  • Ordem de limite

    O preço limite de um pedido é definido quando o pedido é pago (ou seja,directionOs parâmetros sãostrategy.longA ordem é acionada apenas quando o preço atual do mercado é inferior a esse preço.
    Quando a encomenda é para venda por encomenda (ou seja,directionOs parâmetros sãostrategy.shortA ordem só é acionada quando o preço atual do mercado é superior a esse preço.

  • Pedido de stop

    Estabelecer um preço de parada de uma ordem, quando a ordem é uma compra, a ordem só será acionada se o preço atual do mercado for superior a esse preço.
    Quando um pedido é um pedido de venda, o pedido só é acionado quando o preço atual do mercado é inferior a esse preço.

  • Ordem de stop-limit

    Pode ser configurado simultaneamentelimitstopParâmetro: A ordem é acionada pelo preço mais qualificado.

Percentagem de direitos

pine
//@version=5 strategy("Percent of Equity Order", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // 简单的均线交叉策略 longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28)) shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) // 如果均线交叉条件满足,则买入或卖出 if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)

Especificaçãodefault_qty_type=strategy.percent_of_equityDepois, configuraçãodefault_qty_valuePor exemplo: a conta atual tem 10.000 USDT, e a ordem de 1% é a ordem de compra com o tamanho de 100 USDT (calculada com o preço atual no momento da venda).

Declaração, palavras-chave estrutura lógica

var

var é a palavra-chave usada para a distribuição e a inicialização de variáveis.
Normalmente, a sintaxe de atribuição de variáveis que não contém a palavra-chave var faz com que o valor da variável seja coberto sempre que os dados são atualizados. Por outro lado, quando as variáveis são atribuídas com a palavra-chave var, elas podem ser mantidas na barra de estado apesar da atualização dos dados, e somente alteradas se as condições das if-expressions forem atendidas.

var variable_name = expression

Explicação:

  • variable_name- Qualquer nome de variável de usuário permitido no Pine Script, que pode conter letras latinas maiúsculas e minúsculas, números e sublinhados_), mas não começa com um número).
  • expression- Qualquer expressão aritmética, tal como a definição de uma variável regular.

Exemplo

pine
// Var keyword example var a = close var b = 0.0 var c = 0.0 var green_bars_count = 0 if close > open var x = close b := x green_bars_count := green_bars_count + 1 if green_bars_count >= 10 var y = close c := y plot(a, title = "a") plot(b, title = "b") plot(c, title = "c")

A variável 'a' mantém o valor de fechamento do primeiro pilar de cada linha da série.
A variável 'b' mantém o preço de fechamento da primeira barra de preço de alumínio verde da série.
A variável 'c' mantém o preço de fechamento da décima chiclete verde da série.

No FMZ, os modelos de preços são os modelos de preços em tempo real, os modelos de preços de fechamento e os modelos de preços de fechamento.varvaripA variável da declaração é testada com o seguinte código:

pine
strategy("test pine", "test 1", true) // 测试 var varip var i = 0 varip ii = 0 // 将策略逻辑每轮改变的i、ii打印在图上 plotchar(true, title="ii", char=str.tostring(ii), location=location.abovebar, color=color.red) plotchar(true, title="i", char=str.tostring(i), location=location.belowbar, color=color.green) // 每轮逻辑执行都给i、ii递增1 if true i := i + 1 ii := ii + 1
  • Modelo de preço em tempo real
    O código de teste acima foi dividido em duas fases: 1) Histórico K-linha 2.) Real K-linha 3.) Quando o modelo de preço em tempo real, a fase histórica K-linhavarvaripAs variáveis i, ii da declaração executam uma operação incremental em cada rodada de execução do código da estratégia, porqueif truePortanto, execute o bloco de código condicional correspondente). Assim, pode-se ver que os números exibidos na linha BAR do resultado do teste K são incrementados em 1 cada um. Quando o estágio da linha K histórica termina, o estágio da linha K em tempo real começa.varvaripAs variáveis declaradas começam a mudar de forma diferente. Como é um modelo de preço em tempo real, o código de estratégia é executado uma vez por cada mudança de preço dentro de uma linha KBAR.i := i + 1eii := ii + 1A diferença é que ii é modificado a cada vez. Embora i seja modificado a cada vez, o valor de i é restabelecido na próxima rodada de execução da lógica da estratégia, até que o atual K line BAR seja concluído para atualizar o valor de i. Portanto, você pode ver que a variável i continua a aumentar 1 por BAR. Mas a variável ii acumula várias vezes por BAR.

  • Modelo de preço de fechamento
    Como o modelo de preço de fechamento executa uma lógica de estratégia para cada K-line BAR. Assim, no modelo de preço de fechamento, a fase de linha K histórica e a fase de linha K em tempo real são separadas.varvaripAs variáveis declaradas são exatamente as mesmas em cada K line BAR incrementado de 1 <unk>.

varip

varip ((var intrabar persist) é uma palavra-chave usada para a distribuição e inicialização de variáveis de uma só vez. É semelhante à palavra-chave var, mas a variável que usa a declaração varip mantém seu valor entre as atualizações de linha K em tempo real.

varip variable_name = expression

Explicação:

  • variable_name- Qualquer nome de variável de usuário permitido no Pine script que possa conter letras maiúsculas e minúsculas, números e sublinhados_), mas não começa com um número).
  • expression- Qualquer expressão aritmética, como quando se define uma variável regular. Na primeira linha K, a expressão é calculada apenas uma vez e é atribuída à variável uma vez.

Exemplo

pine
// varip varip int v = -1 v := v + 1 plot(v)

Usando var, o gráfico retorna o valor de bar_index. Usando varip, o mesmo acontece na linha K histórica, mas na linha K em tempo real, o gráfico retorna um valor que aumenta para cada tick.

Nota:
Só pode ser usado com tipos simples, como float, int, bool, string, e com arrays desses tipos.

true

Representar um valor de uma variável de tipo Boole, ou quando a expressão é usadaComparaçãoouLógicaValores que podem ser calculados no operador.

Nota:
Veja tambémComparaçãoO operador eLógicaDescrição do operador:

Veja também
bool

false

Indica o valor de uma variável de tipo Boole, e o resultado de operações de comparação e operações lógicas.

Nota:
Veja tambémComparaçãoO operador eLógicaDescrição do operador:

Veja também
bool

if

Uma sentença if define um bloco de sentenças que deve ser executado para satisfazer uma condição de expressão. A linguagem de scripting Pine, em sua 4a edição, permite que você use a sintaxe de <unk>else if<unk>.

Código genérico:

var_declarationX = if condition var_decl_then0 var_decl_then1 ... var_decl_thenN return_expression_then else if [optional block] var_decl_else0 var_decl_else1 ... var_decl_elseN return_expression_else else var_decl_else0 var_decl_else1 ... var_decl_elseN return_expression_else

Nota:
var_declarationX- Esta variável obtém o valor da frase if
condition- Use bloco de declarações se a condição for verdadeirathenA lógica no interiorvar_decl_then0var_decl_then1Se a condição for false, use o bloco de sentenças.else ifouelseA lógica no interiorvar_decl_else0var_decl_else1E assim por diante.
return_expression_then , return_expression_else- A última expressão no módulo ou a expressão do bloco else retornará o valor final da frase. Se a declaração da variável estiver no final, seu valor será o valor resultante.

O tipo de retorno de um valor de uma declaração if depende dereturn_expression_thenereturn_expression_elseQuando executado no TradingView, seus tipos devem coincidir: quando você tem um valor de string no bloco else, é impossível retornar um valor inteiro do bloco then. Quando executado no FMZ, o exemplo a seguir não comete erros, quando o valor y é "open", o valor do gráfico de plot é n/a.

Exemplo

pine
// This code compiles x = if close > open close else open // This code doesn’t compile by trading view // y = if close > open // close // else // "open" plot(x)

Pode ser omitidoelseBloco <unk> Neste caso, se a condição for false, a variável var_declarationX será atribuída a um valor <unk>empty (na, false ou <unk>):

Exemplo

pine
// if x = if close > open close // If current close > current open, then x = close. // Otherwise the x = na. plot(x)

Pode-se usar vários blocos de <unk>else if<unk> ou não usar nenhum. Os blocos de <unk>then<unk>, <unk>else if<unk> e <unk>else<unk> são movidos em quatro espaços:

Exemplo

pine
// if x = if open > close 5 else if high > low close else open plot(x)

Pode ser ignorado.ifO valor de resultado da expressão ((<unk>var_declarationX=<unk> pode ser omitido)). Pode ser útil se você precisar de efeitos colaterais da expressão, por exemplo, em estratégias de negociação:

Exemplo

pine
if (ta.crossover(high, low)) strategy.entry("BBandLE", strategy.long, stop=low) else strategy.cancel(id="BBandLE")

As sentenças If podem ser incluídas:

Exemplo

pine
// if float x = na if close > open if close > close[1] x := close else x := close[1] else x := open plot(x)

for

A estrutura 'for' permite a execução repetida de várias frases:

[var_declaration =] for counter = from_num to to_num [by step_num] statements | continue | break return_expression

var_declaration- Uma declaração de variável selecionável, que será atribuída ao valor da expressão return_expression do loop.
counter- A variável que guarda o valor do contador de volta, aumentando/diminuindo 1 ou o valor step_num em cada iterativa da volta.
from_num- Valores iniciais do contador. Permite o uso de thresholds int/float series/expressões.
to_num- o valor final do contador. O ciclo é interrompido quando o contador é maior do que to_num (ou menor do que to_num no caso de from_num > to_num). O uso de thresholds int/float thresholds/expressions é permitido, mas eles são avaliados apenas na primeira iteração do ciclo.
step_num- O valor de acréscimo/decaimento do contador. É opcional. O valor padrão é +1 ou -1, dependendo do maior de from_num ou to_num.
statements | continue | break- Escreva um número arbitrário de frases, ou palavras-chave 'continue' ou 'break', em 4 espaços ou uma tabulação.
return_expression- O valor de retorno do loop, se existir, é atribuído a uma variável na declaração var. Se o loop for retirado devido à palavra-chave <unk>continue<unk> ou <unk>break<unk>, o valor de retorno do loop é o valor de retorno da última variável a ser atribuída antes da saída do loop.
continue- Palavras-chave que só podem ser usadas no loop. Isso faz com que a próxima iterativa do loop seja executada.
break- Palavras-chave para sair do círculo.

Exemplo

pine
// Here, we count the quantity of bars in a given 'lookback' length which closed above the current bar's close qtyOfHigherCloses(lookback) => int result = 0 for i = 1 to lookback if close[i] > close result += 1 result plot(qtyOfHigherCloses(14))

Veja também
for...in while

for...in

for...inA estrutura permite executar várias instruções repetidas para cada elemento da matriz. Pode ser usada com qualquer dos seguintes parâmetros:array_element, ou com dois argumentos:[index, array_element]A segunda forma não afeta a função do ciclo. Ela segue o índice da iteração atual na primeira variável do módulo.

[var_declaration =] for array_element in array_id statements | continue | break return_expression [var_declaration =] for [index, array_element] in array_id statements | continue | break return_expression

var_declaration- uma declaração de variável selecionável, que será atribuída ao cicloreturn_expressionValor de
index- Variavel opcional que acompanha o índice de iteração atual. O índice começa em 0. A variável é imutável no corpo circular. Quando usada, ela deve ser incluída em um que também seja incluído.array_elementSubgrupo de
array_element- Contém a variável de cada elemento da matriz contínua a ser processado no ciclo. Esta variável é imutável no corpo do ciclo.
array_id- ID de matriz para a repetição do círculo.
statements | continue | break- Escreva um número arbitrário de frases, ou palavras-chave 'continue' ou 'break', em 4 espaços ou uma tabulação.
return_expression- O valor de retorno do loop é atribuído avar_declarationA variável, se existir. Se o loop sair devido a palavras-chave 'continue' ou 'break', o valor de retorno do loop será o último valor atribuído antes do loop sair.
continue- Palavras-chave que só podem ser usadas no loop. Isso faz com que a próxima iterativa do loop seja executada.
break- Palavras-chave para sair do círculo.

É permitido modificar o elemento ou o tamanho da matriz no loop.
Aqui, usamosfor...inA forma monoparametrica para determinar, em cada linha K, quantos valores de OHLC da linha K são maiores do que os valores de 'close' do SMA:

Exemplo

pine
// Here we determine on each bar how many of the bar's OHLC values are greater than the SMA of 'close' values float[] ohlcValues = array.from(open, high, low, close) qtyGreaterThan(value, array) => int result = 0 for currentElement in array if currentElement > value result += 1 result plot(qtyGreaterThan(ta.sma(close, 20), ohlcValues))

Aqui, nós usamos a forma de dois parâmetros de for...in para fazer o nossoisPosO valor da matriz é trueQuando eles estão em nosso.valuesArrayO valor correspondente na matriz é a hora correta:

Exemplo

pine
// for...in var valuesArray = array.from(4, -8, 11, 78, -16, 34, 7, 99, 0, 55) var isPos = array.new_bool(10, false) for [index, value] in valuesArray if value > 0 array.set(isPos, index, true) if barstate.islastconfirmedhistory runtime.log(str.tostring(isPos))

Veja também
for while array.sum array.min array.max

while

whileO enunciado permite a iteração condicional de blocos de código locais.

variable_declaration = while boolean_expression ... continue ... break ... return_expression

Explicação:
variable_declaration- Declarações de variáveis opcionais.return expressionPode-se fornecer um valor de inicialização para esta variável.
boolean_expression- Execute se for verdadewhileSe for false, então emwhileO texto é executado após a frase.
continue - continueAs palavras-chave levam o ciclo a se ramificar para a próxima geração.
break - breakA palavra-chave que causa o fim do ciclo.whileA frase é seguida de uma recuperação.
return_expression- Oferta.whileUma linha opcional que retorna o valor de uma frase.

Exemplo

pine
// This is a simple example of calculating a factorial using a while loop. int i_n = input.int(10, "Factorial Size", minval=0) int counter = i_n int factorial = 1 while counter > 0 factorial := factorial * counter counter := counter - 1 plot(factorial)

Nota:
Inicialmente.whileO bloco de código local após a linha deve ser comprimido em quatro espaços ou um marcador.whileO ciclo.whileA expressão de Boole posterior tem de ser false, ou tem de ser executada.break

switch

O operador switch transfere o controle para uma das várias sentenças de acordo com o valor da condição e da expressão.

[variable_declaration = ] switch expression value1 => local_block value2 => local_block ... => default_local_block [variable_declaration = ] switch boolean_expression1 => local_block boolean_expression2 => local_block ... => default_local_block

A expressão "switch":

Exemplo

pine
// Switch using an expression string i_maType = input.string("EMA", "MA type", options = ["EMA", "SMA", "RMA", "WMA"]) float ma = switch i_maType "EMA" => ta.ema(close, 10) "SMA" => ta.sma(close, 10) "RMA" => ta.rma(close, 10) // Default used when the three first cases do not match. => ta.wma(close, 10) plot(ma)

Switch sem expressão:

Exemplo

pine
strategy("Switch without an expression", overlay = true) bool longCondition = ta.crossover( ta.sma(close, 14), ta.sma(close, 28)) bool shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) switch longCondition => strategy.entry("Long ID", strategy.long) shortCondition => strategy.entry("Short ID", strategy.short)

Devolver valores
O valor da última expressão no bloco de declarações locais executado.

Nota:
Só pode ser executadolocal_blockExemplos oudefault_local_blockUm deles.default_local_blockApenas com=>O marcador é introduzido juntamente e executado somente se o bloco anterior não for executado. SeswitchO resultado da sentença é atribuído a uma variável e não é especificadodefault_local_blockSe não houver execução,local_block, então a frase voltanaNão, não.switchQuando o resultado de uma sentença é atribuído a uma variável, todas aslocal_blockA instância deve retornar valores do mesmo tipo.

Veja também
if ?:

series

series é uma palavra-chave que indica o tipo de série de dados.seriesAs palavras-chave geralmente não são necessárias.

Operador

=

É usado para atribuir valores a variáveis, mas apenas quando as variáveis são declaradas.

:=

O operador de atribuição atribui a variável à esquerda. É usado para atribuir a variável declarada anteriormente.

!=

Não é igual a ≠ ≠ ≠ ≠ ≠ ≠

expr1 != expr2

Devolver valores
Um valor de bur, ou uma série de valores de bur.

%

Número modulo ((número inteiro excedente) [2]. Aplica-se a expressões de valor numérico [2].

expr1 % expr2

Devolver valores
Um valor inteiro ou um valor de ponto flutuante, ou uma série de valores.

Nota:
No script Pine, quando o saldo de números inteiros é calculado, o negócio será interrompido. Ou seja, o valor recebido terá o mesmo símbolo que o dividendo.

Exemplo: -1 % 9 = -1 - 9 * truncate ((-1/9) = -1 - 9 * truncate ((-0.111) = -1 - 9 * 0 = -1 ◦

%=

Definição de módulo. Aplica-se a expressões numéricas.

expr1 %= expr2

Exemplo

pine
// Equals to expr1 = expr1 % expr2. a = 3 b = 3 a %= b // Result: a = 0. plot(a)

Devolver valores
Um valor inteiro ou um valor de ponto flutuante, ou uma série de valores.

*

Multiplicação. Aplica-se a expressões numéricas.

expr1 * expr2

Devolver valores
Um valor inteiro ou um valor de ponto flutuante, ou uma série de valores.

*=

A multiplicação é designada. Aplica-se a expressões numéricas.

expr1 *= expr2

Exemplo

pine
// Equals to expr1 = expr1 * expr2. a = 2 b = 3 a *= b // Result: a = 6. plot(a)

Devolver valores
Um valor inteiro ou um valor de ponto flutuante, ou uma série de valores.

+

Adição ou um número positivo. Aplica-se a expressões numéricas ou strings.

expr1 + expr2
+ expr

Devolver valores
Binário de Strings+Retorna a fusão de express1 e express2
O número retorna um inteiro ou um valor de ponto flutuante, ou uma série de valores:
O binário '+' retorna expressão 1 mais expressão 2.
1 yuan + 1 yuan retorna expr ((Não adicione nada ao operador de 1 yuan de simetria) ▽

Nota:
Você pode usar operadores de aritmética com números, bem como um conjunto de variáveis. No caso de usar um conjunto de variáveis, os operadores são aplicados aos elementos.

+=

A designação de adição <unk> aplica-se a expressões numéricas ou strings <unk>.

expr1 += expr2

Exemplo

pine
// Equals to expr1 = expr1 + expr2. a = 2 b = 3 a += b // Result: a = 5. plot(a)

Devolver valores
Para uma string, retorne a sequência de expressões expr1 e expr2. Para números, retorne um inteiro ou um valor de ponto flutuante, ou uma série de valores.

Nota:
Você pode usar operadores de aritmética com números, bem como um conjunto de variáveis. No caso de usar um conjunto de variáveis, os operadores são aplicados aos elementos.

-

O método de subtração ou umitero-negativo. Aplica-se a expressões numéricas.

expr1 - expr2
- expr

Devolver valores
Retorna um valor inteiro ou um valor de ponto flutuante, ou uma série de valores:
O binário '+' retorna expressão 1 menos expressão 2.
Um dólar.-Retorna a expressão negativa de ∂.

Nota:
Você pode usar operadores de aritmética com números, bem como um conjunto de variáveis. No caso de usar um conjunto de variáveis, os operadores são aplicados aos elementos.

-=

Designação de subtração. Aplica-se a expressões numéricas.

expr1 -= expr2

Exemplo

pine
// Equals to expr1 = expr1 - expr2. a = 2 b = 3 a -= b // Result: a = -1. plot(a)

Devolver valores
Um valor inteiro ou um valor de ponto flutuante, ou uma série de valores.

/

Exclusão: aplica-se a expressões numéricas.

expr1 / expr2

Devolver valores
Um valor inteiro ou um valor de ponto flutuante, ou uma série de valores.

/=

Designação de exclusão. Aplica-se a expressões numéricas.

expr1 /= expr2

Exemplo

pine
// Equals to expr1 = expr1 / expr2. a = 3 b = 3 a /= b // Result: a = 1. plot(a)

Devolver valores
Um valor inteiro ou um valor de ponto flutuante, ou uma série de valores.

<

Menor que ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠

expr1 < expr2

Devolver valores
Um valor de bur, ou uma série de valores de bur.

<=

Menor ou igual a ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠

expr1 <= expr2

Devolver valores
Um valor de bur, ou uma série de valores de bur.

==

É igual a . . . Aplica-se a qualquer tipo de expressão . . .

expr1 == expr2

Devolver valores
Um valor de bur, ou uma série de valores de bur.

=>

O operador '=>' é usado para declarar funções definidas pelo usuário eswitchNa frase:

A sintaxe da declaração de função é:

<identifier>([<parameter_name>[=<default_value>]], ...) => <local_block> <function_result>

Um.<local_block>São zero ou mais frases de Pine.
<function_result>É uma variável, uma expressão ou um grupo.

Exemplo

pine
// single-line function f1(x, y) => x + y // multi-line function f2(x, y) => sum = x + y sumChange = ta.change(sum, 10) // Function automatically returns the last expression used in it plot(f1(30, 8) + f2(1, 3))

Nota:
Você pode obter mais informações sobre funções definidas pelo usuário nas páginas de declarações de funções e biblioteca de scripts do manual do usuário.

>

Maior do que <unk> aplica-se a expressões numéricas

expr1 > expr2

Devolver valores
Um valor de bur, ou uma série de valores de bur.

>=

Maior que ou igual a. Aplica-se a expressões numéricas.

expr1 >= expr2

Devolver valores
Um valor de bur, ou uma série de valores de bur.

?:

O operador de condição triangular。

expr1 ? expr2 : expr3

Exemplo

pine
// Draw circles at the bars where open crosses close s2 = ta.cross(open, close) ? math.avg(open,close) : na plot(s2, style=plot.style_circles, linewidth=2, color=color.red) // Combination of ?: operators for 'switch'-like logic c = timeframe.isintraday ? color.red : timeframe.isdaily ? color.green : timeframe.isweekly ? color.blue : color.gray plot(hl2, color=c)

Devolver valores
Se expr1 for avaliado como verdadeiro, expr2 será, caso contrário, expr3. Os valores de zero ((0 e NaN +, Infinity, -Infinity) são considerados falsos, os outros valores são verdadeiros.

Nota:
Se você não precisar, use na como uma ramificação de naelse.
Você pode combinar dois ou mais operadores ?: para implementar uma frase semelhante à da supressão de um parênquima (veja o exemplo acima).
Você pode usar operadores de aritmética com números, bem como um conjunto de variáveis. No caso de usar um conjunto de variáveis, os operadores são aplicados aos elementos.

Veja também
na

[]

Subsérie ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠

expr1[expr2]

Exemplo

pine
// [] can be used to "save" variable value between bars a = 0.0 // declare `a` a := a[1] // immediately set current value to the same as previous. `na` in the beginning of history if high == low // if some condition - change `a` value to another a := low plot(a)

Devolver valores
Uma série de valores.

Veja também
math.floor

and

A lógica AND <unk> aplica-se às expressões de Boole <unk>.

expr1 and expr2

Devolver valores
Um valor de bur, ou uma série de valores de bur.

or

A lógica OR ≠ aplica-se às expressões de Boole ≠

expr1 or expr2

Devolver valores
Um valor de bur, ou uma série de valores de bur.

not

A inversão lógica ((NOT) <unk> aplica-se às expressões de Boole<unk>.

not expr1

Devolver valores
Um valor de bur, ou uma série de valores de bur.

Tipo de dados Palavras-chave

bool

A palavra-chave do tipo bool <unk> ((Bool)) usada para declarar explicitamente uma variável ou um parâmetro. O valor da variável "Bool" pode ser verdadeiro, falso ou na.

Exemplo

pine
// bool bool b = true // Same as `b = true` b := na plot(b ? open : close)

Nota:
É opcional mencionar o tipo explicitamente na declaração da variável, a menos que seja iniciado com na. Para mais informações sobre o tipo Pine, consulte a página do manual do usuário do sistema de tipos.

Veja também
var varip int float color string true false

int

Palavras-chave do tipo <unk>int <unk> ((inteiro)) para variáveis ou parâmetros declarados explicitamente.

Exemplo

pine
// int int i = 14 // Same as `i = 14` i := na plot(i)

Nota:
É opcional mencionar o tipo explicitamente na declaração da variável, a menos que seja iniciado com na. Para mais informações sobre o tipo Pine, consulte a página do manual do usuário do sistema de tipos.

Veja também
var varip float bool color string

float

Palavras-chave do tipo float () para variáveis ou parâmetros declarados explicitamente.

Exemplo

pine
// float float f = 3.14 // Same as `f = 3.14` f := na plot(f)

Nota:
É opcional mencionar o tipo explicitamente na declaração da variável, a menos que seja iniciado com na.

Veja também
var varip int bool color string

string

Palavras-chave do tipo "string" para variáveis ou parâmetros declarados explicitamente.

Exemplo

pine
// string string s = "Hello World!" // Same as `s = "Hello world!"` // string s = na // same as "" plot(na, title=s)

Nota:
É opcional mencionar o tipo explicitamente na declaração da variável, a menos que seja iniciado com na. Para mais informações sobre o tipo Pine, consulte a página do manual do usuário do sistema de tipos.

Veja também
var varip int float bool str.tostring str.format

color

Palavras-chave do tipo "color" usadas para declarar variáveis ou parâmetros de expressões.

Exemplo

pine
// color color textColor = color.green if barstate.islastconfirmedhistory runtime.log("test", textcolor = textColor)

Nota:
Os caracteres de cor têm o seguinte formato: #RRGGBB ou #RRGGBBAA. Os pares de letras representam os valores de dezesseis dígitos de 00 a FF ((de dezesseis dígitos de 0 a 255), onde RR, GG e BB são os valores das proporções de vermelho, verde e azul das cores. AA é o valor opcional da transparência da cor (ou a proporção alfa), onde 00 é invisível e FF não é transparente.
É opcional mencionar o tipo explicitamente na declaração da variável, a menos que seja iniciado com na. Para mais informações sobre o tipo Pine, consulte a página do manual do usuário do sistema de tipos.

Veja também
var varip int float string color.rgb color.new

array

Palavras-chave para o tipo de array de arrays de variáveis ou parâmetros declarados explicitamente. Pode ser usadoarray.new<type>,array.fromA função cria um objeto de matriz ((ou ID) }}.

Exemplo

pine
// array array<float> a = na a := array.new<float>(1, close) plot(array.get(a, 0))

Nota:
Os objetos da matriz são sempre em forma de conjuntos de conjuntos.

Veja também
var array.new array.from

Objects

Os objetos da linguagem PINE são exemplos de tipos definidos pelo usuário (UDT), que podem ser entendidos como classes sem métodos, permitindo que o usuário crie tipos personalizados em uma política para organizar diferentes valores em uma entidade.

Definição de tipo

Vamos definir um tipo de ordem para armazenar a informação do pedido:

pine
type order float price float amount string symbol
  • usartypeTipo de declaração da palavra-chave <unk>
  • A palavra-chave type é seguida pelo nome do tipo.
  • A primeira linha type define o nome do tipo, e depois, em quatro espaços, define os campos que o tipo contém.
  • Cada campo precisa declarar seu tipo de dados, como int, float, string.

Objeto de criação

Utilize o tipo declarado, chamadanew()Objeto de criação da função:

pine
order1 = order.new()
pine
order1 = order.new(100, 0.1, "BTC_USDT")
pine
order1 = order.new(amount = 0.1, symbol = "BTC_USDT", price = 100)

Também é possível criar objetos vazios:

pine
order order1 = na

Vejamos um exemplo prático:

pine
type order float price float amount string symbol if strategy.position_size == 0 and open > close strategy.entry("long", strategy.long, 1) order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker) // runtime.log(order1) // 输出 {"data":{"price":46002.8,"amount":1,"symbol":"swap"},"_meta":0,"_type":"order"}

O exemplo é esta frase:

pine
order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)

A expressão pode também ser escrita da seguinte forma:

pine
order order1 = na order1 := order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)

Tipo de objeto para o uso da palavra-chave var

pine
//@version=5 indicator("Objects using `var` demo") //@type A custom type to hold index, price, and volume information. type BarInfo int index = bar_index float price = close float vol = volume //@variable A `BarInfo` instance whose fields persist through all iterations, starting from the first bar. var BarInfo firstBar = BarInfo.new() //@variable A `BarInfo` instance declared on every bar. BarInfo currentBar = BarInfo.new() // Plot the `index` fields of both instances to compare the difference. plot(firstBar.index, "firstBar") plot(currentBar.index, "currentBar")

Quando uma variável é atribuída a um objeto do tipo definido pelo usuário, a declaração da palavra-chave var é aplicada automaticamente a todos os campos desse objeto. Isso significa que um objeto declarado com a palavra-chave var manterá seu estado entre cada iteração, sem a necessidade de reiniciar seus valores de campo em cada iteração.

  • O objeto firstBar é declarado com a palavra-chave var, então seu campo ((index, price, vol) manterá seu valor em cada iterativa, desde o primeiro item até o fim do último.
  • O objeto currentBar não usa a declaração de palavra-chave var, então seus campos serão reinicializados em cada entrada e haverá um novo objeto em cada interação.

Ao mapear os campos de índice de dois objetos, você pode comparar as diferenças entre eles. firstBar.index manterá o valor previamente definido em cada iterativa, enquanto que currentBar.index será reinicializado em cada iterativa como o valor bar_index do item atual.

Tipo de objeto para uso de varip

pine
//@version=5 indicator("Objects using `varip` fields demo") //@type A custom type that counts the bars and ticks in the script's execution. type Counter int bars = 0 varip int ticks = 0 //@variable A `Counter` object whose reference persists throughout all bars. var Counter counter = Counter.new() // Add 1 to the `bars` and `ticks` fields. The `ticks` field is not subject to rollback on unconfirmed bars. counter.bars += 1 counter.ticks += 1 // Plot both fields for comparison. plot(counter.bars, "Bar counter", color.blue, 3) plot(counter.ticks, "Tick counter", color.purple, 3)

Em Pine, o uso da palavra-chave varip pode indicar que o campo do objeto persiste durante toda a execução do script, sem rolar dentro da coluna não confirmada.
Em uma declaração do tipo Counter, o campo bars não usa a palavra-chave varip e, portanto, rola dentro de cada coluna não confirmada. O campo ticks usa a palavra-chave varip e, portanto, não rola dentro da coluna não confirmada.
O objeto counter é declarado com a palavra-chave var, então ele persistirá durante toda a execução do script.
Em cada iterativa, os campos de barras e ticks são adicionados 1 ≠. Os campos de barras são revertidos dentro de cada coluna não confirmada, enquanto os campos de ticks não são.
Finalmente, pode-se comparar as diferenças entre eles através do mapeamento dos campos counter.bars e counter.ticks. O valor de counter.bars será revertido dentro de cada coluna não confirmada, enquanto o valor de counter.ticks será aumentado continuamente até o fim da execução do script.

Alteração de valores de campo

pine
type order float price float amount string symbol if strategy.position_size == 0 and open > close strategy.entry("long", strategy.long, 1) order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker) if strategy.position_size != 0 runtime.log(order1) order1.price := 999 order1.amount := 100 runtime.log(order1) runtime.error("stop")

Disponível:=O operador de reavaliação altera o valor do campo objeto.

Coleção de objetos

O exemplo declara um array em branco que guarda objetos do tipo order definido pelo usuário:

pine
type order float price float amount string symbol arrOrder = array.new<order>() order1 = order.new(99, 1, "BTC_USDT") order2 = order.new(100, 2, "ETH_USDT") array.push(arrOrder, order1) array.push(arrOrder, order2) runtime.log(arrOrder) runtime.error("stop")

ou

pine
type order float price float amount string symbol var array<order> arrOrder = na arrOrder := array.new<order>() order1 = order.new(99, 1, "BTC_USDT") order2 = order.new(100, 2, "ETH_USDT") array.push(arrOrder, order1) array.push(arrOrder, order2) runtime.log(arrOrder) runtime.error("stop")

Objeto de cópia

Em Pine, os objetos são atribuídos por referência. Quando um objeto existente é atribuído a uma nova variável, ambos apontam para o mesmo objeto.

pine
//@version=5 indicator("") type pivotPoint int x float y pivot1 = pivotPoint.new() pivot1.x := 1000 pivot2 = pivot1 pivot2.x := 2000 // Both plot the value 2000. plot(pivot1.x) plot(pivot2.x)

No exemplo a seguir, criamos um objeto pivot1 e definimos seu campo x como 1000。 Em seguida, declaramos que um pivot2 contém uma variável que faz referência a esse objeto pivot1 e, portanto, ambos apontam para a mesma instância。 Portanto, alterar o pivot2.x também altera o pivot1.x, pois ambos fazem referência a um campo x do mesmo objeto。

Para criar uma cópia independente do objeto original, neste caso podemos usar o método de copiar embutido (). Neste exemplo, declaramos que o pivot2 faz referência a uma variável da instância de replicação do objeto pivot1. Agora, alterar o pivot2.x não altera o pivot1.x, pois refere-se a um campo de x um objeto separado:

pine
//@version=5 indicator("") type pivotPoint int x float y pivot1 = pivotPoint.new() pivot1.x := 1000 pivot2 = pivotPoint.copy(pivot1) pivot2.x := 2000 // Plots 1000 and 2000. plot(pivot1.x) plot(pivot2.x)

Note-se que o método de cópia do TradingView é uma cópia superficial. Se um objeto tiver campos de tipos especiais (array, etc.), esses campos na cópia superficial do objeto apontarão para a mesma instância do objeto.
A plataforma FMZ permite a cópia profunda diretamente, sem necessidade de processamento adicional. Veja os exemplos a seguir:

Cópia profunda

pine
//@version=5 indicator("test deepCopy") type orderInfo float price float amount type labelInfo orderInfo order string labelMsg labelInfo1 = labelInfo.new(orderInfo.new(100, 0.1), "test labelInfo1") labelInfo2 = labelInfo.copy(labelInfo1) labelInfo1.labelMsg := "labelInfo1->2" // 修改 labelInfo1 的基础类型字段,看是否影响 labelInfo2 labelInfo1.order.price := 999 // 修改 labelInfo1 的复合类型字段,看是否影响 labelInfo2 runtime.log(labelInfo1) runtime.log(labelInfo2) runtime.error("stop")

O resultado do teste, labelInfo.copy ((labelInfo1) é executado como uma cópia profunda, modificando qualquer campo do labelInfo1 não afetará o labelInfo2。

Methods

Os métodos da linguagem Pine são funções especializadas associadas a tipos embutidos ou definidos pelo usuário em uma instância específica. Em muitos aspectos, eles são basicamente os mesmos que as funções regulares, mas oferecem uma gramática mais curta e mais conveniente. Os usuários podem acessar os métodos diretamente em variáveis usando símbolos de ponto, assim como acessam os campos de objetos Pine.

Métodos embutidos

Por exemplo, um trecho de um script que diz:

pine
//@version=5 indicator("Custom Sample BB", overlay = true) float sourceInput = input.source(close, "Source") int samplesInput = input.int(20, "Samples") int n = input.int(10, "Bars") float multiplier = input.float(2.0, "StdDev") var array<float> sourceArray = array.new<float>(samplesInput) var float sampleMean = na var float sampleDev = na // Identify if `n` bars have passed. if bar_index % n == 0 // Update the queue. array.push(sourceArray, sourceInput) array.shift(sourceArray) // Update the mean and standard deviaiton values. sampleMean := array.avg(sourceArray) sampleDev := array.stdev(sourceArray) * multiplier // Calculate bands. float highBand = sampleMean + sampleDev float lowBand = sampleMean - sampleDev plot(sampleMean, "Basis", color.orange) plot(highBand, "Upper", color.lime) plot(lowBand, "Lower", color.red)

O equivalente pode ser reescrito como

pine
//@version=5 indicator("Custom Sample BB", overlay = true) float sourceInput = input.source(close, "Source") int samplesInput = input.int(20, "Samples") int n = input.int(10, "Bars") float multiplier = input.float(2.0, "StdDev") var array<float> sourceArray = array.new<float>(samplesInput) var float sampleMean = na var float sampleDev = na // Identify if `n` bars have passed. if bar_index % n == 0 // Update the queue. sourceArray.push(sourceInput) sourceArray.shift() // Update the mean and standard deviaiton values. sampleMean := sourceArray.avg() sampleDev := sourceArray.stdev() * multiplier // Calculate band values. float highBand = sampleMean + sampleDev float lowBand = sampleMean - sampleDev plot(sampleMean, "Basis", color.orange) plot(highBand, "Upper", color.lime) plot(lowBand, "Lower", color.red)

O PINE está a apoiá-lo.MethodsDepois, o código.array.avg(sourceArray)O que é que eu tenho a dizer?sourceArray.avg()
Atenção: FMZ temporariamente não suportadoarray.avgA chamada é assim.

Métodos definidos pelo usuário

O Pine permite que o usuário defina métodos personalizados para uso com qualquer tipo de objeto embutido ou definido pelo usuário. Os métodos de definição são essencialmente os mesmos que as funções de definição, mas com duas diferenças importantes:

1, a palavra-chave method deve ser incluída antes do nome da função.
2. Parâmetros de um método, onde o tipo do primeiro parâmetro deve ser declarado explicitamente, pois ele indica o tipo de objeto ao qual o método será associado.

Por exemplo, o código a seguir para calcular o indicador de Bryn é encapsulado como um método personalizado para o usuário:

pine
//@version=5 indicator("Custom Sample BB", overlay = true) float sourceInput = input.source(close, "Source") int samplesInput = input.int(20, "Samples") int n = input.int(10, "Bars") float multiplier = input.float(2.0, "StdDev") var array<float> sourceArray = array.new<float>(samplesInput) var float sampleMean = na var float sampleDev = na // Identify if `n` bars have passed. if bar_index % n == 0 // Update the queue. sourceArray.push(sourceInput) sourceArray.shift() // Update the mean and standard deviaiton values. sampleMean := sourceArray.avg() sampleDev := sourceArray.stdev() * multiplier // Calculate band values. float highBand = sampleMean + sampleDev float lowBand = sampleMean - sampleDev plot(sampleMean, "Basis", color.orange) plot(highBand, "Upper", color.lime) plot(lowBand, "Lower", color.red)

Modificado para:

pine
//@version=5 indicator("Custom Sample BB", overlay = true) float sourceInput = input.source(close, "Source") int samplesInput = input.int(20, "Samples") int n = input.int(10, "Bars") float multiplier = input.float(2.0, "StdDev") var array<float> sourceArray = array.new<float>(samplesInput) method maintainQueue(array<float> srcArray, float value, bool takeSample = true) => if takeSample srcArray.push(value) srcArray.shift() srcArray method calcBB(array<float> srcArray, float mult, bool calculate = true) => var float mean = na var float dev = na if calculate mean := srcArray.avg() dev := srcArray.stdev() * mult [mean, mean + dev, mean - dev] bool newSample = bar_index % n == 0 [sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample) plot(sampleMean, "Basis", color.orange) plot(highBand, "Upper", color.lime) plot(lowBand, "Lower", color.red)

Pode-se ver que os métodos personalizados do usuário que usam a declaração de método da palavra-chave:maintainQueue, o primeiro parâmetro da lista de parâmetros do calcBB éarray<float>Tipo: Indica que o método éarray<float>Métodos de variáveis de tipo, para que se possa ver a invocação do seguinte código para calcular o indicador de Bryn.

pine
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)

Recarregar métodos

Métodos definidos pelo usuário podem ser sobrepostos e sobrecarregados por métodos existentes com o mesmo identificador e métodos definidos pelo usuário. Esta funcionalidade permite que o usuário defina vários procedimentos associados a diferentes assinaturas de parâmetros sob o mesmo nome de método. Como um exemplo simples, suponha que queremos definir um método para identificar o tipo de variável.

pine
//@version=5 indicator("Type Inspection") // @function Identifies an object's type. // @param this Object to inspect. // @returns (string) A string representation of the type. method getType(int this) => na(this) ? "int(na)" : "int" method getType(float this) => na(this) ? "float(na)" : "float" method getType(bool this) => na(this) ? "bool(na)" : "bool" method getType(color this) => na(this) ? "color(na)" : "color" method getType(string this) => na(this) ? "string(na)" : "string" a = 1 // a.getType(): float b = 1.0 // b.getType(): float c = true // c.getType(): bool d = color.white // d.getType(): string(na) e = "1" // e.getType(): string runtime.log("a.getType():", a.getType()) runtime.log("b.getType():", b.getType()) runtime.log("c.getType():", c.getType()) runtime.log("d.getType():", d.getType()) runtime.log("e.getType():", e.getType()) runtime.error("stop")

Determinação do tipo básico de cada variávelgetType()Que tipo de sobrecarga será usado? Na plataforma FMZ, os tipos de valores são julgados como dados de tipo ponto flutuante (float) devido à implementação de Javascript como linguagem de base do script PINE.

Funções embutidas

Quando uma função é chamada, pode-se transmitir um parâmetro, pode-se especificar o nome do parâmetro atribuído, pode-se transmitir uma variável diretamente na posição do parâmetro correspondente, também é possível usar o uso de mistura. Por exemplo:

pine
plot(close, title="test plot") // 直接传参数 close ;指定参数 title ,赋值字符串"test plot"

Após a atribuição do nome do parâmetro, não é possível transmitir diretamente a variável como um parâmetro, e os parâmetros subsequentes devem ser escritos na forma de atribuição do nome do parâmetro.

pine
// plot(close, title="test", color.red) // 虽然plot第三个参数是颜色值,但是这样写就会报错 plot(close, title="test", color=color.red) // 正确写法 plot(close, "test", color.red) // 正确写法

timeframe

timeframe.in_seconds

Será transmitido atimeframeConverte o período de tempo do parâmetro para segundos.

timeframe.in_seconds(timeframe)

Exemplo

pine
// Get chart timeframe: i_tf = input.timeframe("1D") // Convert timeframe to the int value (number of seconds in 1 Day): tf = timeframe.in_seconds(i_tf) plot(tf)

Devolver valores
timeframeO número de segundos em uma linha K de int representa a forma ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ .

parâmetro

  • timeframe(simple string) Período de tempo。 opcional。 o valor padrão é timeframe.period。

Nota:
Para otimeframe>= A função '1M' calcula o número de segundos baseado em 30.4167 (365/12) dias de um mês.

Veja também
input.timeframe timeframe.period

ticker

ticker.heikinashi

Criação de um código de identificação de solicitação para suavizar o valor da linha média de K。

ticker.heikinashi(symbol)

Exemplo

pine
heikinashi_close = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close) heikinashi_aapl_60_close = request.security(ticker.heikinashi(syminfo.tickerid), "60", close) plot(heikinashi_close) plot(heikinashi_aapl_60_close)

Devolver valores
O código de ações pode ser fornecido para a função request.security.

parâmetro

  • symbol(simple string) Identificador de código de mercadoria。

Veja também
syminfo.tickerid syminfo.ticker request.security

request

request.data

Pedimos dados externos.

request.data(url, attribute)

Exemplo

pine
/*backtest start: 2024-09-01 16:00:00 end: 2024-10-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] args: [["RunMode",1,358374],["ZPrecision",0,358374]] */ var chart_data = "https://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data" spotPrice = request.data(chart_data, "$.spot_close_price") futuresPrice = request.data(chart_data, "$.future_close_price") diff = futuresPrice - spotPrice plot(diff, "永续-现货差价") plot(futuresPrice, "期货价格", overlay=true) plot(spotPrice, "现货价格", overlay=true) if diff > 80 and strategy.position_size >= 0 runtime.log("diff > 80") strategy.entry("Enter Short", strategy.short) if diff < 60 and strategy.position_size <= 0 runtime.log("diff < 60") strategy.entry("Enter Short", strategy.long)

Devolver valores
parâmetroattributeUma série de dados definida.

parâmetro

  • url(simple string) O url da fonte de dados solicitada e o formato de dados respondido pela fonte de dados precisam atender aos requisitos (incluindo pelo menos o atributo time, data):{"data": [], "schema": ["time", "data"]}Os formatos de dados podem ser consultados no exemplo:

    json
    { "data": [ [1720051200000, "{\"spot_close_price\" : 57050.01, \"future_close_price\" : 57045.9}"], [1720137600000, "{\"spot_close_price\" : 56628.79, \"future_close_price\" : 56604.9}"], // ... ], "schema": ["time", "data"] }
  • attribute(simple string) Especifica o nome da propriedade e retorna os dados necessários. Por exemplo:"$.spot_close_price",usar$.Como um prefixo, o nome da propriedade e a propriedade no campo data do data que foi respondida quando a fonte de dados foi solicitada são consistentes

Se o aviso for errado, é necessário verificar.request.dataSe o intervalo de tempo solicitado coincide com o intervalo de tempo de configuração de ressonância, a pesquisa de dados não encontrados na sequência de tempo de ressonância pode gerar um erro.

A instrução data-data para a consulta de dados do SQL neste exemplo é:

sql
WITH latest_data AS ( SELECT klines.spot_1d.Time AS time, CONCAT('{\"spot_close_price\" : ', klines.spot_1d.Close, ', \"future_close_price\" : ', klines.future_1d.Close, '}') AS data FROM klines.spot_1d JOIN klines.future_1d ON klines.spot_1d.Time = klines.future_1d.Time WHERE klines.spot_1d.Symbol = 'btc_usdt' AND klines.future_1d.Symbol = 'btc_usdt.swap' AND klines.spot_1d.Exchange = 'Binance' AND klines.future_1d.Exchange = 'Binance' ORDER BY klines.spot_1d.Time DESC LIMIT 100 ) SELECT * FROM latest_data ORDER BY time ASC;

A partir da plataforma FMZExploração de dadosPerguntas de página, criação de links de dados, como no exemplohttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data

request.security

Requer outra variedade/resolução.

request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency)

Exemplo

pine
s = request.security(syminfo.tickerid, "D", close) // 1 Day plot(s) expr = ta.sma(close, 10) s1 = request.security(syminfo.tickerid, "240", expr) // 240 Minutes plot(s1) // To avoid difference in calculation on history/realtime you can request not latest values and use merge strategy flags as follows: s2 = request.security(syminfo.tickerid, "D", close[1], barmerge.gaps_off, barmerge.lookahead_on) plot(s2) f() => [open, high] [o, h] = request.security(syminfo.tickerid, "D", f()) [l, c] = request.security(syminfo.tickerid, "D", [low, close]) plot((o + h + l + c) / 4)

Devolver valores
Série de Requisitos

parâmetro

  • symbol(simple string) Código de mercadoria。
  • timeframe(simple string) Período de tempo ≠ a string em branco será interpretada como o período de tempo atual do gráfico ≠
  • expression(series int/float/bool/color) pode ser calculado a partir da invocação request.security e retornar uma expressão. Pode ser uma série ou um módulo que contém elementos que podem ser convertidos em uma série.
  • gaps(barmerge_gaps) dá a estratégia de fusão de dados solicitados (exige que os dados sejam automaticamente combinados com os dados da série principal do OHLC). Valores possíveis: barmerge.gaps_on, barmerge.gaps_off. barmerge.gaps_on - os dados solicitados são combinados com possíveis lacunas (valores na). barmerge.gaps_off - os dados solicitados são combinados de forma contínua, todos os lacunas são preenchidos com os últimos valores existentes anteriormente.
  • lookahead(barmerge_lookahead) A estratégia de fusão de dados solicitada. Valores possíveis: barmerge.lookahead_on, barmerge.lookahead_off. A partir da versão 3, o valor padrão é barmerge.lookahead_off. Observe que o comportamento é o mesmo que no tempo real, apenas diferente no histórico.
  • ignore_invalid_symbol(const bool) Um parâmetro opcional. Determina o comportamento da função se o produto especificado não for encontrado: se for false, o script será parado e retornará um erro; se for true, a função retornará na e continuará a executar. O valor padrão é false.
  • currency(simple string) Converte o valor de referência monetária do produto (... por exemplo, OHLC) para a moeda <unk>. Depois, calcule o valor após a conversão <unk>expression <unk>. A taxa de conversão usada é baseada na taxa de câmbio diária do dia anterior do par FX_IDC <unk> (em relação à linha K calculada) <unk> opcional <unk>. O valor padrão é syminfo.currency <unk>. Valores possíveis: uma string de três letras com o código monetário no formato ISO 4217 <unk> (por exemplo, <unk>USD <unk>) ou currency.* Uma das constantes no namespace, por exemplo, currency.USD <unk>

Nota:
O código de PineScript com esta função pode fazer diferentes cálculos para o histórico e os dados em tempo real.
Se você quiser especificar parâmetros adicionais para o produto solicitado, como o tempo de transação ou o tipo de ajuste, você pode usar a função ticker.new ().
Não é possível usar a variável 'ticker' para passar a diferença de pontos para esta função. Você pode usar a variável 'ticker.new' ou a representação de cadeia de caracteres do código de ações, como AAPL+MSFT*TSLA”。
Atualmente, um script pode ter no máximo 40 requests.security.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.
Os parâmetros de resolução permitidos são:
1S, 5S, 15S, 30S - intervalo de segundos (o período de gráfico deve ser menor ou igual ao período solicitado)
De 1 a 1440 minutos
De 1D a 365D dias
De 1W a 52W em semanas.
De 1M a 12M em alguns meses

Veja também
syminfo.ticker syminfo.tickerid timeframe.period ta.correlation barmerge.lookahead_off barmerge.lookahead_on

str

str.contains

SesourceConter uma stringstrSe for uma sequência de caracteres, retorna true, caso contrário retorna false.

str.contains(source, str)

Exemplo

pine
// If the current chart is a continuous futures chart, e.g “BTC1!”, then the function will return true, false otherwise. var isFutures = str.contains(syminfo.tickerid, "!") plot(isFutures ? 1 : 0)

Devolver valores
Se emsourceEncontrado em uma stringstr, então é verdadeiro, ou então é falso.

parâmetro

  • source(series string) string de origem
  • str(series string) A sequência de caracteres a ser pesquisada.

Veja também
str.pos str.match

str.endswith

SesourceA sequência éstrA sequência de caracteres especificada no final da sequência de caracteres é devolvida para true, caso contrário para false.

str.endswith(source, str)

Devolver valores
SesourceA sequência éstrA sequência de caracteres especificada no final é verdadeira ou falsa.

parâmetro

  • source(series string) string de origem
  • str(series string) A sequência de caracteres a ser pesquisada.

Veja também
str.startswith

str.startswith

SesourceA sequência éstrA sequência de caracteres especificada no início da sequência retorna true, caso contrário retorna false.

str.startswith(source, str)

Devolver valores
SesourceA sequência éstrA sequência de caracteres especificada começa com true ou false.

parâmetro

  • source(series string) string de origem
  • str(series string) A sequência de caracteres a ser pesquisada.

Veja também
str.endswith

str.substring

Retorna uma nova string, que ésourceSubstringente de uma string. Substringente de uma string. Substringente de uma stringbegin_posOs caracteres começam no índice especificado e se estendem atésource'end_pos - 1' da sequência de caracteres.

str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)

Exemplo

pine
sym= "EXCHANGE_NAME:SYMBOL_NAME" pos = str.pos(sym, ":") // Get position of ":" character tkr= str.substring(sym, pos+1) // "SYMBOL_NAME" if barstate.islastconfirmedhistory runtime.log(tkr)

Devolver valores
Substring extraído da string de origem.

parâmetro

  • source(series string) A string de origem da qual se extrai a substring.
  • begin_pos(series int) a posição inicial da substring extraída。 é exclusiva ((a substring extraída inclui os caracteres da posição)。
  • end_pos(series int) End position。 é exclusivo ((a sequência extraída não inclui caracteres da posição)。 é opcional。 o valor padrão ésourceO comprimento da string.

Nota:
O índice da string começa em 0.begin_posigualend_pos, a função retorna uma sequência de caracteres em branco.

Veja também
str.contains str.pos str.match

str.tonumber

str.tonumber(string)

Devolver valores
Se contém números válidos, é o tipo de floating-point da string, senão é na。

parâmetro

  • string(series string) representação de uma string int ou float.

str.format

Converte uma string de formato e um valor para uma string de formatação. A string de formato pode conter texto e um ponto entre parênteses largos {} para cada valor a ser formatado. Cada ponto inclui um índice para o parâmetro necessário que irá substituí-lo (a partir de 0), e um indicador de formato opcional. O índice indica a posição do parâmetro na lista de parâmetros str.format.

str.format(formatString, arg0, arg1, ...)

Exemplo

pine
// The format specifier inside the curly braces accepts certain modifiers: // - Specify the number of decimals to display: s1 = str.format("{0,number,#.#}", 1.34) // returns: 1.3 runtime.log(s1) // - Round a float value to an integer: s2 = str.format("{0,number,integer}", 1.34) // returns: 1 runtime.log(s2) // - Display a number in currency: s3 = str.format("{0,number,currency}", 1.34) // returns: $1.34 runtime.log(s3) // - Display a number as a percentage: s4 = str.format("{0,number,percent}", 0.5) // returns: 50% runtime.log(s4) // EXAMPLES WITH SEVERAL ARGUMENTS // returns: Number 1 is not equal to 4 s5 = str.format("Number {0} is not {1} to {2}", 1, "equal", 4) runtime.log(s5) // returns: 1.34 != 1.3 s6 = str.format("{0} != {0, number, #.#}", 1.34) runtime.log(s6) // returns: 1 is equal to 1, but 2 is equal to 2 s7 = str.format("{0, number, integer} is equal to 1, but {1, number, integer} is equal to 2", 1.34, 1.52) runtime.log(s7) // returns: The cash turnover amounted to $1,340,000.00 s8 = str.format("The cash turnover amounted to {0, number, currency}", 1340000) runtime.log(s8) // returns: Expected return is 10% - 20% s9 = str.format("Expected return is {0, number, percent} - {1, number, percent}", 0.1, 0.2) runtime.log(s9)

Devolver valores
Formatação de strings.

parâmetro

  • formatString(series string) String de formato。
  • arg0, arg1, ... (series int/float/bool/string/na/int[]/float[]/bool[]/string[]) Valor a ser formatado.

Nota:
Todos os parênteses em estilos não citados devem ser equilibrados. Por exemplo, "ab {0} de" e "ab '}' de" são estilos válidos, mas "ab {0'}' de", "ab } de" e "'{''" não são estilos válidos.

str.length

Retorna um número inteiro correspondente ao número de caracteres na string.

str.length(string)

Devolver valores
Número de caracteres na sequência de origem.

parâmetro

  • string(series string) string de origem

str.lower

Retorna uma nova string em que todas as letras são convertidas em minúsculas.

str.lower(source)

Devolver valores
Todos os caracteres são convertidos em uma nova sequência de caracteres em minúsculas.

parâmetro

  • source(series string) A sequência de caracteres a converter.

Veja também
str.upper

str.upper

Retorna uma nova string em que todas as letras são maiúsculas.

str.upper(source)

Devolver valores
Todos os caracteres são convertidos em uma nova sequência de caracteres em maiúsculas.

parâmetro

  • source(series string) A sequência de caracteres a converter.

Veja também
str.lower

str.match

Se corresponderregexRegular Expressions, retornasourceUma nova substring de uma string, ou retorna 'na'。

str.match(source, regex)

Exemplo

pine
s = input.string("It's time to sell some EXCHANGE_NAME:SYMBOL_NAME!") // finding first substring that matches regular expression "[\w]+:[\w]+" var string tickerid = str.match(s, "[\\w]+:[\\w]+") if barstate.islastconfirmedhistory runtime.log(tickerid) // "EXCHANGE_NAME:SYMBOL_NAME"

Devolver valores
sourceUma nova substring de uma string, se ela coincide com umaregexA expressão normal é 'na'。

parâmetro

  • source(series string) string de origem
  • regex(series string) A expressão regular que corresponde a esta sequência de caracteres。

Nota:
Função RetornasourceA expressão regular que aparece pela primeira vez na sequência de caracteres:
regexOs símbolos de contra-acréscimo <unk> na string necessitam de ser traduzidos usando contra-acréscimos adicionais, como <unk>\d<unk> representa a expressão regular <unk>\d<unk>。

Veja também
str.contains str.substring

str.pos

Regresso.sourceAparece pela primeira vez na stringstrA posição da string, caso contrário, retorna 'na'。

str.pos(source, str)

Devolver valores
strA sequência de caracteressourcePosição na string.

parâmetro

  • source(series string) string de origem
  • str(series string) A sequência de caracteres a ser pesquisada.

Nota:
O índice da string começa em 0。

Veja também
str.contains str.match str.substring

str.replace

Devolve uma nova sequência de caracteres com a primeira ocorrência de N+1targetStrings e outras versões anteriorestargetA sequência de caracteres é substituída porreplacementString, onde N está emoccurrenceN é o índice de correspondência que ocorre na cadeia de origem da cadeia de destino a ser substituída.

str.replace(source, target, replacement, occurrence)

Exemplo

pine
var source = "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2" // Replace first occurrence of "EXCHANGE1" with "EXCHANGE2" replacement string var newSource = str.replace(source, "EXCHANGE1", "EXCHANGE2", 0) if barstate.islastconfirmedhistory // Display "EXCHANGE2:SYMBOL1 / EXCHANGE1:SYMBOL2" runtime.log(newSource)

Devolver valores
Estrelas tratadas

parâmetro

  • source(series string) string de origem
  • target(series string) substituído por string
  • replacement(series string) A string a ser inserida em vez da string alvo.
  • occurrence(series int) O índice de correspondência da cadeia de destino a ser substituída aparece na cadeia de origem. O primeiro índice de correspondência começa em 0. É opcional. O valor por defeito é 0.

Veja também
str.replace_all str.match

str.replace_all

Substitua as cadeias de caracteres por cadeias de caracteres de destino que aparecem em cada uma das cadeias de caracteres de origem.

str.replace_all(source, target, replacement)

Devolver valores
Estrelas tratadas

parâmetro

  • source(series string) string de origem
  • target(series string) substituído por string
  • replacement(series string) A sequência de caracteres que será substituída por cada sequência de caracteres que aparecer

str.split

Divide uma string em uma sub-array e retorna a sua ID de array.

str.split(string, separator)

Devolver valores
ID da sequência de caracteres.

parâmetro

  • string(series string) string de origem
  • separator(series string) Uma sequência de caracteres que separa cada substring.

str.tostring

str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)

Devolver valores
valueAs strings dos parâmetros são representadas pela forma:
SevalueSe o parâmetro for uma string, ele é retomado como tal.
QuandovaluePara na, a função retorna a sequência de caracteres NaN<unk>.

parâmetro

  • value (series int/float/bool/string/int[]/float[]/bool[]/string[]) O elemento é convertido em um valor de uma string ou um ID de array.
  • format (series string) Format string. Accepts these format.* constants: format.mintick, format.percent, format.volume. Optional. The default value is '#.##########'.

Nota:
Os formatos com valores de ponto flutuante também são inseridos quando necessário, por exemplo, str.tostring ((3.99, '#') retornará <unk>4<unk>。
Para mostrar o zero, use '0' em vez de '#'. Por exemplo, '#.000'.
Usando format.mintick, o valor é colocado em círculos até o número mais próximo que pode ser dividido sem um número a mais com siminfo.mintick. A sequência de caracteres retornada é seguida de zero.
Se o argumento x for uma string, o mesmo string será retornado.
O tipo Bool retorna <unk>true<unk> ou <unk>false<unk>
Quando x é na, a função retorna <unk>NaN<unk>。

color

color.new

A cor da função especifica a transparência aplicada a uma determinada cor.

color.new(color, transp)

Exemplo

pine
plot(close, color=color.new(color.red, 50))

Devolver valores
As cores têm uma certa transparência.

parâmetro

  • color (series color)
  • transp(series int/float) Os valores disponíveis são de 0 (transparente) a 100 (invisível)

Nota:
O uso de um número exorbitante de parâmetros (por exemplo, <unk>simple<unk>, <unk>input<unk> ou <unk>series<unk>) afetará a cor exibida na página de etiquetas de configuração/estilo da barra do script. Consulte o manual do usuário para obter mais informações.

color.rgb

Criar novas cores com transparência usando o modelo RGB.

color.rgb(red, green, blue, transp)

Exemplo

pine
plot(close, color=color.rgb(255, 0, 0, 50))

Devolver valores
As cores têm uma certa transparência.

parâmetro

  • red(series int/float) Tons vermelhos. Os valores possíveis são de 0 a 255
  • green(series int/float) Tono verde. Os valores possíveis são de 0 a 255
  • blue(series int/float) Tono azul. Os valores possíveis são de 0 a 255
  • transp(series int/float) opcional. A cor é transparente. Os valores possíveis são de 0 (não transparente) a 100 (transparente). O valor padrão é 0 (transparente).

Nota:
O uso de um número exorbitante de parâmetros (por exemplo, <unk>simple<unk>, <unk>input<unk> ou <unk>series<unk>) afetará a cor exibida na página de etiquetas de configuração/estilo da barra do script. Consulte o manual do usuário para obter mais informações.

runtime

runtime.debug

Imprimir informações de variáveis no console.

A linguagem FMZ PINE tem funções específicas.runtime.debug(value), apenas um parâmetro.

runtime.log

Exportação do conteúdo do diário.

A linguagem FMZ PINE tem funções específicas.runtime.log(1, 2, 3, close, high, ...), pode passar vários parâmetros.

runtime.error

Quando é chamada, pode causar erros de operação e trazer problemas de segurança.messageMensagem de erro especificada no parâmetro.

runtime.error(message)

parâmetro
Message (series string) mensagem de erro

input

input

Adicione o input à página de etiquetas de entrada das configurações do script, que permite que você forneça opções de configuração aos usuários do script. Esta função detecta automaticamente o tipo de parâmetro usado para a barra de defval e usa o plug-in de entrada correspondente.

input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)

Exemplo

pine
i_switch = input(true, "On/Off") // 设置true,默认勾选 plot(i_switch ? open : na) i_len = input(7, "Length") i_src = input(close, "Source") // 下拉框,默认选择close plot(ta.sma(i_src, i_len)) i_col = input(color.red, "Plot Color") plot(close, color=i_col) i_text = input("Hello!", "Message") runtime.log(i_text)

Devolver valores
Valor de variável de entrada

parâmetro

  • defval(const int/float/bool/string/color or source-type built-ins) Determina o valor padrão de uma variável de entrada sugerida na página de configuração de caixa do script/tabela de caixa de entrada, a partir da qual o usuário do script pode alterá-la. A função de inserção do tipo de fonte é a variável de ponto de inserção da série de flote de uma fonte de cálculo especificada:closehlc3E assim por diante.
  • title(const string) O título da entrada. Se não for especificado, use o nome da variável como título da entrada. Se o título for especificado, mas o título for vazio, o nome será uma string de caracteres em branco.
  • tooltip(const string) Esta sequência de caracteres será exibida ao usuário quando o mouse estiver suspenso no ícone de sugestão da ferramenta.
  • inline(const string) Combina todas as chamadas de entrada que usam o mesmo parâmetro em uma linha. Não mostra as strings usadas como parâmetros. É usado apenas para identificar as entradas que pertencem à mesma linha.
  • group(const string) Cria um cabeçalho acima de todas as entradas usando a mesma string de parâmetros numéricos. Esta string também é usada como texto do cabeçalho.

Nota:
O valor de retorno de uma função de entrada deve ser sempre atribuído a uma variável. Veja o exemplo acima

Veja também
input.bool input.color input.int input.float input.string input.timeframe input.source

input.source

Adicione o input à página de etiquetas de entrada das configurações do script, que permite que você forneça opções de configuração ao usuário do script. Esta funcionalidade adicionou um menu de descolagem que permite ao usuário escolher o fonte de cálculo, por exemplo, close, hl2 etc. Se o script contém apenas uma chamada de input.source (), o usuário também pode escolher outro indicador no gráfico como fonte de saída.

input.source(defval, title, tooltip, inline, group)

Exemplo

pine
i_src = input.source(close, "Source") plot(i_src)

Devolver valores
Valor de variável de entrada

parâmetro

  • defval(series int/float) Determina o valor padrão de uma variável de entrada recomendada na página de etiquetas de configuração de barra / barra de entrada do script, a partir da qual o usuário pode alterá-la.
  • title(const string) O título da entrada. Se não for especificado, use o nome da variável como título da entrada. Se o título for especificado, mas o título for vazio, o nome será uma string de caracteres em branco.
  • tooltip(const string) Esta sequência de caracteres será exibida ao usuário quando o mouse estiver suspenso no ícone de sugestão da ferramenta.
  • inline(const string) Combina todas as chamadas de entrada que usam o mesmo parâmetro em uma linha. Não mostra as strings usadas como parâmetros. É usado apenas para identificar as entradas que pertencem à mesma linha.
  • group(const string) Cria um cabeçalho acima de todas as entradas usando a mesma string de parâmetros numéricos. Esta string também é usada como texto do cabeçalho.

Nota:
O resultado da função input.source sempre deve ser atribuído a uma variável, como no exemplo acima.

Veja também
input.bool input.int input.float input.string input.timeframe input.color input

input.string

Adicione o input à barra de opções de entrada do script, que permite que você forneça opções de configuração ao usuário do script. Esta função adiciona o campo de entrada de string à entrada do script.

input.string(defval, title, options, tooltip, inline, group, confirm)

Exemplo

pine
i_text = input.string("Hello!", "Message") runtime.log(i_text)

Devolver valores
Valor de variável de entrada

parâmetro

  • defval(const string) Determina o valor padrão de uma variável de entrada sugerida na página de configuração de barra de script / barra de entrada, a partir da qual o usuário pode alterá-la. Quando a lista de valores éoptionsQuando os parâmetros são usados juntos, o valor deve ser um deles.
  • title(const string) O título da entrada. Se não for especificado, use o nome da variável como título da entrada. Se o título for especificado, mas o título for vazio, o nome será uma string de caracteres em branco.
  • options (List of constants: [<type>...]) uma lista de opções disponíveis.
  • tooltip(const string) Esta sequência de caracteres será exibida ao usuário quando o mouse estiver suspenso no ícone de sugestão da ferramenta.
  • inline(const string) Combina todas as chamadas de entrada que usam o mesmo parâmetro em uma linha. Não mostra as strings usadas como parâmetros. É usado apenas para identificar as entradas que pertencem à mesma linha.
  • group(const string) Cria um cabeçalho acima de todas as entradas usando a mesma string de parâmetros numéricos. Esta string também é usada como texto do cabeçalho.
  • confirm(const bool) Se for true, o usuário será solicitado a confirmar o valor de entrada antes de adicionar o indicador ao gráfico. O valor padrão é false.

Nota:
O resultado da função input.string deve sempre ser atribuído a uma variável, como no exemplo acima.

Veja também
input.bool input.int input.float input.timeframe input.source input.color input

input.bool

Adicione o input à página de etiquetas de entrada do script, que permite que você forneça opções de configuração ao usuário do script. Esta função adiciona um marcador de seleção para a entrada do script.

input.bool(defval, title, tooltip, inline, group, confirm)

Exemplo

pine
i_switch = input.bool(true, "On/Off") plot(i_switch ? open : na)

Devolver valores
Valor de variável de entrada

parâmetro

  • defval(const bool) Determina o valor padrão da variável de entrada sugerida na página de etiquetas de configuração de barra / barra de entrada do script, a partir da qual o usuário pode alterá-la.
  • title(const string) O título da entrada. Se não for especificado, use o nome da variável como título da entrada. Se o título for especificado, mas o título for vazio, o nome será uma string de caracteres em branco.
  • tooltip(const string) Esta sequência de caracteres será exibida ao usuário quando o mouse estiver suspenso no ícone de sugestão da ferramenta.
  • inline(const string) Combina todas as chamadas de entrada que usam o mesmo parâmetro em uma linha. Não mostra as strings usadas como parâmetros. É usado apenas para identificar as entradas que pertencem à mesma linha.
  • group(const string) Cria um cabeçalho acima de todas as entradas usando a mesma string de parâmetros numéricos. Esta string também é usada como texto do cabeçalho.
  • confirm(const bool) Se for true, o usuário será solicitado a confirmar o valor de entrada antes de adicionar o indicador ao gráfico. O valor padrão é false.

Nota:
O resultado da função input.bool deve sempre ser atribuído a uma variável, como no exemplo acima.

Veja também
input.int input.float input.string input.timeframe input.source input.color input

input.int

Adicione o input à página de etiquetas de entrada das configurações do script, que permite que você forneça opções de configuração ao usuário do script. Esta função adiciona o campo de entrada de números inteiros à entrada do script.

input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.int(defval, title, options, tooltip, inline, group, confirm)

Exemplo

pine
i_len1 = input.int(10, "Length 1", minval=5, maxval=21, step=1) plot(ta.sma(close, i_len1)) i_len2 = input.int(10, "Length 2", options=[5, 10, 21]) plot(ta.sma(close, i_len2))

Devolver valores
Valor de variável de entrada

parâmetro

  • defval(const int) Determina o valor padrão da variável de entrada recomendada na página de etiquetas de configuração de barra / barra de entrada do script, a partir da qual o usuário do script pode alterá-la. Quando a lista de valores é igual aoptionsQuando os parâmetros são usados juntos, o valor deve ser um deles.
  • title(const string) O título da entrada. Se não for especificado, use o nome da variável como título da entrada. Se o título for especificado, mas o título for vazio, o nome será uma string de caracteres em branco.
  • minval(const int) O valor mínimo possível para a variável de entrada。 opcional。
  • maxval(const int) O valor máximo possível da variável de entrada。 opcional。
  • step(const int) O valor de comprimento de passo usado para aumentar/reduzir a entrada. Opcional. O valor padrão é 1
  • options (tuple of const int values: [val1, val2, ...]) A lista de opções selecionadas no menu de download, separadas por vírgula e fechadas em parênteses quadrados:[val1, val2, ...] <unk> não pode ser usado quando este parâmetro é usadominvalmaxvalestepParâmetros
  • tooltip(const string) Esta sequência de caracteres será exibida ao usuário quando o mouse estiver suspenso no ícone de sugestão da ferramenta.
  • inline(const string) Combina todas as chamadas de entrada que usam o mesmo parâmetro em uma linha. Não mostra as strings usadas como parâmetros. É usado apenas para identificar as entradas que pertencem à mesma linha.
  • group(const string) Cria um cabeçalho acima de todas as entradas usando a mesma string de parâmetros numéricos. Esta string também é usada como texto do cabeçalho.
  • confirm(const bool) Se for true, o usuário será solicitado a confirmar o valor de entrada antes de adicionar o indicador ao gráfico. O valor padrão é false.

Nota:
O resultado da função input.int deve sempre ser atribuído a uma variável, como no exemplo acima.

Veja também
input.bool input.float input.string input.timeframe input.source input.color input

input.float

Adicione o input à página de etiquetas de entrada das configurações do script, que permite que você forneça opções de configuração aos usuários do script. Esta função adiciona o campo de entrada de ponto flutuante à entrada do script.

input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)

Exemplo

pine
i_angle1 = input.float(0.5, "Sin Angle", minval=-3.14, maxval=3.14, step=0.02) plot(math.sin(i_angle1) > 0 ? close : open, "sin", color=color.green) i_angle2 = input.float(0, "Cos Angle", options=[-3.14, -1.57, 0, 1.57, 3.14]) plot(math.cos(i_angle2) > 0 ? close : open, "cos", color=color.red)

Devolver valores
Valor de variável de entrada

parâmetro

  • defval(const int/float) Determina o valor padrão da variável de entrada recomendada na página de etiquetas de configuração de barra / barra de entrada do script, a partir da qual o usuário do script pode alterá-la. Quando a lista de valores é igual aoptionsQuando os parâmetros são usados juntos, o valor deve ser um deles.
  • title(const string) O título da entrada. Se não for especificado, use o nome da variável como título da entrada. Se o título for especificado, mas o título for vazio, o nome será uma string de caracteres em branco.
  • minval(const int/float) O valor mínimo possível da variável de entrada。 opcional。
  • maxval(const int/float) O valor máximo possível da variável de entrada。 opcional。
  • step(const int/float) O valor de extensão de passo usado para aumentar/reduzir a entrada. Opcional. O valor padrão é 1
  • options (tuple of const int/float values: [val1, val2, ...]) A lista de opções selecionadas no menu de download, separadas por vírgula e fechadas em parênteses quadrados:[val1, val2, ...] <unk> não pode ser usado quando este parâmetro é usadominvalmaxvalestepParâmetros
  • tooltip(const string) Esta sequência de caracteres será exibida ao usuário quando o mouse estiver suspenso no ícone de sugestão da ferramenta.
  • inline(const string) Combina todas as chamadas de entrada que usam o mesmo parâmetro em uma linha. Não mostra as strings usadas como parâmetros. É usado apenas para identificar as entradas que pertencem à mesma linha.
  • group(const string) Cria um cabeçalho acima de todas as entradas usando a mesma string de parâmetros numéricos. Esta string também é usada como texto do cabeçalho.
  • confirm(const bool) Se for true, o usuário será solicitado a confirmar o valor de entrada antes de adicionar o indicador ao gráfico. O valor padrão é false.

Nota:
O resultado da função input.float sempre deve ser atribuído a uma variável, como no exemplo acima.

Veja também
input.bool input.int input.string input.timeframe input.source input.color input

input.color

Adicione o input à página de etiquetas de entrada do script, que permite que você forneça opções de configuração para o usuário do script. Esta função adiciona um selector de cores, permitindo que o usuário escolha a cor e a transparência a partir de um painel de cores ou de dezesseis dígitos.

input.color(defval, title, tooltip, inline, group, confirm)

Exemplo

pine
i_col = input.color(color.red, "Plot Color") plot(close, color=i_col)

Devolver valores
Valor de variável de entrada

parâmetro

  • defval(const color) Determina o valor padrão da variável de entrada sugerida na página de etiquetas de configuração de barra / barra de entrada do script, a partir da qual o usuário pode alterá-la.
  • title(const string) O título da entrada. Se não for especificado, use o nome da variável como título da entrada. Se o título for especificado, mas o título for vazio, o nome será uma string de caracteres em branco.
  • tooltip(const string) Esta sequência de caracteres será exibida ao usuário quando o mouse estiver suspenso no ícone de sugestão da ferramenta.
  • inline(const string) Combina todas as chamadas de entrada que usam o mesmo parâmetro em uma linha. Não mostra as strings usadas como parâmetros. É usado apenas para identificar as entradas que pertencem à mesma linha.
  • group(const string) Cria um cabeçalho acima de todas as entradas usando a mesma string de parâmetros numéricos. Esta string também é usada como texto do cabeçalho.
  • confirm(const bool) Se for true, o usuário será solicitado a confirmar o valor de entrada antes de adicionar o indicador ao gráfico. O valor padrão é false.

Nota:
O resultado da função input.color deve sempre ser atribuído a uma variável, como no exemplo acima.

Veja também
input.bool input.int input.float input.string input.timeframe input.source input

input.price

Adicione a entrada de preço à página de etiquetas de configuração de barra/entrada de barra do script.confirm = trueAtivar o modo de entrada interativa e selecionar o preço clicando no gráfico.

input.price(defval, title, tooltip, inline, group, confirm)

Exemplo

pine
price1 = input.price(title="Date", defval=42) plot(price1) price2 = input.price(54, title="Date") plot(price2)

Devolver valores
Valor de variável de entrada

parâmetro

  • defval(const int/float) Determina o valor padrão da variável de entrada recomendada na página de etiquetas de configuração de barra / barra de entrada do script, a partir da qual o usuário pode alterá-la.
  • title(const string) O título da entrada. Se não for especificado, use o nome da variável como título da entrada. Se o título for especificado, mas o título for vazio, o nome será uma string de caracteres em branco.
  • tooltip(const string) Esta sequência de caracteres será exibida ao usuário quando o mouse estiver suspenso no ícone de sugestão da ferramenta.
  • inline(const string) Combina todas as chamadas de entrada que usam o mesmo parâmetro em uma linha. Não mostra as strings usadas como parâmetros. É usado apenas para identificar as entradas que pertencem à mesma linha.
  • group(const string) Cria um cabeçalho acima de todas as entradas usando a mesma string de parâmetros numéricos. Esta string também é usada como texto do cabeçalho.
  • confirm(const bool) Se for true, o modo de entrada interativa é ativado e a seleção é feita clicando no gráfico ao adicionar o indicador ao gráfico, ou selecionando o indicador e depois movendo a seleção. Opcional. O valor padrão é false.

Nota:
Quando se usa o modo interactivo, se duas funções são chamadasinlineOs parâmetros usam os mesmos parâmetros e podem ser usados em combinação com a entrada de tempo e a entrada de preço.

Veja também
input.bool input.int input.float input.string input.resolution input.source input.color input

input.timeframe

Adicione o input para a página de etiquetas de entrada do script, que permite que você forneça opções de configuração para o usuário do script. Esta função adiciona uma lista de downloads, permitindo que o usuário selecione um período de tempo específico através do selector de períodos de tempo e devolvê-lo como uma string. O selector inclui períodos de tempo que o usuário pode usar no gráfico e períodos de tempo personalizados adicionados no menu de downloads.

input.timeframe(defval, title, options, tooltip, inline, group, confirm)

Exemplo

pine
i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M']) s = request.security(syminfo.tickerid, i_res, close) plot(s)

Devolver valores
Valor de variável de entrada

parâmetro

  • defval(const string) Determina o valor padrão de uma variável de entrada sugerida na página de configuração de barra de script / barra de entrada, a partir da qual o usuário pode alterá-la. Quando a lista de valores éoptionsQuando os parâmetros são usados juntos, o valor deve ser um deles.
  • title(const string) O título da entrada. Se não for especificado, use o nome da variável como título da entrada. Se o título for especificado, mas o título for vazio, o nome será uma string de caracteres em branco.
  • options (tuple of const string values: [Val1, val2, ...]) Lista de opções disponíveis.
  • tooltip(const string) Esta sequência de caracteres será exibida ao usuário quando o mouse estiver suspenso no ícone de sugestão da ferramenta.
  • inline(const string) Combina todas as chamadas de entrada que usam o mesmo parâmetro em uma linha. Não mostra as strings usadas como parâmetros. É usado apenas para identificar as entradas que pertencem à mesma linha.
  • group(const string) Cria um cabeçalho acima de todas as entradas usando a mesma string de parâmetros numéricos. Esta string também é usada como texto do cabeçalho.
  • confirm(const bool) Se for true, o usuário será solicitado a confirmar o valor de entrada antes de adicionar o indicador ao gráfico. O valor padrão é false.

Nota:
O resultado da função input.timeframe sempre deve ser atribuído a uma variável, como no exemplo acima.

Veja também
input.bool input.int input.float input.string input.source input.color input

input.integer

Não há.

input.resolution

Não há.

ta

ta.alma

A média móvel de Arnaud Legoux. Ela usa a distribuição de Gauss como o peso da média móvel.

ta.alma(series, length, offset, sigma)
ta.alma(series, length, offset, sigma, floor)

Exemplo

pine
plot(ta.alma(close, 9, 0.85, 6)) // same on pine, but much less efficient pine_alma(series, windowsize, offset, sigma) => m = offset * (windowsize - 1) //m = math.floor(offset * (windowsize - 1)) // Used as m when math.floor=true s = windowsize / sigma norm = 0.0 sum = 0.0 for i = 0 to windowsize - 1 weight = math.exp(-1 * math.pow(i - m, 2) / (2 * math.pow(s, 2))) norm := norm + weight sum := sum + series[windowsize - i - 1] * weight sum / norm plot(pine_alma(close, 9, 0.85, 6))

Devolver valores
Arnaud Legoux média móvel

parâmetro

  • series(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).
  • offset(simple int/float) Balanceamento entre controle de suavidade ((mais perto de 1) e responsividade ((mais perto de 0)).
  • sigma(simple int/float) Altera a suavidade do ALMA. Quanto maior o sigma, mais suave o ALMA.
  • floor(simple bool) Parâmetros opcionais. Antes de calcular o ALMA, especifique se o cálculo do desvio é o limite inferior. O valor padrão é false.

Veja também
ta.sma ta.ema ta.rma ta.wma ta.vwma ta.swma

ta.sma

A função sma retorna a média móvel, ou seja, o último valor de y de x, dividido por y。

ta.sma(source, length)

Exemplo

pine
plot(ta.sma(close, 15)) // same on pine, but much less efficient pine_sma(x, y) => sum = 0.0 for i = 0 to y - 1 sum := sum + x[i] / y sum plot(pine_sma(close, 15))

Devolver valores
lengthA linha K retornasourceA média móvel simples.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.ema ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.cog

A cog é um indicador baseado na estatística e na proporção de ouro de Fibonacci.

ta.cog(source, length)

Exemplo

pine
plot(ta.cog(close, 10)) // the same on pine pine_cog(source, length) => sum = math.sum(source, length) num = 0.0 for i = 0 to length - 1 price = source[i] num := num + price * (i + 1) -num / sum plot(pine_cog(close, 10))

Devolver valores
O foco.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.stoch

ta.dev

Diferenças entre as séries de medida e as suas ta.sma

ta.dev(source, length)

Exemplo

pine
plot(ta.dev(close, 10)) // the same on pine pine_dev(source, length) => mean = ta.sma(source, length) sum = 0.0 for i = 0 to length - 1 val = source[i] sum := sum + math.abs(val - mean) dev = sum/length plot(pine_dev(close, 10))

Devolver valores
lengthA linha K retornasourceDesvios.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.variance ta.stdev

ta.stdev

ta.stdev(source, length, biased)

Exemplo

pine
plot(ta.stdev(close, 5)) //the same on pine isZero(val, eps) => math.abs(val) <= eps SUM(fst, snd) => EPS = 1e-10 res = fst + snd if isZero(res, EPS) res := 0 else if not isZero(res, 1e-4) res := res else 15 pine_stdev(src, length) => avg = ta.sma(src, length) sumOfSquareDeviations = 0.0 for i = 0 to length - 1 sum = SUM(src[i], -avg) sumOfSquareDeviations := sumOfSquareDeviations + sum * sum stdev = math.sqrt(sumOfSquareDeviations / length) plot(pine_stdev(close, 5))

Devolver valores
Diferença de padrão

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).
  • biased(series bool) Determine qual estimativa deve ser usada.

Nota:
SebiasedSe for true, a função será calculada usando uma estimativa parcial do conjunto, e se for false - uma estimativa não parcial da amostra.

Veja também
ta.dev ta.variance

ta.ema

A função ema retorna uma média móvel ponderada por índice. Em ema, o fator de ponderação é decrescente por índice. Ela é calculada usando a seguinte fórmula: EMA = alpha * source + (1 - alpha) * EMA[1], onde alpha = 2 / (length + 1) ◦

ta.ema(source, length)

Exemplo

pine
plot(ta.ema(close, 15)) //the same on pine pine_ema(src, length) => alpha = 2 / (length + 1) sum = 0.0 sum := na(sum[1]) ? src : alpha * src + (1 - alpha) * nz(sum[1]) plot(pine_ema(close,15))

Devolver valores
sourceA média móvel exponencial, alfa = 2 / (longitude + 1) ◦

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(simple int) K número de linhas (longitude).

Nota:
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.wma

Retorna a função wmalengthA linha K.sourceNa wma, o fator de ponderação é decrescente em grau aritmético.

ta.wma(source, length)

Exemplo

pine
plot(ta.wma(close, 15)) // same on pine, but much less efficient pine_wma(x, y) => norm = 0.0 sum = 0.0 for i = 0 to y - 1 weight = (y - i) * y norm := norm + weight sum := sum + x[i] * weight sum / norm plot(pine_wma(close, 15))

Devolver valores
lengthA linha K retornasourceA média móvel ponderada.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.sma ta.ema ta.rma ta.vwma ta.swma ta.alma

ta.swma

Média móvel simetricamente ponderada de comprimento fixo: 4. Peso:[1/6,2 / 6,2 / 6,1 / 6]。

ta.swma(source)

Exemplo

pine
plot(ta.swma(close)) // same on pine, but less efficient pine_swma(x) => x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6 plot(pine_swma(close))

Devolver valores
As médias móveis ponderadas simétricas.

parâmetro

  • source(series int/float) Série de origem。

Veja também
ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma

ta.hma

A função hma retorna a média móvel do casco HMA。

ta.hma(source, length)

Exemplo

pine
src = input(defval=close, title="Source") length = input(defval=9, title="Length") hmaBuildIn = ta.hma(src, length) plot(hmaBuildIn, title="Hull MA", color=#674EA7)

Devolver valores
Hull Moving Average que retorna a coluna 'length' da coluna 'source'

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(simple int) Número de linhas K

Veja também
ta.ema ta.rma ta.wma ta.vwma ta.sma

ta.rma

A média móvel usada no RSI. É a média móvel ponderada por índice, com o valor ponderado alfa = 1 / comprimento.

ta.rma(source, length)

Exemplo

pine
plot(ta.rma(close, 15)) //the same on pine pine_rma(src, length) => alpha = 1/length sum = 0.0 sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1]) plot(pine_rma(close, 15))

Devolver valores
sourceA média móvel exponencial, alfa = 1/length

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(simple int) K número de linhas (longitude).

Veja também
ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi

ta.rsi

O índice de intensidade relativa.lengthK on-linesourceAs mudanças para cima e para baixota.rma()Calculado.

ta.rsi(source, length)

Exemplo

pine
plot(ta.rsi(close, 7)) // same on pine, but less efficient pine_rsi(x, y) => u = math.max(x - x[1], 0) // upward ta.change d = math.max(x[1] - x, 0) // downward ta.change rs = ta.rma(u, y) / ta.rma(d, y) res = 100 - 100 / (1 + rs) res plot(pine_rsi(close, 7))

Devolver valores
Indicador de fraqueza relativa (RSI)

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(simple int) K número de linhas (longitude).

Veja também
ta.rma

ta.tsi

O índice de força e fraqueza reais. É uma média móvel da dinâmica potencial dos instrumentos financeiros.

ta.tsi(source, short_length, long_length)

Devolver valores
Índice de Forças e Fraquezas Reais.[Valor em -1,1]

parâmetro

  • source(series int/float) Série de origem。
  • short_length(simple int) Duração curta。
  • long_length(simple int) comprimento da linha longa。

ta.roc

A função roc{\displaystyle roc{\mathrm {c}}} é mostrada.sourceO valor atual desourceHá alguns dias atrás.lengthDiferença entre os valores.
Calculado pela seguinte fórmula: 100 * change ((src, length) / src[length]。

ta.roc(source, length)

Devolver valores
lengthA linha K retornasourceA taxa de variação

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

ta.range

Retorna a diferença entre o valor mínimo e o valor máximo da sequência.

ta.range(source, length)

Devolver valores
Diferença entre o valor mínimo e o valor máximo da sequência.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

ta.macd

O MACD (Moving Average Asymmetric Index) deve revelar a força, a direção, a dinâmica e a duração das tendências dos preços das ações.

ta.macd(source, fastlen, slowlen, siglen)

Exemplo

pine
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) plot(macdLine, color=color.blue) plot(signalLine, color=color.orange) plot(histLine, color=color.red, style=plot.style_histogram)

Se você só precisa de um valor, use um símbolo de posicionamento como '_':

Exemplo

pine
[_, signalLine, _] = ta.macd(close, 12, 26, 9) plot(signalLine, color=color.orange)

Devolver valores
Os três módulos da série MACD: linha MACD, linha de sinal e linha de gráfico rectangular.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • fastlen(simple int) Parâmetros de linha rápida
  • slowlen(simple int) Parâmetro de comprimento lento。
  • siglen(simple int) Parâmetro de comprimento do sinal ≠

Veja também
ta.sma ta.ema

ta.mode

Retorna o valor mínimo se houver vários valores com a mesma frequência.

ta.mode(source, length)

Devolver valores
Padrões de sequência.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

ta.median

Retorna o número médio da sequência.

ta.median(source, length)

Devolver valores
Número médio da sequência.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

ta.linreg

A curva de regressão linear. Uma linha que corresponde melhor ao preço especificado no intervalo de tempo definido pelo usuário. É calculada usando o método de menor quadruplicidade. O resultado da função é calculado usando a seguinte fórmula: linreg = intercept + slope * (length - 1 - offset), onde intercept e slope são usados.sourceO valor de cálculo da menor bimetallicidade da série.

ta.linreg(source, length, offset)

Devolver valores
Curva de regressão linear

parâmetro

  • source(series int/float) Série de origem。
  • length (series int)
  • offset(simple int) desvio

ta.bb

A Brincadeira Brincadeira é uma ferramenta de análise técnica, definida por um conjunto de linhas que são duas desvios padrão (positivos e negativos) da média móvel simples (SMA) do preço de uma ação, mas que podem ser ajustadas de acordo com as preferências do usuário.

ta.bb(series, length, mult)

Exemplo

pine
[middle, upper, lower] = ta.bb(close, 5, 4) plot(middle, color=color.yellow) plot(upper, color=color.yellow) plot(lower, color=color.yellow) // the same on pine f_bb(src, length, mult) => float basis = ta.sma(src, length) float dev = mult * ta.stdev(src, length) [basis, basis + dev, basis - dev] [pineMiddle, pineUpper, pineLower] = f_bb(close, 5, 4) plot(pineMiddle) plot(pineUpper) plot(pineLower)

Devolver valores
Brincadeira

parâmetro

  • series(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).
  • mult(simple int/float) Fator de diferença padrão ≠

Veja também
ta.sma ta.stdev ta.kc

ta.bbw

A largura da faixa de rolamento. A largura da faixa de rolamento é a distância entre a linha central do trem superior e inferior.

ta.bbw(series, length, mult)

Exemplo

pine
plot(ta.bbw(close, 5, 4), color=color.yellow) // the same on pine f_bbw(src, length, mult) => float basis = ta.sma(src, length) float dev = mult * ta.stdev(src, length) ((basis + dev) - (basis - dev)) / basis plot(f_bbw(close, 5, 4))

Devolver valores
Bandwidth de Brin.

parâmetro

  • series(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).
  • mult(simple int/float) Fator de diferença padrão ≠

Veja também
ta.bb ta.sma ta.stdev

ta.cci

O CCI é calculado dividindo a diferença entre o preço típico de uma mercadoria e a sua média móvel simples pelo desvio absoluto médio do preço típico. O índice é escalado em inverso de 0,015 para fornecer mais números legíveis.

ta.cci(source, length)

Devolver valores
Índice de canais de mercadorias da fonte que a linha de length K retorna.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

ta.change

Diferença entre o valor atual e o valor anterior, source - source[length]。

ta.change(source, length)
ta.change(source)

Devolver valores
Resultado da redução.

parâmetro

  • source(series int/float) Série de origem。
  • length(series int) Desviação da linha k atual para a linha k anterior. Opcional, se não for dada, use length = 1 ◦

Veja também
ta.mom ta.cross

ta.mom

sourcePreços esourcePreçolengthA tensão antes da linha K. Isso é apenas uma diferença: source - source[length]。

ta.mom(source, length)

Devolver valores
sourcePreços esourcePreçolengthMotor antes da linha K.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) desviação da linha k atual para a linha k anterior ≠

Veja também
ta.change

ta.cmo

Calcule a soma dos pontos de alta mais recentes com a soma dos pontos de queda mais recentes, depois subtraia os dois e divida o resultado pela soma de todas as variações de preços no mesmo período

ta.cmo(series, length)

Exemplo

pine
plot(ta.cmo(close, 5), color=color.yellow) // the same on pine f_cmo(src, length) => float mom = ta.change(src) float sm1 = math.sum((mom >= 0) ? mom : 0.0, length) float sm2 = math.sum((mom >= 0) ? 0.0 : -mom, length) 100 * (sm1 - sm2) / (sm1 + sm2) plot(f_cmo(close, 5))

Devolver valores
Indicador de oscilação da dinâmica de Chand

parâmetro

  • series(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.rsi ta.stoch math.sum

ta.percentile_linear_interpolation

A percentagem é calculada usando o método de inserção linear entre as duas classificações mais recentes.

ta.percentile_linear_interpolation(source, length, percentage)

Devolver valores
lengthA linha K retornasourceO primeiro percentual P da série.

parâmetro

  • source(series int/float) Valor de série a ser executado ((fonte) <unk>)
  • length(series int) número de linhas K passadas (longitude)
  • percentage(simple int/float) Percentagem, um número na faixa de 0 a 100

Nota:
Observe que as percentagens calculadas com este método não são todas do conjunto de dados de entrada.

Veja também
ta.percentile_nearest_rank

ta.percentile_nearest_rank

Porcentagem calculada de acordo com o método de classificação mais recente.

ta.percentile_nearest_rank(source, length, percentage)

Devolver valores
lengthA linha K retornasourceO primeiro percentual P da série.

parâmetro

  • source(series int/float) Valor de série a ser executado ((fonte) <unk>)
  • length(series int) número de linhas K passadas (longitude)
  • percentage(simple int/float) Percentagem, um número na faixa de 0 a 100

Nota:
O uso de classificações mais recentes com menos do que os últimos 100 k de comprimento de linha pode levar a que o mesmo número seja usado em vários percentuais.
A percentagem calculada pelo ranking mais recente é parte de um conjunto de dados de entrada.
O 100o ponto percentual é definido como o valor máximo no conjunto de dados de entrada.

Veja também
ta.percentile_linear_interpolation

ta.percentrank

O grau percentual é a porcentagem do valor anterior menor ou igual ao valor atual da série dada.

ta.percentrank(source, length)

Devolver valores
lengthA linha K retornasourcePorcentagem

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

ta.variance

O diferencial é um valor esperado (ta.sma) de uma série de desvios quadrados de seu valor médio, que mede informalmente a distância de um conjunto de números de seu valor médio.

ta.variance(source, length, biased)

Devolver valores
lengthA linha K retornasourceA diferença entre os dois.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).
  • biased(series bool) Determine qual estimativa deve ser usada.

Nota:
SebiasedSe for true, a função será calculada usando uma estimativa parcial do conjunto, e se for false - uma estimativa não parcial da amostra.

Veja também
ta.dev ta.stdev

ta.tr

ta.tr(handle_na)

Devolver valores
O real é math.max (high - low, math.abs (high - close)[1]), math.abs(low - close[1]))。

parâmetro

  • handle_na(simple bool) como lidar com o valor NaN. Se for true, e o fechamento do dia anterior for NaN, tr será calculado como o ponto alto-baixo do dia. Se for false, tr retornará NaN. Observe também que ta.atr usa ta.true.

Nota:
ta.tr(false)eta.trA mesma coisa.

Veja também
ta.atr

ta.mfi

O índice de fluxo de caixa é um indicador técnico que usa o preço e o volume de transações para determinar o estado de sobrecompra ou sobrevenda em um ativo.

ta.mfi(series, length)

Exemplo

pine
plot(ta.mfi(hlc3, 14), color=color.yellow) // the same on pine pine_mfi(src, length) => float upper = math.sum(volume * (ta.change(src) <= 0.0 ? 0.0 : src), length) float lower = math.sum(volume * (ta.change(src) >= 0.0 ? 0.0 : src), length) mfi = 100.0 - (100.0 / (1.0 + upper / lower)) mfi plot(pine_mfi(hlc3, 14))

Devolver valores
Indicadores de fluxo de capital

parâmetro

  • series(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.rsi math.sum

ta.kc

O canal de Kentner. O canal de Kentner é um indicador técnico que contém uma média móvel no meio e um canal para cima e para baixo.

ta.kc(series, length, mult)
ta.kc(series, length, mult, useTrueRange)

Exemplo

pine
[middle, upper, lower] = ta.kc(close, 5, 4) plot(middle, color=color.yellow) plot(upper, color=color.yellow) plot(lower, color=color.yellow) // the same on pine f_kc(src, length, mult, useTrueRange) => float basis = ta.ema(src, length) float span = (useTrueRange) ? ta.tr : (high - low) float rangeEma = ta.ema(span, length) [basis, basis + rangeEma * mult, basis - rangeEma * mult] [pineMiddle, pineUpper, pineLower] = f_kc(close, 5, 4, true) plot(pineMiddle) plot(pineUpper) plot(pineLower)

Devolver valores
Passagem de Kentner

parâmetro

  • series(series int/float) Valor da série a ser executado。
  • length(simple int) K número de linhas (longitude).
  • mult(simple int/float) Fator de diferença padrão ≠
  • useTrueRange(simple bool) opcional. Especifique se o alcance é verdadeiro; é assumido como verdadeiro. Se o valor for falso, o alcance será calculado usando a expressão ((high-low)).

Veja também
ta.ema ta.atr ta.bb

ta.kcw

A largura do canal de Kentner. A largura do canal de Kentner é a diferença entre o canal superior e inferior dividido pelo valor do canal intermediário.

ta.kcw(series, length, mult)
ta.kcw(series, length, mult, useTrueRange)

Exemplo

pine
plot(ta.kcw(close, 5, 4), color=color.yellow) // the same on pine f_kcw(src, length, mult, useTrueRange) => float basis = ta.ema(src, length) float span = (useTrueRange) ? ta.tr : (high - low) float rangeEma = ta.ema(span, length) ((basis + rangeEma * mult) - (basis - rangeEma * mult)) / basis plot(f_kcw(close, 5, 4, true))

Devolver valores
A largura do canal de Kentner.

parâmetro

  • series(series int/float) Valor da série a ser executado。
  • length(simple int) K número de linhas (longitude).
  • mult(simple int/float) Fator de diferença padrão ≠
  • useTrueRange(simple bool) opcional. Especifique se o alcance é verdadeiro; é assumido como verdadeiro. Se o valor for falso, o alcance será calculado usando a expressão ((high-low)).

Veja também
ta.kc ta.ema ta.atr ta.bb

ta.correlation

Coeficiente de correlação. Descreve o grau em que duas séries tendem a se desviar de seus valores de ta.sma.

ta.correlation(source1, source2, length)

Devolver valores
Coeficiente relevante.

parâmetro

  • source1(series int/float) Série de origem。
  • source2(series int/float) Série alvo。
  • length(series int) comprimento (número de linhas K)

Veja também
request.security

ta.cross

ta.cross(source1, source2)

Devolver valores
Se as duas séries se cruzam entre si, então é true, caso contrário é false.

parâmetro

  • source1(series int/float) Primeira série de dados。
  • source2(series int/float) Segunda série de dados。

Veja também
ta.change

ta.crossover

source1-series é definido como uma travessiasource2-series, se estiver na linha K atual,source1é maior do quesource2E na primeira linha K,source2O valor de source1小于source2`Valor de

ta.crossover(source1, source2)

Devolver valores
Sesource1Atravessandosource2A resposta é "true" ou "false".

parâmetro

  • source1(series int/float) Primeira série de dados。
  • source2(series int/float) Segunda série de dados。

ta.crossunder

source1-series é definido como em source2-series subcross, se na linha K atual,source1é menor quesource2E na primeira linha K,source1é maior do quesource2Valor de

ta.crossunder(source1, source2)

Devolver valores
Sesource1existirsource2Cruzado abaixo, é verdadeiro, caso contrário é falso.

parâmetro

  • source1(series int/float) Primeira série de dados。
  • source2(series int/float) Segunda série de dados。

ta.atr

A função ATR (Média da amplitude de flutuação real) retorna um RMA de uma amplitude real. A amplitude de flutuação real é max (high - low, abs (high - close)[1]), abs(low - close[1]))。

ta.atr(length)

Exemplo

pine
plot(ta.atr(14)) //the same on pine pine_atr(length) => trueRange = na(high[1])? high-low : math.max(math.max(high - low, math.abs(high - close[1])), math.abs(low - close[1])) //true range can be also calculated with ta.tr(true) ta.rma(trueRange, length) plot(pine_atr(14))

Devolver valores
Média da amplitude real de flutuação (ATR)

parâmetro
length (simple int) comprimento (número de linhas K)

Veja também
ta.tr ta.rma

ta.sar

A paralelotização (ou paralelotização) é um método concebido por J. Welles Wilder, Jr. para identificar uma potencial reversão na direção dos preços no mercado de negociação.

ta.sar(start, inc, max)

Exemplo

pine
plot(ta.sar(0.02, 0.02, 0.2), style=plot.style_cross, linewidth=3) // The same on Pine pine_sar(start, inc, max) => var float result = na var float maxMin = na var float acceleration = na var bool isBelow = na bool isFirstTrendBar = false if bar_index == 1 if close > close[1] isBelow := true maxMin := high result := low[1] else isBelow := false maxMin := low result := high[1] isFirstTrendBar := true acceleration := start result := result + acceleration * (maxMin - result) if isBelow if result > low isFirstTrendBar := true isBelow := false result := math.max(high, maxMin) maxMin := low acceleration := start else if result < high isFirstTrendBar := true isBelow := true result := math.min(low, maxMin) maxMin := high acceleration := start if not isFirstTrendBar if isBelow if high > maxMin maxMin := high acceleration := math.min(acceleration + inc, max) else if low < maxMin maxMin := low acceleration := math.min(acceleration + inc, max) if isBelow result := math.min(result, low[1]) if bar_index > 1 result := math.min(result, low[2]) else result := math.max(result, high[1]) if bar_index > 1 result := math.max(result, high[2]) result plot(pine_sar(0.02, 0.02, 0.2), style=plot.style_cross, linewidth=3)

Devolver valores
A linha de paralelo gira para o indicador.

parâmetro

  • start(simple int/float) começa 。
  • inc(simple int/float) adição
  • max(simple int/float) máximo.

ta.barssince

Calcule o número de linhas K a partir da última condição verdadeira.

ta.barssince(condition)

Exemplo

pine
// get number of bars since last color.green bar plot(ta.barssince(close >= open))

Devolver valores
Número de linhas k, se a condição for verdadeira.

Nota:
A função retorna na。 se esta condição nunca foi satisfeita antes da linha K atual.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
ta.lowestbars ta.highestbars ta.valuewhen ta.highest ta.lowest

ta.cum

sourceA soma de todos os números é a soma de todos os números.sourceA soma de todos os elementos de .

ta.cum(source)

Devolver valores
Resumo da série.

parâmetro

  • source (series int/float)

Veja também
math.sum

ta.dmi

A função dmi retorna o índice dinâmico DMI。

ta.dmi(diLength, adxSmoothing)

Exemplo

pine
len = input.int(17, minval=1, title="DI Length") lensig = input.int(14, title="ADX Smoothing", minval=1, maxval=50) [diplus, diminus, adx] = ta.dmi(len, lensig) plot(adx, color=color.red, title="ADX") plot(diplus, color=color.blue, title="+DI") plot(diminus, color=color.orange, title="-DI")

Devolver valores
Três subgrupos da série DMI: movimento de direção positiva ((+DI), movimento de direção negativa ((-DI) e índice de movimento de direção média ((ADX)) [2].

parâmetro

  • diLength (simple int) DI Period。
  • adxSmoothing(simple int) ADX ciclo de suavização

Veja também
ta.rsi ta.tsi ta.mfi

ta.falling

Teste.sourceSérie paralengthA linha Klong está a cair?

ta.falling(source, length)

Devolver valores
Se você estiver atualmente...sourceMenos delengthQualquer antecedente de uma linha K.sourceValor, então é verdadeiro, ou então é falso.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.rising

ta.rising

Teste.sourceSérie paralengthO Klinelong está em ascensão.

ta.rising(source, length)

Devolver valores
Se você estiver atualmente...sourceÉ mais do que isso.lengthQualquer antecedente de uma linha K.sourceValor, então é verdadeiro, ou então é falso.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.falling

ta.pivothigh

Esta função retorna o preço do ponto mais alto do eixo central. Se não houver um ponto mais alto do eixo central, retorna <unk>NaN<unk>.

ta.pivothigh(source, leftbars, rightbars)
ta.pivothigh(leftbars, rightbars)

Exemplo

pine
leftBars = input(2) rightBars=input(2) ph = ta.pivothigh(leftBars, rightBars) plot(ph, style=plot.style_cross, linewidth=3, color= color.red, offset=-rightBars)

Devolver valores
O preço neste ponto, ou NaN.

parâmetro

  • source(series int/float) Parâmetros selecionáveis. Valor de cálculo da sequência de dados. Valor predefinido 'High'
  • leftbars(series int/float) Força à esquerda。
  • rightbars(series int/float) O comprimento à direita.

Nota:
Se o parâmetro 'leftbars' ou 'rightbars' for um parâmetro de série, você deve usar a função max_bars_back como a variável 'source' [2].

ta.pivotlow

Esta função retorna o preço do ponto mais baixo do eixo central. Se não houver um ponto mais baixo do eixo central, ela retorna <unk>NaN<unk>.

ta.pivotlow(source, leftbars, rightbars)
ta.pivotlow(leftbars, rightbars)

Exemplo

pine
leftBars = input(2) rightBars=input(2) pl = ta.pivotlow(close, leftBars, rightBars) plot(pl, style=plot.style_cross, linewidth=3, color= color.blue, offset=-rightBars)

Devolver valores
O preço neste ponto, ou NaN.

parâmetro

  • source(series int/float) Parâmetros selecionáveis. Valor de cálculo da série de dados.
  • leftbars(series int/float) Força à esquerda。
  • rightbars(series int/float) O comprimento à direita.

Nota:
Se o parâmetro 'leftbars' ou 'rightbars' for um parâmetro de série, você deve usar a função max_bars_back como a variável 'source' [2].

ta.highest

O valor máximo de um dado número de linhas k passadas.

ta.highest(source, length)
ta.highest(length)

Devolver valores
O valor mais alto da série.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Nota:
Duas versões do args:sourceÉ uma série de livros.lengthé o número de linhas K retornadas.
Uma versão arg:lengthé o número de linhas K que é retornado. O algoritmo usa high comosourceSérie

Veja também
ta.lowest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince

ta.highestbars

O desvio máximo de um número dado de passagens k.

ta.highestbars(source, length)
ta.highestbars(length)

Devolver valores
Desviação para a linha k mais alta.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Nota:
Duas versões do args:sourceÉ uma série de livros.lengthé o número de linhas K retornadas.
Uma versão arg:lengthé o número de linhas K que é retornado. O algoritmo usa high comosourceSérie

Veja também
ta.lowest ta.highest ta.lowestbars ta.barssince ta.valuewhen

ta.stoch

Indicador aleatório. Equação de cálculo: 100 * (close - lowest, low, length)) / (highest, high, length) - lowest, long))

ta.stoch(source, high, low, length)

Devolver valores
De forma aleatória.

parâmetro

  • source(series int/float) Série de origem。
  • high(series int/float) Série alta
  • low(series int/float) série inferior
  • length(series int) comprimento (número de linhas K)

Veja também
ta.cog

ta.supertrend

O indicador de tendência é um indicador que segue uma tendência.

ta.supertrend(factor, atrPeriod)

Exemplo

pine
//@version=5 indicator("Pine Script™ Supertrend") [supertrend, direction] = ta.supertrend(3, 10) plot(direction < 0 ? supertrend : na, "Up direction", color = color.green, style=plot.style_linebr) plot(direction > 0 ? supertrend : na, "Down direction", color = color.red, style=plot.style_linebr) // The same on Pine Script™ pine_supertrend(factor, atrPeriod) => src = hl2 atr = ta.atr(atrPeriod) upperBand = src + factor * atr lowerBand = src - factor * atr prevLowerBand = nz(lowerBand[1]) prevUpperBand = nz(upperBand[1]) lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand int direction = na float superTrend = na prevSuperTrend = superTrend[1] if na(atr[1]) direction := 1 else if prevSuperTrend == prevUpperBand direction := close > upperBand ? -1 : 1 else direction := close < lowerBand ? 1 : -1 superTrend := direction == -1 ? lowerBand : upperBand [superTrend, direction] [pineSupertrend, pineDirection] = pine_supertrend(3, 10) plot(pineDirection < 0 ? pineSupertrend : na, "Up direction", color = color.green, style=plot.style_linebr) plot(pineDirection > 0 ? pineSupertrend : na, "Down direction", color = color.red, style=plot.style_linebr)

Devolver valores
Dois subgrupos de uma série de super-tendências: a linha de super-tendência e a direção da tendência. Os valores possíveis são 1 (na direção para baixo) e -1 (na direção para cima).

parâmetro

  • factor(series int/float) ATR será multiplicado por um múltiplo de。
  • atrPeriod(simple int) comprimento de onda real médio

Veja também
ta.macd

ta.lowest

O valor mínimo de um dado número de linhas k passadas.

ta.lowest(source, length)
ta.lowest(length)

Devolver valores
O mínimo da série.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Nota:
Duas versões do args:sourceÉ uma série de livros.lengthé o número de linhas K retornadas.
Uma versão arg:lengthé o número de linhas K. O algoritmo usa low comosourceSérie

Veja também
ta.highest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince

ta.lowestbars

O desvio mínimo de um dado número de passagens k.

ta.lowestbars(source, length)
ta.lowestbars(length)

Devolver valores
Desvio para a linha k mais baixa.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) Retorna o número de linha K。

Nota:
Duas versões do args:sourceÉ uma série de livros.lengthé o número de linhas K retornadas.
Uma versão arg:lengthé o número de linhas K. O algoritmo usa low comosourceSérie

Veja também
ta.lowest ta.highest ta.highestbars ta.barssince ta.valuewhen

ta.valuewhen

Retorna o valor da série de valores de fonte de potássio da linha K em que a potássio condição é verdadeira na n-a ocorrência mais recente.

ta.valuewhen(condition, source, occurrence)

Exemplo

pine
slow = ta.sma(close, 7) fast = ta.sma(close, 14) // Get value of `close` on second most recent cross plot(ta.valuewhen(ta.cross(slow, fast), close, 1))

parâmetro

  • condition(series bool) Condições para pesquisar.
  • source(series int/float/bool/color) O valor a ser retornado a partir da linha K que satisfaz as condições.
  • occurrenceA ocorrência da condição (simple int) ≠ 0 e retrocedendo no tempo, portanto <unk>0<unk> é a mais recente <unk>condition<unk>, <unk>1<unk> é a segunda mais recente, e assim por diante ≠ deve ser inteiro >= 0 ≠

Nota:
Esta função precisa ser executada em cada linha K. Não é recomendado usá-la em uma estrutura de ciclo for ou while, pois seu comportamento pode ser inesperado. Por favor, note que o uso desta função pode levar ao redesenho do indicador.

Veja também
ta.lowestbars ta.highestbars ta.barssince ta.highest ta.lowest

ta.vwap

Preço médio ponderado por volume de transação

ta.vwap(source)

Devolver valores
Média ponderada de transações

parâmetro

  • source(series int/float) Série de origem。

Veja também
ta.vwap

ta.vwma

Retorna a função vwmalengthA linha K.sourceA média móvel ponderada do volume de transações ≠ é igual a: sma (fonte * volume, comprimento) / sma (volume, comprimento) ≠

ta.vwma(source, length)

Exemplo

pine
plot(ta.vwma(close, 15)) // same on pine, but less efficient pine_vwma(x, y) => ta.sma(x * volume, y) / ta.sma(volume, y) plot(pine_vwma(close, 15))

Devolver valores
lengthA linha K retornasourceA média móvel ponderada do volume de transações.

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.sma ta.ema ta.rma ta.wma ta.swma ta.alma

ta.wpr

O indicador Williams %R. O indicador de oscilação mostra a relação entre o preço de fechamento atual e o preço alto/baixo de um período de tempo no passado.

ta.wpr(length)

Exemplo

pine
plot(ta.wpr(14), title="%R", color=color.new(#ff6d00, 0))

Devolver valores
Williams %R。

parâmetro

  • length(series int) Número de linhas K。

Veja também
ta.mfi ta.cmo

plot

plot

Desenhar um conjunto de dados em um gráfico.

plot(series, title, color, linewidth, style, trackprice, histbase, offset, join, editable, show_last, display)

Exemplo

pine
plot(high+low, title='Title', color=color.new(#00ffaa, 70), linewidth=2, style=plot.style_area, offset=15, trackprice=true) // You may fill the background between any two plots with a fill() function: p1 = plot(open) p2 = plot(close) fill(p1, p2, color=color.new(color.green, 90))

Devolver valores
Objetos de desenho que podem ser usados para preencher.

parâmetro

  • series(series int/float) A série de dados a ser traçada. Os parâmetros necessários.
  • title(const string) Título do desenho。
  • color(series color) A cor do desenho. Você pode usar constantes como 'color = red' ou 'color = #ff001a' e expressões complexas como 'color = close >= open ? green: red'. Parâmetros opcionais.
  • linewidth(input int) A largura da linha de desenho. O valor padrão é 1 . Não se aplica a todos os estilos .
  • style(plot_style) plot tipo 。 os valores possíveis são: plot.style_line、plot.style_stepline、plot.style_stepline_diamond、plot.style_histogram、plot.style_cross、plot.style_area、plot.style_columns、plot.style_circles、plot.style_linebr、plot.style_areabr。 o valor padrão é plot.style_line。
  • trackprice(input bool) Se for true, a linha de preço horizontal será exibida no nível do último valor do indicador.
  • histbase(input int/float) Usar o valor do nível de referência quando o gráfico é traçado no estilo plot.style_histogram, plot.style_columns ou plot.style_area. O valor padrão é 0.0
  • offset(series int) Mover o desenho para a esquerda ou para a direita num determinado número de linhas k. O valor padrão é 0
  • join(input bool) Se for true, o ponto de traçado será conectado à linha, apenas para os estilos plot.style_cross e plot.style_circles. O valor padrão é false.
  • editable(const bool) Se for true, o estilo do desenho pode ser editado na caixa de diálogo de formato. O padrão é true.
  • show_last(input int) Se definido, define o número de k linhas traçadas no gráfico ((de volta para o passado a partir da última k linhas) <unk>
  • displayO controle (plot_display) mostra a localização do gráfico. Os valores possíveis são: display.none, display.all. O valor padrão é display.all.
  • overlay(const bool) Um parâmetro da extensão da plataforma FMZ para definir a função atual, que é exibida no gráfico principal (set true) ou no gráfico secundário (set false) com o valor por defeito de false. Se não for especificado, o parâmetro é exibido de acordo comstrategyouindicatorEmoverlayConfiguração de parâmetrosstrategyouindicatorSem configuraçãooverlayOs parâmetros são tratados de acordo com os parâmetros padrão.

Veja também
plotshape plotchar bgcolor

plotshape

Desenhar uma forma visível no gráfico.

plotshape(series, title, style, location, color, offset, text, textcolor, editable, size, show_last, display)

Exemplo

pine
data = close >= open plotshape(data, style=shape.xcross)

parâmetro

  • series(series bool) Uma série de dados traçados como uma forma. A série é considerada uma série de valores de bool para todos os valores de localização, exceto location.absolute.
  • title(const string) Título do desenho。
  • style(input string) Tipos de desenho. Os valores possíveis são: shape.xcross, shape.cross, shape.triangleup, shape.triangledown, shape.flag, shape.circle, shape.arrowup, shape.arrowdown, shape.labelup, shape.labeldown, shape.square, shape.diamond. O valor padrão é shape.xcross.
  • location(input string) A forma é a localização no gráfico. Os valores possíveis são: localização.abovebar, localização.belowbar, localização.top, localização.bottom, localização.absolute. O valor padrão é localização.abovebar
  • color(series color) A cor da forma . Você pode usar constantes como 'color = red' ou 'color = #ff001a' e expressões complexas como 'color = close >= open ? green: red'. Parâmetros opcionais .
  • offset(series int) Mover a forma para a esquerda ou para a direita em um determinado número de linhas k. O valor padrão é 0
  • text(const string) texto é mostrado em forma. Você pode usar várias linhas de texto, separando as linhas com '\n' sequência de tradução. Exemplo: 'line one\nline two'
  • textcolor(series color) A cor do texto. Você pode usar constantes como 'textcolor=red' ou 'textcolor=#ff001a' e expressões complexas como 'textcolor = close >= open ? green: red'. Parâmetros opcionais.
  • editable(const bool) Se for true, o estilo de plotshape pode ser editado na caixa de diálogo de formato. O padrão é true.
  • show_last(input int) Se definido, define o número de formas traçadas no gráfico ((de volta para o passado a partir da última linha k))
  • size(const string) O tamanho dos caracteres no gráfico. Os valores possíveis são: size.auto, size.tiny, size.small, size.normal, size.large, size.huge. O valor padrão é size.auto
  • displayO controle (plot_display) mostra a localização do gráfico. Os valores possíveis são: display.none, display.all. O valor padrão é display.all.
  • overlay(const bool) Um parâmetro da extensão da plataforma FMZ para definir a função atual, que é exibida no gráfico principal (set true) ou no gráfico secundário (set false) com o valor por defeito de false. Se não for especificado, o parâmetro é exibido de acordo comstrategyouindicatorEmoverlayConfiguração de parâmetrosstrategyouindicatorSem configuraçãooverlayOs parâmetros são tratados de acordo com os parâmetros padrão.

Veja também
plot plotchar bgcolor

plotchar

Desenhe uma forma visível usando qualquer um dos caracteres Unicode fornecidos no gráfico.

plotchar(series, title, char, location, color, offset, text, textcolor, editable, size, show_last, display)

Exemplo

pine
data = close >= open plotchar(data, char='❄')

parâmetro

  • series(series bool) Uma série de dados traçados como uma forma. A série é considerada uma série de valores de bool para todos os valores de localização, exceto location.absolute.
  • title(const string) Título do desenho。
  • char(input string) Caracteres usados como formas visuais
  • location(input string) A forma é a localização no gráfico. Os valores possíveis são: localização.abovebar, localização.belowbar, localização.top, localização.bottom, localização.absolute. O valor padrão é localização.abovebar
  • color(series color) A cor da forma . Você pode usar constantes como 'color = red' ou 'color = #ff001a' e expressões complexas como 'color = close >= open ? green: red'. Parâmetros opcionais .
  • offset(series int) Mover a forma para a esquerda ou para a direita em um determinado número de linhas k. O valor padrão é 0
  • text(const string) texto é mostrado em forma. Você pode usar várias linhas de texto, separando as linhas com '\n' sequência de tradução. Exemplo: 'line one\nline two'
  • textcolor(series color) A cor do texto. Você pode usar constantes como 'textcolor=red' ou 'textcolor=#ff001a' e expressões complexas como 'textcolor = close >= open ? green: red'. Parâmetros opcionais.
  • editable(const bool) Se for true, o estilo de plotchar pode ser editado na caixa de diálogo de formato. O padrão é true.
  • show_last(input int) Se definido, define o número de gráficos a serem traçados na tabela ((de volta para o passado a partir da última linha k))
  • size(const string) O tamanho dos caracteres no gráfico. Os valores possíveis são: size.auto,size.tiny,size.small,size.normal,size.large,size.huge. O valor padrão é size.auto.
  • displayO controle (plot_display) mostra a localização do gráfico. Os valores possíveis são: display.none, display.all. O valor padrão é display.all.
  • overlay(const bool) Um parâmetro da extensão da plataforma FMZ para definir a função atual, que é exibida no gráfico principal (set true) ou no gráfico secundário (set false) com o valor por defeito de false. Se não for especificado, o parâmetro é exibido de acordo comstrategyouindicatorEmoverlayConfiguração de parâmetrosstrategyouindicatorSem configuraçãooverlayOs parâmetros são tratados de acordo com os parâmetros padrão.

Veja também
plot plotshape bgcolor

plotcandle

Desenhe o eixo no gráfico.

plotcandle(open, high, low, close, title, color, wickcolor, editable, show_last, bordercolor, display)

Exemplo

pine
indicator("plotcandle example", overlay=true) plotcandle(open, high, low, close, title='Title', color = open < close ? color.green : color.red, wickcolor=color.black)

parâmetro

  • open(series int/float) A série de dados aberta é usada como o valor de abertura da coluna.
  • high(series int/float) Data de série alta usada como coluna.
  • low(series int/float) Os dados da série baixa são usados como valores baixos para a coluna. Parâmetros necessários.
  • close(series int/float) fechar a série de dados como o valor da linha de fechamento k。 Parâmetros necessários。
  • title(const string) título da plotcandle. Parâmetros selecionáveis.
  • color(series color) A cor da matriz. Você pode usar constantes como 'color = red' ou 'color = #ff001a' e expressões complexas como 'color = close >= open ? green: red'. Parâmetros opcionais.
  • wickcolor(series color) A cor do núcleo da lâmpada.
  • editable(const bool) Se for true, o estilo de plotcandle pode ser editado na caixa de diálogo de formato. O padrão é true.
  • show_last(input int) Se definido, define o número de colunas traçadas no gráfico ((de volta para o passado a partir da última linha k))
  • bordercolor(series color) A cor da borda de uma coluna. Um parâmetro opcional.
  • displayO controle (plot_display) mostra a localização do gráfico. Os valores possíveis são: display.none, display.all. O valor padrão é display.all.
  • overlay(const bool) Um parâmetro da extensão da plataforma FMZ para definir a função atual, que é exibida no gráfico principal (set true) ou no gráfico secundário (set false) com o valor por defeito de false. Se não for especificado, o parâmetro é exibido de acordo comstrategyouindicatorEmoverlayConfiguração de parâmetrosstrategyouindicatorSem configuraçãooverlayOs parâmetros são tratados de acordo com os parâmetros padrão.

Nota:
Se o NaN for o máximo e o mínimo, então a linha K não precisa ser mostrada.
Os valores máximos de abertura, alta, baixa e fechamento serão definidos como um valor elevado ou baixo e os valores mínimos como um valor baixo ou baixo.

Veja também
plotbar

plotarrow

Desenhar as setas para cima e para baixo no gráfico: as setas para cima são desenhadas em cada indicador positivo, enquanto as setas para baixo são desenhadas em cada indicador negativo. Se o indicador retorna na, as setas não são desenhadas. As setas têm diferentes alturas, e quanto maior o valor absoluto do indicador, mais longa é a setas.

plotarrow(series, title, colorup, colordown, offset, minheight, maxheight, editable, show_last, display)

Exemplo

codiff = close - open plotarrow(codiff, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40), overlay=true)

parâmetro

  • series(series int/float) Para traçar uma série de dados em uma seta.
  • title(const string) Título do desenho。
  • colorup(series color) Cores das setas para cima.
  • colordown(series color) A cor da seta para baixo.
  • offset(series int) Movendo a seta para a esquerda ou para a direita em um determinado número de linhas K. O valor padrão é 0
  • minheight(input int) A menor altura possível da seta em pixels. O valor padrão é 5
  • maxheight(input int) A maior altura possível da seta em pixels. O valor padrão é 100
  • editable(const bool) Se for true, o estilo de plotarrow pode ser editado na caixa de diálogo de formato. O padrão é true.
  • show_last(input int) Se definido, define o número de setas desenhadas no gráfico ((de volta para o passado a partir da última linha k))
  • displayO controle (plot_display) mostra a localização do gráfico. Os valores possíveis são: display.none, display.all. O valor padrão é display.all.
  • overlay(const bool) Um parâmetro da extensão da plataforma FMZ para definir a função atual, que é exibida no gráfico principal (set true) ou no gráfico secundário (set false) com o valor por defeito de false. Se não for especificado, o parâmetro é exibido de acordo comstrategyouindicatorEmoverlayConfiguração de parâmetrosstrategyouindicatorSem configuraçãooverlayOs parâmetros são tratados de acordo com os parâmetros padrão.

Veja também
plot plotshape plotchar barcolor bgcolor

array

array.pop

A função elimina o último elemento da matriz e retorna seu valor.

array.pop(id)

Exemplo

pine
// array.pop example a = array.new_float(5,high) removedEl = array.pop(a) plot(array.size(a)) plot(removedEl)

Devolver valores
Valor do elemento removido.

parâmetro

  • id(any array type) Objeto da matriz.

Veja também
array.new_float array.set array.push array.remove array.insert array.shift

array.shift

A função elimina o primeiro elemento da matriz e retorna o seu valor.

array.shift(id)

Exemplo

pine
// array.shift example a = array.new_float(5,high) removedEl = array.shift(a) plot(array.size(a)) plot(removedEl)

Devolver valores
Valor do elemento removido.

parâmetro

  • id(any array type) Objeto da matriz.

Veja também
array.unshift array.set array.push array.remove array.includes

array.unshift

Esta função inserirá o valor na posição inicial da matriz.

array.unshift(id, value)

Exemplo

pine
// array.unshift example a = array.new_float(5, 0) array.unshift(a, open) plot(array.get(a, 0))

parâmetro

  • id(any array type) Objeto da matriz.
  • value (series <type of the array's elements>) Para adicionar o valor da posição inicial da matriz.

Veja também
array.shift array.set array.insert array.remove array.indexof

array.size

A função retorna o número de elementos na matriz.

array.size(id)

Exemplo

pine
// array.size example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) // note that changes in slice also modify original array slice = array.slice(a, 0, 5) array.push(slice, open) // size was changed in slice and in original array plot(array.size(a)) plot(array.size(slice))

Devolver valores
Número de elementos na matriz.

parâmetro

  • id(any array type) Objeto da matriz.

Veja também
array.new_float array.sum array.slice array.sort

array.slice

Esta função cria um fragmento a partir de uma matriz existente. Se um objeto no fragmento for alterado, a alteração será aplicada simultaneamente à nova e à matriz original.

array.slice(id, index_from, index_to)

Exemplo

pine
// array.slice example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) // take elements from 0 to 4 // *note that changes in slice also modify original array slice = array.slice(a, 0, 5) plot(array.sum(a) / 10) plot(array.sum(slice) / 5)

Devolver valores
Uma cópia superficial da fragmentação da matriz.

parâmetro

  • id(any array type) Objeto da matriz.
  • index_from(series int) Indice a partir de zero para começar a extrair.
  • index_to(series int) O índice que começa a partir de zero é extraído antes de ser concluído. A função extrai os elementos anteriores a esse índice.

Veja também
array.new_float array.get array.sort

array.abs

Retorna uma matriz que contém os valores absolutos de cada elemento da matriz original.

array.abs(id)

parâmetro

  • id (int[]/float[Objetos da matriz.

Veja também
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search

A função retorna o índice do valor, e retorna -1, se este não for encontrado. A matriz a ser pesquisada deve ser ordenada em ordem ascendente.

array.binary_search(id, val)

Exemplo

pine
// array.binary_search a = array.from(5, -2, 0, 9, 1) array.sort(a) // [-2, 0, 1, 5, 9] position = array.binary_search(a, 0) // 1 plot(position)

parâmetro

  • id (int[]/float[Objetos da matriz.
  • val(series int/float) Valor de pesquisa em uma matriz ≠

Nota:
A pesquisa binária aplica-se a uma matriz preordenada em ordem ascendente. Ela primeiro compara o elemento no meio da matriz com o valor alvo. Se o elemento for compatível com o valor alvo, ele retorna ao seu lugar na matriz. Se o valor do elemento for maior que o valor alvo, a pesquisa continua na parte inferior da matriz. Se o valor do elemento for menor que o valor alvo, a pesquisa continua na parte superior da matriz.

Veja também
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search_leftmost

Se um valor for encontrado, a função retornará o índice desse valor. Se um valor não for encontrado, a função retornará o índice do próximo menor elemento, se ele estiver na matriz, à esquerda da posição do valor. A matriz a ser pesquisada deve ser ordenada em ordem ascendente.

array.binary_search_leftmost(id, val)

Exemplo

pine
// array.binary_search_leftmost a = array.from(5, -2, 0, 9, 1) array.sort(a) // [-2, 0, 1, 5, 9] position = array.binary_search_leftmost(a, 3) // 2 plot(position)

parâmetro

  • id (int[]/float[Objetos da matriz.
  • val(series int/float) Valor de pesquisa em uma matriz ≠

Nota:
A pesquisa binária aplica-se a uma matriz preordenada em ordem ascendente. Ela primeiro compara o elemento no meio da matriz com o valor alvo. Se o elemento for compatível com o valor alvo, ele retorna ao seu lugar na matriz. Se o valor do elemento for maior que o valor alvo, a pesquisa continua na parte inferior da matriz. Se o valor do elemento for menor que o valor alvo, a pesquisa continua na parte superior da matriz.

Veja também
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search_rightmost

Se o valor for encontrado, a função retornará o índice do valor. Quando o valor não for encontrado, a função retornará o índice do elemento à direita do lugar onde o valor está na matriz. A matriz deve ser ordenada em ordem ascendente.

array.binary_search_rightmost(id, val)

Exemplo

pine
// array.binary_search_rightmost a = array.from(5, -2, 0, 9, 1) array.sort(a) // [-2, 0, 1, 5, 9] position = array.binary_search_rightmost(a, 3) // 3 plot(position)

parâmetro

  • id (int[]/float[Objetos da matriz.
  • val(series int/float) Valor de pesquisa em uma matriz ≠

Nota:
A pesquisa binária funciona em ordem ascendente em uma matriz ordenada. Primeiro, ela compara os elementos no meio da matriz com o valor alvo. Se os elementos correspondem ao valor alvo, eles retornam à sua posição na matriz. Se o valor do elemento é maior que o valor alvo, a pesquisa continua na parte inferior da matriz. Se o valor do elemento é menor que o valor alvo, a pesquisa continua na parte superior da matriz.

Veja também
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.sort

Esta função ordena os elementos da matriz.

array.sort(id, order)

Exemplo

pine
// array.sort example a = array.new_float(0,0) for i = 0 to 5 array.push(a, high[i]) array.sort(a, order.descending) if barstate.islast runtime.log(str.tostring(a))

parâmetro

  • id (int[]/float[]/string[Objetos da matriz.
  • order(sort_order) Ordem de ordenação: order.ascending (default) ou order.descending。

Veja também
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.sort_indices

Retorna uma matriz de indexação que, quando usada para indexar a matriz original, acessa seus elementos na ordem em que foram ordenados. Não modifica a matriz original.

array.sort_indices(id, order)

Exemplo

pine
// array.sort_indices a = array.from(5, -2, 0, 9, 1) sortedIndices = array.sort_indices(a) // [1, 2, 4, 0, 3] indexOfSmallestValue = array.get(sortedIndices, 0) // 1 smallestValue = array.get(a, indexOfSmallestValue) // -2 plot(smallestValue)

parâmetro

  • id (int[]/float[]/string[Objetos da matriz.
  • order(sort_order) Ordem de ordenação: order.ascending ou order.descending. opcional. O valor padrão é order.ascending.

Veja também
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.clear

A função elimina todos os elementos da matriz.

array.clear(id)

Exemplo

pine
// array.clear example a = array.new_float(5,high) array.clear(a) array.push(a, close) plot(array.get(a,0)) plot(array.size(a))

parâmetro

  • id(any array type) Objeto da matriz.

Veja também
array.new_float array.insert array.push array.remove array.pop

array.concat

Esta função é usada para combinar dois arrays. Ela empurra todos os elementos do segundo array para o primeiro array e retorna ao primeiro array.

array.concat(id1, id2)

Exemplo

pine
// array.concat example a = array.new_float(0,0) b = array.new_float(0,0) for i = 0 to 4 array.push(a, high[i]) array.push(b, low[i]) c = array.concat(a,b) plot(array.size(a)) plot(array.size(b)) plot(array.size(c))

Devolver valores
A primeira matriz contém elementos combinados da segunda matriz.

parâmetro

  • id1(any array type) O primeiro objeto de uma matriz。
  • id2(any array type) O segundo objeto da matriz ≠

Veja também
array.new_float array.insert array.slice

array.copy

Esta função cria uma cópia de uma matriz existente.

array.copy(id)

Exemplo

pine
// array.copy example length = 5 a = array.new_float(length, close) b = array.copy(a) a := array.new_float(length, open) plot(array.sum(a) / length) plot(array.sum(b) / length)

Devolver valores
Cópia da matriz.

parâmetro

  • id(any array type) Objeto da matriz.

Veja também
array.new_float array.get array.slice array.sort

array.stdev

A função retorna a diferença padrão dos elementos da matriz.

array.stdev(id, biased)

Exemplo

pine
// array.stdev example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) plot(array.stdev(a))

Devolver valores
Os elementos da matriz são padronizados de forma diferente.

parâmetro

  • id (int[]/float[Objetos da matriz.
  • biased(series bool) Determine qual estimativa deve ser usada.

Nota:
SebiasedSe for true, a função será calculada usando uma estimativa parcial do conjunto, e se for false - uma estimativa não parcial da amostra.

Veja também
array.new_float array.max array.min array.avg

array.standardize

Esta função retorna um array de elementos padronizados.

array.standardize(id)

Exemplo

pine
// array.standardize example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) b = array.standardize(a) plot(array.min(b)) plot(array.max(b))

Devolver valores
Arrays de elementos padronizados.

parâmetro

  • id (int[]/float[Objetos da matriz.

Veja também
array.max array.min array.mode array.avg array.variance array.stdev

array.variance

A função retorna a diferença entre os elementos da matriz.

array.variance(id, biased)

Exemplo

pine
// array.variance example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) plot(array.variance(a))

Devolver valores
Diferença quadrada dos elementos da matriz.

parâmetro

  • id (int[]/float[Objetos da matriz.
  • biased(series bool) Determine qual estimativa deve ser usada.

Nota:
SebiasedSe for true, a função será calculada usando uma estimativa parcial do conjunto, e se for false - uma estimativa não parcial da amostra.

Veja também
array.new_float array.stdev array.min array.avg array.covariance

array.covariance

Esta função retorna a coeficiente diferencial de duas matrizes.

array.covariance(id1, id2, biased)

Exemplo

pine
// array.covariance example a = array.new_float(0) b = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) array.push(b, open[i]) plot(array.covariance(a, b))

Devolver valores
A diferença de coeficientes entre as duas matrizes.

parâmetro

  • id1 (int[]/float[Objetos da matriz.
  • id2 (int[]/float[Objetos da matriz.
  • biased(series bool) Determine qual estimativa deve ser usada.

Nota:
SebiasedSe for true, a função será calculada usando uma estimativa parcial do conjunto, e se for false - uma estimativa não parcial da amostra.

Veja também
array.new_float array.max array.stdev array.avg array.variance

array.fill

Esta função define os elementos da matriz como valores individuais. Se o índice não for especificado, define todos os elementos. Se for fornecido apenas o índice inicial (default é 0), define os elementos que começam com esse índice. Se dois parâmetros de indexação forem usados simultaneamente, define os elementos que são indexados desde o início, mas não incluem o índice final (default é na).

array.fill(id, value, index_from, index_to)

Exemplo

pine
// array.fill example a = array.new_float(10) array.fill(a, close) plot(array.sum(a))

parâmetro

  • id(any array type) Objeto da matriz.
  • value (series <type of the array's elements>) para preencher a matriz.
  • index_from(series int) Índice inicial, 0。 por padrão
  • index_to(series int) Fim de índice, o padrão é na。 Deve ser maior que o índice do último elemento a ser definido。

Veja também
array.new_float array.set array.slice

array.includes

Se o valor for encontrado na matriz, a função retornará true, caso contrário retornará false.

array.includes(id, value)

Exemplo

pine
// array.includes example a = array.new_float(5,high) p = close if array.includes(a, high) p := open plot(p)

Devolver valores
Se o valor for encontrado na matriz, então é true, caso contrário, é false.

parâmetro

  • id(any array type) Objeto da matriz.
  • value (series <type of the array's elements>Os valores a serem pesquisados no array são:

Veja também
array.new_float array.indexof array.shift array.remove array.insert

array.insert

A função altera o conteúdo da matriz adicionando novos elementos no lugar apropriado.

array.insert(id, index, value)

Exemplo

pine
// array.insert example a = array.new_float(5, close) array.insert(a, 0, open) plot(array.get(a, 5))

parâmetro

  • id(any array type) Objeto da matriz.
  • index(series int) Índice de inserção de valores.
  • value (series <type of the array's elements>O valor a ser adicionado à matriz.

Veja também
array.new_float array.set array.push array.remove array.pop array.unshift

array.join

A função cria e retorna novas strings, separadas por uma separadora de caracteres especificada, conectando todos os elementos da matriz.

array.join(id, separator)

Exemplo

pine
// array.join example a = array.new_float(5, 5) runtime.log(array.join(a, ","))

parâmetro

  • id (int[]/float[]/string[Objetos da matriz.
  • separator(series string) Uma sequência de caracteres usada para separar cada elemento de uma matriz.

Veja também
array.new_float array.set array.insert array.remove array.pop array.unshift

array.lastindexof

Esta função retorna o índice da última vez que o valor apareceu. Se não encontrar esse valor, retorna -1.

array.lastindexof(id, value)

Exemplo

pine
// array.lastindexof example a = array.new_float(5,high) index = array.lastindexof(a, high) plot(index)

Devolver valores
Índice dos elementos

parâmetro

  • id(any array type) Objeto da matriz.
  • value (series <type of the array's elements>Os valores a serem pesquisados no array são:

Veja também
array.new_float array.set array.push array.remove array.insert

array.max

A função retorna o valor máximo, ou o n° máximo, de uma dada matriz.

array.max(id, nth)

Exemplo

pine
// array.max a = array.from(5, -2, 0, 9, 1) secondHighest = array.max(a, 2) // 1 plot(secondHighest)

Devolver valores
O maior valor da matriz ou o n° maior valor.

parâmetro

  • id (int[]/float[Objetos da matriz.
  • nth(series int) retorna o n-ésimo maior valor, sendo 0 o maior. Opcional. 0 é o padrão.

Veja também
array.new_float array.min array.sum

array.min

A função retorna o valor mínimo, ou o n° mínimo, de uma sequência dada.

array.min(id, nth)

Exemplo

pine
// array.min a = array.from(5, -2, 0, 9, 1) secondLowest = array.min(a, 1) // 0 plot(secondLowest)

Devolver valores
O menor valor da matriz, ou o n° menor valor.

parâmetro

  • id (int[]/float[Objetos da matriz.
  • nth(series int) O n-ésimo mínimo a ser retornado, sendo 0 o mínimo. Opcional. 0 é o padrão.

Veja também
array.new_float array.max array.sum

array.median

Esta função retorna o número médio dos elementos da matriz.

array.median(id)

Exemplo

pine
// array.median example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) plot(array.median(a))

Devolver valores
Número médio dos elementos da matriz.

parâmetro

  • id (int[]/float[Objetos da matriz.

Veja também
array.avg array.variance array.min

array.mode

Esta função retorna o padrão dos elementos da matriz. Se houver vários valores com a mesma frequência, retorna o valor mínimo.

array.mode(id)

Exemplo

pine
// array.mode example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) plot(array.mode(a))

Devolver valores
Padrão dos elementos da matriz.

parâmetro

  • id (int[]/float[Objetos da matriz.

Veja também
array.new_float array.avg array.variance array.min

array.percentile_linear_interpolation

Retorna a porcentagem especificada do valor do array (o dígito percentual) menor ou igual ao seu valor, usando um intervalo linear.

array.percentile_linear_interpolation(id, percentage)

parâmetro

  • id (int[]/float[Objetos da matriz.
  • percentage(series int/float) Deve ser igual ou menor que a porcentagem do valor que será retornado.

Nota:
Em estatística, a porcentagem é a porcentagem de itens da classificação que aparecem em uma determinada pontuação ou abaixo de uma determinada pontuação. Esta medida mostra a porcentagem de percentual na distribuição de frequência padrão em níveis percentuais inferiores ao que você mede. O intervalo linear estima o valor entre as duas classificações.

Veja também
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.percentile_nearest_rank

Retorna o valor de uma matriz de percentagem especificada (o dígito percentual) menor ou igual a seu valor usando o método de classificação mais recente.

array.percentile_nearest_rank(id, percentage)

parâmetro

  • id (int[]/float[Objetos da matriz.
  • percentage(series int/float) Deve ser igual ou menor que a porcentagem do valor que será retornado.

Nota:
Na estatística, a porcentagem é a porcentagem de itens de classificação que aparecem em uma determinada pontuação ou abaixo de uma determinada pontuação. Esta medida mostra a porcentagem de centenas de pontos abaixo da distribuição de frequência padrão da classificação percentual que você está medindo.

Veja também
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.percentrank

Retorna a classificação percentual do valor médio da matriz.

array.percentrank(id, index)

parâmetro

  • id (int[]/float[Objetos da matriz.
  • index(series int) Calcula o valor de sua classificação percentual.

Nota:
A classificação percentual é a porcentagem de quantos elementos na matriz são menores ou iguais ao valor de referência.

Veja também
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.range

Esta função retorna a diferença entre o valor mínimo e o valor máximo de uma dada matriz.

array.range(id)

Exemplo

pine
// array.range example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) plot(array.range(a))

Devolver valores
Diferença entre o valor mínimo e o valor máximo da matriz.

parâmetro

  • id (int[]/float[Objetos da matriz.

Veja também
array.new_float array.min array.max array.sum

array.remove

A função altera o conteúdo da matriz, removendo elementos com o índice especificado.

array.remove(id, index)

Exemplo

pine
// array.remove example a = array.new_float(5,high) removedEl = array.remove(a, 0) plot(array.size(a)) plot(removedEl)

Devolver valores
Valor do elemento removido.

parâmetro

  • id(any array type) Objeto da matriz.
  • index(series int) Índice do elemento a ser removido.

Veja também
array.new_float array.set array.push array.insert array.pop array.shift

array.reverse

Esta função inverte a matriz. O primeiro elemento da matriz torna-se o último, e o último elemento da matriz torna-se o primeiro.

array.reverse(id)

Exemplo

pine
// array.reverse example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) plot(array.get(a, 0)) array.reverse(a) plot(array.get(a, 0))

parâmetro

  • id(any array type) Objeto da matriz.

Veja também
array.new_float array.sort array.push array.set array.avg

array.from

Esta função usa um número variável de parâmetros de um dos seguintes tipos: int, float, bool, string, line, color, linefill, e retorna um array do tipo correspondente.

array.from(arg0, arg1, ...)

Exemplo

pine
// array.from_example arr = array.from("Hello", "World!") // arr (string[]) will contain 2 elements: {Hello}, {World!}. plot(close)

Devolver valores
Valor de um elemento da matriz.

parâmetro

  • arg0, arg1, ...(series int/float/bool/color/string/line/linefill) Parâmetros de série。

array.new

A função cria um novo<type>Objeto de uma matriz de elementos.

array.new(size, initial_value)

Exemplo

pine
// array.new<string> example a = array.new<string>(1, "Hello, World!") runtime.log(array.get(a, 0))

Exemplo

pine
// array.new<color> example a = array.new<color>() array.push(a, color.red) array.push(a, color.green) plot(close, color = array.get(a, close > open ? 1 : 0))

Exemplo

pine
// array.new<float> example length = 5 var a = array.new<float>(length, close) if array.size(a) == length array.remove(a, 0) array.push(a, close) plot(array.sum(a) / length, "SMA")

Exemplo

pine
// array.new<line> example // draw last 15 lines var a = array.new<line>() array.push(a, line.new(bar_index - 1, close[1], bar_index, close)) if array.size(a) > 15 ln = array.shift(a) line.delete(ln)

Devolver valores
IDs de objetos de arrays que podem ser usados com outras arrays.*Função ().

parâmetro

  • sizeO tamanho inicial da sequência (series int) é opcional. O valor padrão é 0
  • initial_value(series <type>) é o valor inicial de todos os elementos da sequência。 opcional。 o valor padrão é <unk>na<unk>。

Nota:
O índice da matriz começa em 0 ≠ ∞.
Se você quiser inicializar uma matriz e especificar todos os seus elementos ao mesmo tempo, use a função array.from。

Veja também
array.from array.push array.get array.size array.remove array.shift array.sum

array.new_bool

Esta função cria um novo objeto de array composto por elementos do tipo bool。

array.new_bool(size, initial_value)

Exemplo

pine
// array.new_bool example length = 5 a = array.new_bool(length, close > open) plot(array.get(a, 0) ? close : open)

Devolver valores
IDs de objetos de arrays que podem ser usados com outras arrays.*Função ().

parâmetro

  • sizeO tamanho inicial da sequência (series int) é opcional. O valor padrão é 0
  • initial_value(series bool) O valor inicial de todos os elementos da sequência. opcional. O valor padrão é <unk>na<unk>.

Nota:
O índice da matriz começa em 0 ≠ ∞.

Veja também
array.new_float array.get array.slice array.sort

array.new_float

Esta função cria um novo objeto de matriz de elementos de tipo ponto flutuante.

array.new_float(size, initial_value)

Exemplo

pine
// array.new_float example length = 5 a = array.new_float(length, close) plot(array.sum(a) / length)

Devolver valores
IDs de objetos de arrays que podem ser usados com outras arrays.*Função ().

parâmetro

  • sizeO tamanho inicial da sequência (series int) é opcional. O valor padrão é 0
  • initial_value(series int/float) Valor inicial de todos os elementos da sequência。 opcional。 o valor padrão é <unk>na<unk>。

Nota:
O índice da matriz começa em 0 ≠ ∞.

Veja também
array.new_bool array.get array.slice array.sort

array.new_int

Esta função cria um novo objeto de array composto por elementos do tipo int。

array.new_int(size, initial_value)

Exemplo

pine
// array.new_int example length = 5 a = array.new_int(length, int(close)) plot(array.sum(a) / length)

Devolver valores
IDs de objetos de arrays que podem ser usados com outras arrays.*Função ().

parâmetro

  • sizeO tamanho inicial da sequência (series int) é opcional. O valor padrão é 0
  • initial_value(series int) Valor inicial de todos os elementos da série. opcional. O valor padrão é <unk>na<unk>.

Nota:
O índice da matriz começa em 0 ≠ ∞.

Veja também
array.new_float array.get array.slice array.sort

array.new_string

Esta função cria um novo objeto de array de um elemento de tipo string。

array.new_string(size, initial_value)

Exemplo

pine
// array.new_string example length = 5 a = array.new_string(length, "text") runtime.log(array.get(a, 0))

Devolver valores
IDs de objetos de arrays que podem ser usados com outras arrays.*Função ().

parâmetro

  • sizeO tamanho inicial da sequência (series int) é opcional. O valor padrão é 0
  • initial_value(series string) O valor inicial de todos os elementos da seqüência。 é opcional。 o valor padrão é <unk>na<unk>。

Nota:
O índice da matriz começa em 0 ≠ ∞.

Veja também
array.new_float array.get array.slice

array.get

Esta função retorna o valor do elemento no índice especificado.

array.get(id, index)

Exemplo

pine
// array.get example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i] - open[i]) plot(array.get(a, 9))

Devolver valores
Valor de um elemento da matriz.

parâmetro

  • id(any array type) Objeto da matriz.
  • index(series int) O índice de um elemento para retornar o seu valor.

Veja também
array.new_float array.set array.slice array.sort

array.push

Esta função adiciona um valor à matriz <unk>.

array.push(id, value)

Exemplo

pine
// array.push example a = array.new_float(5, 0) array.push(a, open) plot(array.get(a, 5))

parâmetro

  • id(any array type) Objeto da matriz.
  • value (series <type of the array's elements>) Adicione o valor do elemento no final da matriz.

Veja também
array.new_float array.set array.insert array.remove array.pop array.unshift

array.set

Esta função define o valor do elemento como o índice especificado.

array.set(id, index, value)

Exemplo

pine
// array.set example a = array.new_float(10) for i = 0 to 9 array.set(a, i, close[i]) plot(array.sum(a) / 10)

parâmetro

  • id(any array type) Objeto da matriz.
  • index(series int) Modificar o índice do elemento.
  • value (series <type of the array's elements>O novo valor a ser definido.

Veja também
array.new_float array.get array.slice

array.sum

A função retorna a soma dos elementos da matriz.

array.sum(id)

Exemplo

pine
// array.sum example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) plot(array.sum(a))

Devolver valores
A soma dos elementos da matriz.

parâmetro

  • id (int[]/float[Objetos da matriz.

Veja também
array.new_float array.max array.min

array.avg

A função retorna a média dos elementos da matriz.

array.avg(id)

Exemplo

pine
// array.avg example a = array.new_float(0) for i = 0 to 9 array.push(a, close[i]) plot(array.avg(a))

Devolver valores
A média dos elementos da matriz.

parâmetro

  • id (int[]/float[Objetos da matriz.

Veja também
array.new_float array.max array.min array.stdev

array.indexof

Esta função retorna o índice de onde o valor apareceu pela primeira vez. Se este valor não for encontrado, retorna -1.

array.indexof(id, value)

Exemplo

pine
// array.indexof example a = array.new_float(5,high) index = array.indexof(a, high) plot(index)

Devolver valores
Índice dos elementos

parâmetro

  • id(any array type) Objeto da matriz.
  • value (series <type of the array's elements>Os valores a serem pesquisados no array são:

Veja também
array.lastindexof array.get array.lastindexof array.remove array.insert

strategy

existirstrategyEm funções embutidas relacionadas, o ponto de parada e o ponto de parada são definidos como o múltiplo de um salto de preço. Por exemplo:strategy.exitFunção deprofitlossParâmetros em pontos para parar, parar, parâmetrosprofitConfiguração de 10 para um salto de preço multiplicado por 10 como um diferencial de parada de preço, um salto de preço como uma variável internasyminfo.mintick

strategy

Esta função define várias propriedades de política:
Atenção, citações apenastitleshorttitleoverlaypyramidingdefault_qty_typedefault_qty_valueOs outros parâmetros podem ser configurados através dos parâmetros de interface da política da linguagem PINE.

strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, risk_free_rate)

Exemplo

pine
strategy("Strategy", overlay = true) // Enter long by market if current open is greater than previous high. strategy.entry("Long", strategy.long, 1, when = open > high[1]) // Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long". strategy.exit("Exit", "Long", profit = 10, loss = 5)

parâmetro

  • title(const string) será o título do indicador que você verá no plugin indicador/estratégia.
  • shorttitle(const string) O título curto do indicador que você verá no exemplo do gráfico. Os parâmetros são opcionais.
  • overlay(const bool) Se for true, o indicador será adicionado como uma camada de sobreposição da série principal. Se for false - será adicionado em uma janela de gráfico separada. Falso por defeito.
  • format(const string) O tipo de valor possível para formatar o valor do indicador no eixo de preço é: format.inherit, format.price, format.volume. Default format.inherit。
  • precision(const int) o número de dígitos após o número de pontos flutuantes do valor indicador no eixo do preço. Deve ser um inteiro não negativo e não maior que 16. Se omitido, use o formato da série de pais. Se format for format.inherit e tiver este parâmetro definido, format será format.price.
  • scale(scale_type) O indicador deve seguir a coordenada do preço. Os valores possíveis são: scale.right, scale.left, scale.none. O valor scale.none só pode ser usado em combinação com a configuração 'overlay=true' [2].
  • pyramiding(const int) O máximo número de entradas permitidas na mesma direção. Se este valor for 0, apenas uma entrada será aberta na mesma direção e qualquer outra entrada será rejeitada. O valor padrão é 0。
  • calc_on_order_fills(const bool) Cálculo de ordens intrabar adicionais. Se o parâmetro for definido como true ou false, a estratégia recalculará (e não apenas quando a linha k for fechada) se a linha K estiver preenchida após a ordem. O valor padrão é false ou false.
  • calc_on_every_tick(const bool) Calculação de estratégia de intrabar adicional. Se o parâmetro for true, a estratégia calcula cada segundo em tempo real, sem fechar a linha k. O parâmetro não afeta o cálculo da estratégia de dados históricos. O valor padrão é false.
  • max_bars_back(const int) O número máximo de algarismos que podem ser usados para a estratégia de referência histórica. Se o histórico de uma variável for citado no código do script, então é usado '[]' operador), então este parâmetro será aplicado a cada variável embutida ou variável de usuário no script. O tamanho do buffer variável em scripts Pine geralmente é detectado automaticamente. No entanto, em alguns casos, isso é impossível, e é por isso que o parâmetro permite ao usuário definir manualmente o limite inferior para esse valor.
  • backtest_fill_limits_assumption(const int) A hipótese de execução do limite de preço. O limite de preço só será negociado no intrabar quando o preço de mercado exceder o número de ticks especificado para o nível do limite de preço.
  • default_qty_type(const string) definido paraqtyOs valores dos parâmetros são expressos na função estratégia. entrada ou estratégia. ordem. Os possíveis valores são: estratégia. fixado significa contrato / ações / número de horas, estratégia. dinheiro significa quantidade de dinheiro, ou estratégia. percentual_de_equidade representa a porcentagem de direitos e interesses disponíveis.
  • default_qty_value(const int/float) Número de transações padrão de uma função strategy.entry ou strategy.order, cujas unidades são definidas por um parâmetro usado junto com o parâmetro 'default_qty_type' quando seu parâmetro 'qty' não é definido.
  • currency(const string) A moeda de conta desta estratégia。 opcional。 o valor padrão é a moeda da mercadoria no gráfico。 valores possíveis: currency.NONE, currency.USD, currency.EUR, currency.AUD, currency.GBP, currency.NZD, currency.CAD, currency.CHF, currency.HKD, currency.JPY, currency.NOK, currency.SEK, currency.SGD, currency.TRY, currency.ZAR, currency.BTC, currency.ETH, currency.MYR, currency.KRW。
  • slippage(const int) O ponto de deslizamento com tick como unidade de oferta, será adicionado/subtraído do preço de transação do preço de compra/venda ou do preço de parada. Se mintick = 0.01 e o ponto de deslizamento = 5, o ponto de deslizamento total será de 5 * 0.01 = 0.05。
  • commission_type(const string) O tipo de comissão por ordem. Os valores permitidos são: strategy.commission.percent (percentagem da quantidade de dinheiro da ordem), strategy.commission.cash_per_contract (quantidade em moeda de conta por contrato), strategy.commission.cash_per_order (quantidade em moeda de conta por ordem).
  • commission_value(const int/float) Valor da comissão do pedido. Dependendo do tipo escolhido (tipo de comissão), inclua porcentagem ou quantia.
  • process_orders_on_close(const bool) quando configurado como um true colchão, gerará outras tentativas de executar ordens depois de selecionar o fechamento do gráfico e concluir o cálculo da estratégia. Se os pedidos forem pedidos de preço de mercado, o simulador de corretores os executará antes do início do próximo gráfico. Se os pedidos forem preços de limite, os pedidos serão executados somente quando as condições de preço forem atendidas.
  • close_entries_rule(const string) Determina a ordem em que as ordens são fechadas. Os valores permitidos são: 'FIFO' ou 'ANY'. FIFO (First-In, First-Out) significa que, quando várias transações são abertas, a primeira transação deve ser fechada.
  • max_lines_count(const int) Mostra o número de barras mais recentes. O valor padrão é 50, o valor máximo permitido é 500.
  • max_labels_count(const int) Mostra o número de tags mais recentes. O valor padrão é 50, o valor máximo permitido é 500.
  • max_boxes_count(const int) O número de desenhos da última caixa exibida. O valor padrão é 50, o valor máximo permitido é 500.
  • margin_long(const int/float) Garantia de múltiplas posições é a porcentagem do preço de compra de um título que deve ser coberto por dinheiro ou garantia. Deve ser um número não negativo. Opcional. O valor padrão é 100.
  • margin_short(const int/float) Garantia de cabeça vazia é a porcentagem do preço de compra do título em que a posição de cabeça vazia deve ser coberta com dinheiro ou garantia. Deve ser um número não negativo. Opcional. O valor padrão é 100
  • explicit_plot_zorder(const bool) Especifica a ordem de representação dos indicadores, preenchimento e linha horizontal. Se for true, o gráfico será traçado de acordo com a ordem em que eles aparecem no código do indicador, e cada gráfico mais recente será traçado em cima do gráfico anterior.*() função, fill e hline. opcional. O valor padrão é false.
  • initial_capital(const int/float) A quantidade de fundos inicialmente disponível para a estratégia de negociação, representada pela moeda definida na barra de moeda. Opcional. O valor padrão é 1000000
  • risk_free_rate(const int/float) Rendimento sem risco é a variação anual percentual do valor de um investimento com o menor risco ou zero, usada para calcular a proporção de Sharpe e Sortino. O valor padrão é 2

Nota:
Cada script de estratégia deve ter uma chamada de estratégia.
O código PineScript com o parâmetro calc_on_every_tick = true permite diferentes cálculos para o registro histórico e para os dados em tempo real.
Quando você usa um tipo de gráfico não-padrão como base de sua estratégia, você precisa saber que os resultados podem ser diferentes. Os pedidos serão executados no preço do gráfico (por exemplo, para Heikin Ashi, o preço de Heikin Ashi será usado (a média) não é o preço de mercado real). Portanto, recomendamos fortemente que você use o tipo de gráfico padrão em sua estratégia.

Veja também
indicator

strategy.entry

Esta é uma ordem de entrada no mercado. Se uma ordem com o mesmo ID já estiver pendurada, a ordem pode ser modificada. Se não houver uma ordem com o ID especificado, uma nova ordem será emitida. Para desativar a instrução de entrada, use a ordem strategy.cancel ou strategy.cancel_all. Em comparação com a função strategy.order, a função strategy.entry é afetada pela pirâmide e pode inverter corretamente a posição do mercado.

strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)

Exemplo

pine
strategy(title = "simple strategy entry example") strategy.entry("enter long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high strategy.entry("enter short", strategy.short, 1, when = open < low[1]) // enter short by market if current open less then previous low

parâmetro

  • id(series string) Parâmetros necessários 。 Identificador de pedido 。 Pode cancelar ou modificar o pedido por referência ao seu identificador 。
  • direction(strategy_direction) Um parâmetro necessário. Direção de posição do mercado: 'strategy.long' para o multi-cabeça, 'strategy.short' para o zero-cabeça.
  • qty(series int/float) Parâmetros selecionáveis. Contratos/número de ações/horas/número de unidades negociadas. O valor predefinido é 'NaN'
  • limit(series int/float) Parâmetros selecionáveis. Preço limite do pedido. Se especificado, o tipo de pedido é "limit" ou "stop-limit". Outros tipos de pedido são "NaN".
  • stop(series int/float) Parâmetros opcionais ◦ Preço de stop-loss ◦ Tipo de ordem "stop" ou "stop-limit" se especificado ◦ Outros tipos de ordem "NaN" ◦
  • oca_name(series string) Parâmetros opcionais ◦ O pedido pertence ao nome do grupo OCA ◦ Se o pedido não pertence a nenhum grupo OCA, deve haver um espaço ◦Nota: O FMZ não suporta este parâmetro.
  • oca_type(input string) opcional. O tipo de grupo de ordens OCA. Os valores permitidos são: strategy.oca.none - o pedido não deve pertencer a nenhum grupo de OCA específico; strategy.oca.cancel - o pedido deve pertencer ao grupo de OCA, uma vez que o pedido é fechado, todos os outros pedidos do mesmo grupo serão cancelados; strategy.oca.reduce - o pedido deve pertencer ao grupo de OCA, se X número de contratos de pedidos foi colocado, o número de outros contratos de pedidos do mesmo grupo de OCA é reduzido por X.Nota: O FMZ não suporta este parâmetro.
  • comment(series string) Parâmetros selecionáveis。 Outras instruções da encomenda。
  • when(series bool) um parâmetro selecionável. A condição da ordem. Se for "true", a ordem é colocada. Se for "false", nada acontece.
  • alert_message(series string) Um parâmetro opcional quando o símbolo {{strategy.order.alert_message}} é usado no campo de mensagens de alerta da caixa de diálogo de criação de alerta.

strategy.close

Esta é uma ordem de saída com um ID designado. Se houver várias ordens de entrada com o mesmo ID, elas sairão ao mesmo tempo. Se não houver uma ordem de abertura com um ID designado ao acionar a ordem, a ordem não será executada.

strategy.close(id, when, comment, qty, qty_percent, alert_message)

Exemplo

pine
strategy("closeEntry Demo", overlay=false) strategy.entry("buy", strategy.long, when = open > close) strategy.close("buy", when = open < close, qty_percent = 50, comment = "close buy entry for 50%") plot(strategy.position_size)

parâmetro

  • id(series string) Parâmetros necessários。 Identificador de ordem。 Pode ser fechado por referência a seu identificador。
  • when(series bool) Parâmetros selecionáveis ◦ Condições do comando ◦
  • qty(series int/float) Parâmetros selecionáveis. Contracto/número de ações/horário/unidade de saída. O valor padrão é 'NaN'.
  • qty_percent(series int/float) define a percentagem de posição livre ((0-100) ≠ que tem uma prioridade inferior à prioridade do parâmetro 'qty' ≠ opcional ≠ o valor padrão é 100 ≠
  • comment(series string) Parâmetros selecionáveis。 Outras instruções da encomenda。
  • alert_message(series string) Um parâmetro opcional quando o símbolo {{strategy.order.alert_message}} é usado no campo de mensagens de alerta da caixa de diálogo de criação de alerta.

strategy.close_all

A saída da posição de mercado atual para a sua estabilização.

strategy.close_all(when, comment, alert_message)

Exemplo

pine
strategy("closeAll Demo", overlay=false) strategy.entry("buy", strategy.long, when = open > close) strategy.close_all(when = open < close, comment = "close all entries") plot(strategy.position_size)

parâmetro

  • when(series bool) Parâmetros selecionáveis ◦ Condições do comando ◦
  • comment(series string) Parâmetros selecionáveis。 Outras instruções da encomenda。
  • alert_message(series string) Um parâmetro opcional quando o símbolo {{strategy.order.alert_message}} é usado no campo de mensagens de alerta da caixa de diálogo de criação de alerta.

strategy.exit

Esta é uma ordem de saída de uma entrada ou de um status de mercado inteiro. Se uma ordem com o mesmo ID já estiver pendurada, a ordem pode ser modificada. Se uma ordem de entrada não for negociada, mas uma ordem de saída aparecer, a ordem de saída será suspensa até que uma ordem de saída possa ser colocada após a entrada. Para suspender uma ordem de saída, use o comando strategy.cancel ou strategy.cancel_all. Se a função strategy.exit for invocada uma vez, a saída será feita apenas uma vez.

strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, when, alert_message)

Exemplo

pine
strategy(title = "simple strategy exit example") strategy.entry("long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high strategy.exit("exit", "long", profit = 10, loss = 5) // generate full exit bracket (profit 10 points, loss 5 points per contract) from entry with name "long"

parâmetro

  • id(series string) Parâmetros necessários 。 Identificador de pedido 。 Pode cancelar ou modificar o pedido por referência ao seu identificador 。
  • from_entry(series string) Parâmetros selecionáveis. Exit para especificar o identificador de instrução de entrada. Exit para todas as posições deve ser usado uma string em branco.
  • qty(series int/float) Parâmetros selecionáveis. Contracto/número de ações/horário/unidade de saída. O valor padrão é 'NaN'.
  • qty_percent(series int/float) define a percentagem de posição livre ((0-100) ≠ que tem uma prioridade inferior à prioridade do parâmetro 'qty' ≠ opcional ≠ o valor padrão é 100 ≠
  • profit(series int/float) Parâmetros opcionais. Objetivo de lucro (indicado em pontos). Se especificado, sair da posição de mercado com uma ordem de limite quando atingir o lucro especificado (pontos).
  • limit(series int/float) parâmetros selecionáveis. Objetivo de lucro (preço a ser especificado). Saída do mercado com o preço especificado (ou melhor) se especificado. Prioridade do parâmetro 'limit' acima da prioridade do parâmetro 'profit' (se o valor não for 'NaN', então 'limit' substituirá 'profit').
  • loss(series int/float) parâmetros opcionais <unk> Stop loss ((expresso em pontos) <unk> Se especificado, quando atingido o valor de perda indicado ((pontos)), a posição de saída do mercado é retirada com um stop loss <unk> NaN<unk> <unk>
  • stop(series int/float) parâmetros opcionais. Stop loss (preço a ser especificado). Se especificado, sairá da posição de mercado com o preço especificado (ou pior). O parâmetro 'stop loss' tem prioridade maior do que o parâmetro 'loss' (se o valor não for 'NaN', então 'stop loss' substituirá 'loss').
  • trail_price(series int/float) Parâmetros opcionais ◦ nível de ativação do tracking stop loss (precisa especificar o preço) ◦ se especificado, o tracking stop loss será colocado quando o nível de preço especificado for atingido ◦ desvio especificado no parâmetro de coluna trail_offset para determinar o desvio do preço inicial do tracking stop loss ◦ medido em pontos: X pontos abaixo do nível de ativação para sair do multihead; X pontos acima do nível de ativação para sair do headless ◦ o valor padrão é ◦ NaN ◦
  • trail_points(series int/float) Parâmetros opcionais:  rastrear o nível de ativação do stop loss (indicado em pontos de lucro)  se especificado, colocar um stop loss de rastreamento quando o nível de preço calculado (indicado em pontos de lucro) for atingido  especificar o deslocamento do preço inicial do stop loss de rastreamento no parâmetro de coluna trail_offset (indicado em pontos de cálculo): X pontos abaixo do nível de ativação para sair de um multihead; X pontos acima do nível de ativação para sair de um zerohead  o valor padrão é <unk>NaN<unk>
  • trail_offset(series int/float) parâmetros opcionais. Tracking stop loss activation level ((expresso em pontos). O desvio em pontos é usado para determinar o preço inicial do tracking stop loss: X pontos abaixo do 'trail_price' ou 'trail_points' para sair do multi-cabeça; X pontos acima do 'trail_price' ou 'trail_points' para sair do cabeça vazia.
  • oca_name(series string) Parâmetros selecionáveis. Nome do grupo OCA (oca_type = strategy.oca.reduce) Objetivo de ganho, stop loss / stop loss. Se o nome não for especificado, ele será gerado automaticamente.Nota: O FMZ não suporta este parâmetro.
  • comment(series string) Parâmetros selecionáveis。 Outras instruções da encomenda。
  • when(series bool) um parâmetro selecionável. A condição da ordem. Se for "true", a ordem é colocada. Se for "false", nada acontece.
  • alert_message(series string) Um parâmetro opcional quando o símbolo {{strategy.order.alert_message}} é usado no campo de mensagens de alerta da caixa de diálogo de criação de alerta.

strategy.cancel

Esta é uma ordem de cancelamento/desativação de todos os listados pré-encomendados com o nome de referência, gerada pelas funções: strategy.order, strategy.entry e strategy.exit。

strategy.cancel(id, when)

Exemplo

pine
strategy(title = "simple order cancellation example") conditionForBuy = open > high[1] strategy.entry("long", strategy.long, 1, limit = low, when = conditionForBuy) // enter long using limit order at low price of current bar if conditionForBuy is true strategy.cancel("long", when = not conditionForBuy) // cancel the entry order with name "long" if conditionForBuy is false

parâmetro

  • id(series string) Parâmetro obrigatório ◦ Identificação de pedido ◦ Localização do identificador para cancelar um pedido ◦
  • when(series bool) opcional. Anula uma ordem de acordo com a ID. Se for "true", a ordem será cancelada. O valor padrão é "true".

strategy.cancel_all

Esta é uma função de cancelamento/desativação de todas as ordens de lista pré-estabelecidas, geradas pelas funções: strategy.order, strategy.entry e strategy.exit.

strategy.cancel_all(when)

Exemplo

pine
strategy(title = "simple all orders cancellation example") conditionForBuy1 = open > high[1] strategy.entry("long entry 1", strategy.long, 1, limit = low, when = conditionForBuy1) // enter long by limit if conditionForBuy1 is true conditionForBuy2 = conditionForBuy1 and open[1] > high[2] strategy.entry("long entry 2", strategy.long, 1, limit = ta.lowest(low, 2), when = conditionForBuy2) // enter long by limit if conditionForBuy2 is true conditionForStopTrading = open < ta.lowest(low, 2) strategy.cancel_all(conditionForStopTrading) // cancel both limit orders if the conditon conditionForStopTrading is true

parâmetro

  • when(series bool) opcional ≠ cancelar todas as condições das ordens ≠ cancelar todas as ordens ativas se a condição for verdadeira ≠ o valor padrão é <unk>true<unk>

strategy.order

Esta é a ordem da ordem seguinte. Se uma ordem com o mesmo ID já estiver pendurada, a ordem pode ser modificada. Se não houver uma ordem com o ID especificado, uma nova ordem será emitida. Para cancelar a ordem, deve-se usar a ordem strategy.cancel ou strategy.cancel_all. Em comparação com a função strategy.entry, a função strategy.order não é afetada pela forma de pirâmide. Se os parâmetros da barra de restrição e da barra de suspensão são ambos NaN<unk>, o tipo de ordem é uma ordem de mercado.

strategy.order(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)

Exemplo

strategy(title = "simple strategy order example") strategy.order("buy", strategy.long, 1, when = open > high[1]) // buy by market if current open great then previous high strategy.order("sell", strategy.short, 1, when = open < low[1]) // sell by market if current open less then previous low

parâmetro

  • id(series string) Parâmetros necessários 。 Identificador de pedido 。 Pode cancelar ou modificar o pedido por referência ao seu identificador 。
  • direction(strategy_direction) Um parâmetro necessário. Direção da ordem: 'strategy.long' para comprar, 'strategy.short' para vender ‬
  • qty(series int/float) Parâmetros selecionáveis. Contratos/número de ações/horas/número de unidades negociadas. O valor predefinido é 'NaN'
  • limit(series int/float) Parâmetros selecionáveis. Preço limite do pedido. Se especificado, o tipo de pedido é "limit" ou "stop-limit". Outros tipos de pedido são "NaN".
  • stop(series int/float) Parâmetros opcionais ◦ Preço de stop-loss ◦ Tipo de ordem "stop" ou "stop-limit" se especificado ◦ Outros tipos de ordem "NaN" ◦
  • oca_name(series string) Parâmetros opcionais ◦ O pedido pertence ao nome do grupo OCA ◦ Se o pedido não pertence a nenhum grupo OCA, deve haver um espaço ◦Nota: O FMZ não suporta este parâmetro.
  • oca_type(input string) opcional. O tipo de grupo de ordens OCA. Os valores permitidos são: strategy.oca.none - o pedido não deve pertencer a nenhum grupo de OCA específico; strategy.oca.cancel - o pedido deve pertencer ao grupo de OCA, uma vez que o pedido é fechado, todos os outros pedidos do mesmo grupo serão cancelados; strategy.oca.reduce - o pedido deve pertencer ao grupo de OCA, se X número de contratos de pedidos foi colocado, o número de outros contratos de pedidos do mesmo grupo de OCA é reduzido por X.Nota: O FMZ não suporta este parâmetro.
  • comment(series string) Parâmetros selecionáveis。 Outras instruções da encomenda。
  • when(series bool) um parâmetro selecionável. A condição da ordem. Se for "true", a ordem é colocada. Se for "false", nada acontece.
  • alert_message(series string) Um parâmetro opcional quando o símbolo {{strategy.order.alert_message}} é usado no campo de mensagens de alerta da caixa de diálogo de criação de alerta.

strategy.opentrades.entry_bar_index

Bar_index que retorna a entrada de uma posição não liquidada.

strategy.opentrades.entry_bar_index(trade_num)

Esperar 10 K e fechar a posição.

Exemplo

pine
strategy("`strategy.opentrades.entry_bar_index` Example") barsSinceLastEntry() => strategy.opentrades > 0 ? bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) : na // Enter a long position if there are no open positions. if strategy.opentrades == 0 strategy.entry("Long", strategy.long) // Close the long position after 10 bars. if barsSinceLastEntry() >= 10 strategy.close("Long")

parâmetro

  • trade_num(series int) Número de transação para transações sem equilíbrio. O número da primeira transação é zero.

Veja também
strategy.closedtrades.entry_bar_index strategy.closedtrades.exit_bar_index

strategy.opentrades.entry_id

ID de retorno de entrada em transações não liquidadas.

strategy.opentrades.entry_id(trade_num)

Exemplo

pine
strategy("`strategy.opentrades.entry_id` Example", overlay = true) // We enter a long position when 14 period sma crosses over 28 period sma. // We enter a short position when 14 period sma crosses under 28 period sma. longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28)) shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) // Strategy calls to enter a long or short position when the corresponding condition is met. if longCondition strategy.entry("Long entry at bar #" + str.tostring(bar_index), strategy.long) if shortCondition strategy.entry("Short entry at bar #" + str.tostring(bar_index), strategy.short) // Display ID of the latest open position. if barstate.islastconfirmedhistory runtime.log("Last opened position is " + strategy.opentrades.entry_id(strategy.opentrades - 1))

Devolver valores
ID de retorno de entrada em transações não liquidadas.

parâmetro

  • trade_num(series int) Número de transação para transações sem equilíbrio. O número da primeira transação é zero.

Nota:
Se trade_num não estiver no intervalo, a função retorna na:0 para strategy.opentrades-1。

Veja também
strategy.opentrades.entry_bar_index strategy.opentrades.entry_time

strategy.opentrades.entry_price

Preço de entrada de retorno de uma transação não liquidada.

strategy.opentrades.entry_price(trade_num)

Exemplo

pine
strategy("strategy.closedtrades.entry_price Example 1") // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars. if bar_index % 15 == 0 strategy.entry("Long", strategy.long) if bar_index % 20 == 0 strategy.close("Long") // Return the entry price for the latest closed trade. entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1) plot(entryPrice, "Long entry price")

Calcular o preço médio da posição não liquidada

Exemplo

pine
strategy("strategy.opentrades.entry_price Example 2", pyramiding = 2) // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars. if bar_index % 15 == 0 strategy.entry("Long", strategy.long) if bar_index % 20 == 0 strategy.close("Long") // Calculate average open position price. avgOpenPositionPrice() => sumOpenPositionPrice = 0.0 for tradeNo = 0 to strategy.opentrades - 1 sumOpenPositionPrice += strategy.opentrades.entry_price(tradeNo) * strategy.opentrades.size(tradeNo) / strategy.position_size result = nz(sumOpenPositionPrice / strategy.opentrades) plot(avgOpenPositionPrice())

parâmetro

  • trade_num(series int) Número de transação para transações sem equilíbrio. O número da primeira transação é zero.

Veja também
strategy.closedtrades.exit_price

strategy.opentrades.entry_time

Regresso ao horário UNIX de entrada em negociação de posição não equilibrada.

strategy.opentrades.entry_time(trade_num)

Exemplo

pine
strategy("strategy.opentrades.entry_time Example") // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars. if bar_index % 15 == 0 strategy.entry("Long", strategy.long) if bar_index % 20 == 0 strategy.close("Long") // Calculates duration in milliseconds since the last position was opened. timeSinceLastEntry()=> strategy.opentrades > 0 ? (time - strategy.opentrades.entry_time(strategy.opentrades - 1)) : na plot(timeSinceLastEntry() / 1000 * 60 * 60 * 24, "Days since last entry")

parâmetro

  • trade_num(series int) Número de transação para transações sem equilíbrio. O número da primeira transação é zero.

Veja também
strategy.closedtrades.entry_time strategy.closedtrades.exit_time

strategy.opentrades.profit

Perda de retorno de transações não liquidadas. A perda é representada como negativa.

strategy.opentrades.profit(trade_num)

Retorno do lucro da última posição aberta

Exemplo

pine
strategy("`strategy.opentrades.profit` Example 1", commission_type = strategy.commission.percent, commission_value = 0.1) // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars. if bar_index % 15 == 0 strategy.entry("Long", strategy.long) if bar_index % 20 == 0 strategy.close("Long") plot(strategy.opentrades.profit(strategy.opentrades - 1), "Profit of the latest open trade")

Calculando o lucro de todas as transações não liquidadas

Exemplo

pine
strategy("`strategy.opentrades.profit` Example 2", pyramiding = 5) // Strategy calls to enter 5 long positions every 2 bars. if bar_index % 2 == 0 strategy.entry("Long", strategy.long, qty = 5) // Calculate open profit or loss for the open positions. tradeOpenPL() => sumProfit = 0.0 for tradeNo = 0 to strategy.opentrades - 1 sumProfit += strategy.opentrades.profit(tradeNo) result = sumProfit plot(tradeOpenPL(), "Profit of all open trades")

parâmetro

  • trade_num(series int) Número de transação para transações sem equilíbrio. O número da primeira transação é zero.

Veja também
strategy.closedtrades.profit strategy.openprofit strategy.netprofit strategy.grossprofit

strategy.opentrades.size

Retorna a direção de negociação e o número de contratos em negociação de posição não liquidada. Se o valor for > 0, a posição de mercado é a posição de mais de um. Se o valor for < 0, a posição de mercado é a posição de cabeça vazia.

strategy.opentrades.size(trade_num)

Exemplo

pine
strategy("`strategy.opentrades.size` Example 1") // We calculate the max amt of shares we can buy. amtShares = math.floor(strategy.equity / close) // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars if bar_index % 15 == 0 strategy.entry("Long", strategy.long, qty = amtShares) if bar_index % 20 == 0 strategy.close("Long") // Plot the number of contracts in the latest open trade. plot(strategy.opentrades.size(strategy.opentrades - 1), "Amount of contracts in latest open trade")

Calculação da percentagem de lucro médio de transações não liquidadas

Exemplo

pine
strategy("`strategy.opentrades.size` Example 2") // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars. if bar_index % 15 == 0 strategy.entry("Long", strategy.long) if bar_index % 20 == 0 strategy.close("Long") // Calculate profit for all open trades. profitPct = 0.0 for tradeNo = 0 to strategy.opentrades - 1 entryP = strategy.opentrades.entry_price(tradeNo) exitP = close profitPct += (exitP - entryP) / entryP * strategy.opentrades.size(tradeNo) * 100 // Calculate average profit percent for all open trades. avgProfitPct = nz(profitPct / strategy.opentrades)

parâmetro

  • trade_num(series int) Número de transação para transações sem equilíbrio. O número da primeira transação é zero.

Veja também
strategy.closedtrades.size strategy.position_size strategy.opentrades strategy.closedtrades

strategy.closedtrades.entry_bar_index

Retorna a entrada bar_index que foi liquidada.

strategy.closedtrades.entry_bar_index(trade_num)

Exemplo

pine
strategy("strategy.closedtrades.entry_bar_index Example") // Enter long trades on three rising bars; exit on two falling bars. if ta.rising(close, 3) strategy.entry("Long", strategy.long) if ta.falling(close, 2) strategy.close("Long") // Function that calculates the average amount of bars in a trade. avgBarsPerTrade() => sumBarsPerTrade = 0 for tradeNo = 0 to strategy.closedtrades - 1 // Loop through all closed trades, starting with the oldest. sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1 result = nz(sumBarsPerTrade / strategy.closedtrades) plot(avgBarsPerTrade())

parâmetro

  • trade_num(series int) Número de transação que foi liquidado. O número da primeira transação é zero.

Veja também
strategy.closedtrades.exit_bar_index strategy.opentrades.entry_bar_index

strategy.closedtrades.exit_price

Retornar ao preço de saída de uma transação liquidada.

strategy.closedtrades.exit_price(trade_num)

Exemplo

pine
strategy("strategy.closedtrades.exit_price Example 1") // We are creating a long trade every 5 bars if bar_index % 5 == 0 strategy.entry("Long", strategy.long) strategy.close("Long") // Return the exit price from the latest closed trade. exitPrice = strategy.closedtrades.exit_price(strategy.closedtrades - 1) plot(exitPrice, "Long exit price")

Calcular a percentagem de lucro médio de todas as transações liquidadas

Exemplo

pine
strategy("strategy.closedtrades.exit_price Example 2") // Strategy calls to create single short and long trades. if bar_index == last_bar_index - 15 strategy.entry("Long Entry", strategy.long) else if bar_index == last_bar_index - 10 strategy.close("Long Entry") strategy.entry("Short", strategy.short) else if bar_index == last_bar_index - 5 strategy.close("Short") // Calculate profit for both closed trades. profitPct = 0.0 for tradeNo = 0 to strategy.closedtrades - 1 entryP = strategy.closedtrades.entry_price(tradeNo) exitP = strategy.closedtrades.exit_price(tradeNo) profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100 // Calculate average profit percent for both closed trades. avgProfitPct = nz(profitPct / strategy.closedtrades) plot(avgProfitPct)

parâmetro

  • trade_num(series int) Número de transação que foi liquidado. O número da primeira transação é zero.

Veja também
strategy.closedtrades.entry_price

strategy.closedtrades.exit_bar_index

Retorna a bar_index que foi excluída da transação.

strategy.closedtrades.exit_bar_index(trade_num)

Exemplo

pine
strategy("strategy.closedtrades.exit_bar_index Example 1") // Strategy calls to place a single short trade. We enter the trade at the first bar and exit the trade at 10 bars before the last chart bar. if bar_index == 0 strategy.entry("Short", strategy.short) if bar_index == last_bar_index - 10 strategy.close("Short") // Calculate the amount of bars since the last closed trade. barsSinceClosed = strategy.closedtrades > 0 ? bar_index - strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) : na plot(barsSinceClosed, "Bars since last closed trade")

Calcule o número médio de linhas K por transação.

Exemplo

pine
strategy("strategy.closedtrades.exit_bar_index Example 2") // Enter long trades on three rising bars; exit on two falling bars. if ta.rising(close, 3) strategy.entry("Long", strategy.long) if ta.falling(close, 2) strategy.close("Long") // Function that calculates the average amount of bars per trade. avgBarsPerTrade() => sumBarsPerTrade = 0 for tradeNo = 0 to strategy.closedtrades - 1 // Loop through all closed trades, starting with the oldest. sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1 result = nz(sumBarsPerTrade / strategy.closedtrades) plot(avgBarsPerTrade())

parâmetro

  • trade_num(series int) Número de transação que foi liquidado. O número da primeira transação é zero.

Veja também
bar_index

strategy.closedtrades.entry_id

A entrada de um retorno para uma transação em equilíbrio.

strategy.closedtrades.entry_id(trade_num)

Exemplo

pine
strategy("strategy.closedtrades.entry_id Example", overlay = true) var isOpen = false var openIndex = -1 // Enter a short position and close at the previous to last bar. if not barstate.ishistory and not isOpen strategy.entry("Short at bar #" + str.tostring(bar_index), strategy.short) isOpen := true openIndex := bar_index if openIndex != -1 and bar_index > openIndex + 100 strategy.close_all() // Display ID of the last entry position. if barstate.islastconfirmedhistory runtime.log("Last Entry ID is: " + strategy.closedtrades.entry_id(strategy.closedtrades - 1))

Devolver valores
A entrada de um retorno para uma transação em equilíbrio.

parâmetro

  • trade_num(series int) Número de transação que foi liquidado. O número da primeira transação é zero.

Nota:
Se trade_num não estiver no intervalo, a função retorna na:0 para strategy.closedtrades-1。

Veja também
strategy.closedtrades.entry_bar_index strategy.closedtrades.entry_time

strategy.closedtrades.entry_price

O preço de entrada de um retorno de uma transação equilibrada.

strategy.closedtrades.entry_price(trade_num)

Exemplo

pine
strategy("strategy.closedtrades.entry_price Example 1") // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars. if bar_index % 15 == 0 strategy.entry("Long", strategy.long) if bar_index % 20 == 0 strategy.close("Long") // Return the entry price for the latest entry. entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1) plot(entryPrice, "Long entry price")

Calcular a percentagem de lucro médio de todas as transações liquidadas

Exemplo

pine
strategy("strategy.closedtrades.entry_price Example 2") // Strategy calls to create single short and long trades if bar_index == last_bar_index - 15 strategy.entry("Long Entry", strategy.long) else if bar_index == last_bar_index - 10 strategy.close("Long Entry") strategy.entry("Short", strategy.short) else if bar_index == last_bar_index - 5 strategy.close("Short") // Calculate profit for both closed trades. profitPct = 0.0 for tradeNo = 0 to strategy.closedtrades - 1 entryP = strategy.closedtrades.entry_price(tradeNo) exitP = strategy.closedtrades.exit_price(tradeNo) profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100 // Calculate average profit percent for both closed trades. avgProfitPct = nz(profitPct / strategy.closedtrades) plot(avgProfitPct)

parâmetro

  • trade_num(series int) Número de transação que foi liquidado. O número da primeira transação é zero.

Veja também
strategy.closedtrades.exit_price strategy.closedtrades.size strategy.closedtrades

strategy.closedtrades.entry_time

Retornar ao horário de entrada do UNIX em que a transação foi liquidada.

strategy.closedtrades.entry_time(trade_num)

Exemplo

pine
strategy("strategy.closedtrades.entry_time Example", overlay = true) // Enter long trades on three rising bars; exit on two falling bars. if ta.rising(close, 3) strategy.entry("Long", strategy.long) if ta.falling(close, 2) strategy.close("Long") // Calculate the average trade duration avgTradeDuration() => sumTradeDuration = 0 for i = 0 to strategy.closedtrades - 1 sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i) result = nz(sumTradeDuration / strategy.closedtrades) // Display average duration converted to seconds and formatted using 2 decimal points if barstate.islastconfirmedhistory runtime.log(str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")

parâmetro

  • trade_num(series int) Número de transação que foi liquidado. O número da primeira transação é zero.

Veja também
strategy.opentrades.entry_time strategy.closedtrades.exit_time time

strategy.closedtrades.profit

Perda de retorno de transações liquidadas. Perda expressa em negativo.

strategy.closedtrades.profit(trade_num)

Exemplo

pine
strategy("`strategy.closedtrades.profit` Example") // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars. if bar_index % 15 == 0 strategy.entry("Long", strategy.long) if bar_index % 20 == 0 strategy.close("Long") // Calculate average gross profit by adding the difference between gross profit and commission. avgGrossProfit() => sumGrossProfit = 0.0 for tradeNo = 0 to strategy.closedtrades - 1 sumGrossProfit += strategy.closedtrades.profit(tradeNo) - strategy.closedtrades.commission(tradeNo) result = nz(sumGrossProfit / strategy.closedtrades) plot(avgGrossProfit(), "Average gross profit")

parâmetro

  • trade_num(series int) Número de transação que foi liquidado. O número da primeira transação é zero.

Veja também
strategy.opentrades.profit strategy.closedtrades.commission

strategy.closedtrades.size

Retorna a direção de negociação e o número de contratos em negociações em posição equilibrada. Se o valor for > 0, a posição de mercado é a posição de mercado. Se o valor for < 0, a posição de mercado é a posição de mercado.

strategy.closedtrades.size(trade_num)

Exemplo

pine
strategy("`strategy.closedtrades.size` Example 1") // We calculate the max amt of shares we can buy. amtShares = math.floor(strategy.equity / close) // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars if bar_index % 15 == 0 strategy.entry("Long", strategy.long, qty = amtShares) if bar_index % 20 == 0 strategy.close("Long") // Plot the number of contracts traded in the last closed trade. plot(strategy.closedtrades.size(strategy.closedtrades - 1), "Number of contracts traded")

Calculação da percentagem de lucro médio de uma transação em posição de equilíbrio

Exemplo

pine
strategy("`strategy.closedtrades.size` Example 2") // Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars. if bar_index % 15 == 0 strategy.entry("Long", strategy.long) if bar_index % 20 == 0 strategy.close("Long") // Calculate profit for both closed trades. profitPct = 0.0 for tradeNo = 0 to strategy.closedtrades - 1 entryP = strategy.closedtrades.entry_price(tradeNo) exitP = strategy.closedtrades.exit_price(tradeNo) profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100 // Calculate average profit percent for both closed trades. avgProfitPct = nz(profitPct / strategy.closedtrades) plot(avgProfitPct)

parâmetro

  • trade_num(series int) Número de transação que foi liquidado. O número da primeira transação é zero.

Veja também
strategy.opentrades.size strategy.position_size strategy.closedtrades strategy.opentrades

strategy.closedtrades.exit_time

Retornar a hora do UNIX de saída de uma transação equilibrada.

strategy.closedtrades.exit_time(trade_num)

Exemplo

pine
strategy("strategy.closedtrades.exit_time Example 1") // Enter long trades on three rising bars; exit on two falling bars. if ta.rising(close, 3) strategy.entry("Long", strategy.long) if ta.falling(close, 2) strategy.close("Long") // Calculate the average trade duration. avgTradeDuration() => sumTradeDuration = 0 for i = 0 to strategy.closedtrades - 1 sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i) result = nz(sumTradeDuration / strategy.closedtrades) // Display average duration converted to seconds and formatted using 2 decimal points. if barstate.islastconfirmedhistory label.new(bar_index, high, str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")

X segundos para reabrir transações em equilibrado

Exemplo

strategy("strategy.closedtrades.exit_time Example 2") // Strategy calls to emulate a single long trade at the first bar. if bar_index == 0 strategy.entry("Long", strategy.long) reopenPositionAfter(timeSec) => if strategy.closedtrades > 0 if time - strategy.closedtrades.exit_time(strategy.closedtrades - 1) >= timeSec * 1000 strategy.entry("Long", strategy.long) // Reopen last closed position after 120 sec. reopenPositionAfter(120) if ta.change(strategy.opentrades) strategy.exit("Long", stop = low * 0.9, profit = high * 2.5)

parâmetro

  • trade_num(series int) Número de transação que foi liquidado. O número da primeira transação é zero.

Veja também
strategy.closedtrades.entry_time

strategy.risk.allow_entry_in

Esta função pode ser usada para especificar em que direção do mercado a estratégia. entrada é permitida.

strategy.risk.allow_entry_in(value)

Exemplo

pine
strategy("strategy.risk.allow_entry_in") strategy.risk.allow_entry_in(strategy.direction.long) strategy.entry("Long", strategy.long, when = open > close) // Instead of opening a short position with 10 contracts, this command will close long entries. strategy.entry("Short", strategy.short, when = open < close, qty = 10)

parâmetro

strategy.risk.max_position_size

O objetivo desta regra é determinar o valor máximo de uma posição de mercado. A regra afeta as seguintes funções:strategy.entryO número de entradas de caixa pode ser reduzido (se necessário) para o número de contratos / ações / mãos / unidades, de modo que o valor total da posição não exceda o valor indicado em 'strategy.risk.max_position_size'. Se a quantidade mínima ainda violar a regra, a ordem não será colocada.

strategy.risk.max_position_size(contracts)

Exemplo

pine
strategy("risk.max_position_size Demo", default_qty_value = 100) strategy.risk.max_position_size(10) strategy.entry("buy", strategy.long, when = open > close) plot(strategy.position_size) // max plot value will be 10

parâmetro

  • contracts(simple int/float) Parâmetros necessários. Número máximo de contratos/ações/manos/unidades da posição.

math

math.abs

Se...number >= 0,numberO valor absoluto é numberCaso contrário,number

math.abs(number)

Devolver valores
numberValor absoluto de ≠

math.acos

A função acos retorna a inversão de um número ((expresso em arco), como cos ((acos ((y)) = y dentro de y.[-1, 1]。

math.acos(angle)

Devolver valores
Reversão de resonancia. Se y for fora do alcance[-1,1], o ângulo de retorno está em[0,Pi] ou na.

math.random

Retorna um valor pseudo-aleatório. Esta função irá gerar uma sequência de valores diferente para cada script executado. Usar o mesmo valor para o parâmetro seed selecionado irá gerar uma sequência repetível.

math.random(min, max, seed)

Devolver valores
Um valor aleatório.

parâmetro

  • min(series int/float) O limite inferior do intervalo de valores aleatórios. O valor não está incluído no intervalo. O valor padrão é 0
  • max(series int/float) Limite superior de um intervalo de valores aleatórios. O valor não está incluído no intervalo. O valor padrão é 1
  • seed(input int) opcional. Quando o mesmo seed é usado, é permitido que a função seja chamada de forma contínua para produzir um conjunto de valores repetíveis.

math.asin

A função asin retorna a antítese de um número ((expresso em arco), a antítese ((asin ((y)) = y dentro de y[-1, 1]。

math.asin(angle)

Devolver valores
O valor de antossíntese.[-1,1], o ângulo de retorno está em[-Pi / 2, Pi / 2] ou na escala de na.

math.atan

A função atan retorna o interseção inversa do número ((expresso em arco), tan (((atan ((y)) = qualquer y ∈ y.

math.atan(angle)

Devolver valores
Cancelamento inverso; ângulo de retorno em[-Pi / 2, Pi / 2] no âmbito de <unk>.

math.ceil

A função inteira ascendente retorna o menor número inteiro maior que ou igual ao valor de seu argumento (o mais próximo de infinito negativo).

math.ceil(number)

Devolver valores
Menor ou igual ao menor inteiro de um dado número

Veja também
math.floor math.round

math.cos

O ângulo de retorno da função cos é o ângulo de um triângulo.

math.cos(angle)

Devolver valores
A corda triangular do canto.

parâmetro

  • angle(series int/float) ângulo, em arco

math.exp

numberA função exp de e é de e.numberExtremo, onde e é o número de Euler.

math.exp(number)

Devolver valores
Um valor de e, que é <unk>.numberO que é isso?

Veja também
math.pow

math.floor

math.floor(number)

Devolver valores
Menor ou igual ao maior inteiro de um dado número.

Veja também
math.ceil math.round

math.log

Qualquer um.numberO natural de > 0 é o único y, de modo que e^y = number

math.log(number)

Devolver valores
numberArgonímetros naturais de .

Veja também
math.log10

math.log10

numberO padrão comum (ou baseado em 10) é que você tem que elevar 10 para obter o número de pi.number。10^y = number

math.log10(number)

Devolver valores
numberA base de 10 para o logarítmo ≠ 2.

Veja também
math.log

math.pow

Funções de matriz

math.pow(base, exponent)

Exemplo

pine
// math.pow plot(math.pow(close, 2))

Devolver valores
baseAumentar paraexponentSebaseÉ uma série, calculada por elementos.

parâmetro

  • base(series int/float) Especifica a base a ser usada.
  • exponent(series int/float) Indicar o índice.

Veja também
math.sqrt math.exp

math.sign

Se o número de algarismos for zero, o símbolo (signum) do número de algarismos é zero, se o número de algarismos for maior que 0, é 1,0, se o número de algarismos for menor que 0, é -1,0.

math.sign(number)

Devolver valores
Logotipo do parâmetro <unk>

math.sin

A função cosine retorna a cosine de um ângulo.

math.sin(angle)

Devolver valores
Sinônimos de triângulo angular.

parâmetro

  • angle(series int/float) ângulo, em arco

math.sqrt

Qualquer um.numberA raiz quadrada de >=0 é a única vez em que y >=0 faz y^2 = number

math.sqrt(number)

Devolver valores
numberA raiz quadrada de .

Veja também
math.pow

math.tan

A função tan retorna o ângulo do triângulo perpendicular.

math.tan(angle)

Devolver valores
O triângulo dos cantos é perpendicular.

parâmetro

  • angle(series int/float) ângulo, em arco

math.round

Regressar.numberSe for usado o valor de um número inteiro, o quadrado é inserido no número inteiro mais próximo e inteiro para cima. Se for usado o valor de um número inteiro, o quadrado é inserido no número inteiro mais próximo e inteiro para cima.precisionO parâmetro retorna um valor de ponto flutuante de um quadrado de cinco dígitos menores.

math.round(number)
math.round(number, precision)

Devolver valores
numberO valor de um quadrado de cinco para o número inteiro mais próximo, ou de acordo com a precisão.

parâmetro

  • number(series int/float) Quadrar o valor de inserção de cinco pontos.
  • precision(series int) Parâmetros selecionáveis。numberSerão quadrados os dígitos menores. Quando não for fornecido o parâmetro, será quadrado o número inteiro mais próximo.

Nota:
Observe que, para um valor 'na', a função retorna 'na' <unk>.

Veja também
math.ceil math.floor

math.max

Retorna o maior de vários valores.

math.max(number0, number1, ...)

Exemplo

pine
// math.max plot(math.max(close, open)) plot(math.max(close, math.max(open, 42)))

Devolver valores
O maior de vários valores dados.

Veja também
math.min

math.min

Retorna o menor de vários valores.

math.min(number0, number1, ...)

Exemplo

pine
// math.min plot(math.min(close, open)) plot(math.min(close, math.min(open, 42)))

Devolver valores
O menor de vários valores dados.

Veja também
math.max

math.avg

Calcule a média de todas as séries ((elementos correspondentes) }}.

math.avg(number0, number1, ...)

Devolver valores
Média

Veja também
math.sum ta.cum ta.sma

math.round_to_mintick

Retorna o valor do mintick que foi circunscrito à mercadoria, ou seja, pode ser dividido pelo valor mais próximo de siminfo.mintick, sem nenhum resto, e arredondado para cima.

math.round_to_mintick(number)

Devolver valores
number"Quatro rodadas e cinco entradas para a precisão do tick".

parâmetro

  • number(series int/float) Quadrar o valor de inserção de cinco pontos.

Veja também
math.ceil math.floor

math.sum

A função sum retorna o conjunto deslizante do último valor de y em x.

math.sum(source, length)

Devolver valores
lengthA linha K retornasourceResumo

parâmetro

  • source(series int/float) Valor da série a ser executado。
  • length(series int) K número de linhas (longitude).

Veja também
ta.cum for

math.todegrees

De um ângulo em unidades de arco, retorne o ângulo de equivalência aproximada em unidades de medida.

math.todegrees(radians)

Devolver valores
O valor de ângulo é medido em unidades.

parâmetro

  • radians(series int/float) ângulo em arco.

math.toradians

De ângulo em unidades de medida, retorne o ângulo de aproximação equivalente em unidades de arco.

math.toradians(degrees)

Devolver valores
O valor do ângulo em unidades de arco.

parâmetro

  • degrees(series int/float) ângulo medido em unidades.

others

fixnan

Substitua o valor NaN pelo valor não-NaN anterior para a série dada.

fixnan(source)

Devolver valores
Uma série sem intervalos.

parâmetro

  • source (series int/float/bool/color)

Veja também
na nz

nz

Substitua o valor de NaN por zero (ou um número especificado) na série.

nz(source, replacement)
nz(source)

Exemplo

pine
// nz plot(nz(ta.sma(close, 100)))

Devolver valores
sourceO valor, se não fornaSesourceO valor denaEntão, se você usar 1, ele vai voltar para 0 e se você usar 1, ele vai voltar para 1.replacementParâmetros

parâmetro

  • source(series int/float/bool/color) Valor da série a ser executada。
  • replacement(series int/float/bool/color) substitui o valor de todos os thresholds da série de thresholds da fonte de thresholds.

Veja também
na fixnan

na

NaN é o valor de teste.

na(x)

Devolver valores
Se x não for um número válido, então é verdadeiro (x é NaN) ou é falso (false).

Veja também
fixnan nz

int

Converter na ou interromper o valor do float para int ≠

int(x)

Devolver valores
Converte o valor do parâmetro para int.

Veja também
float bool color string

float

Configure na como flutuante.

float(x)

Devolver valores
Converte para o valor do parâmetro float.

Veja também
int bool color string

alert

Alerta de eventos quando chamada durante a linha K em tempo real, e anteriormente criou alertas baseados em eventos da função de alerta como indicador ou estratégia por meio da caixa de diálogo de criação de alertas.

alert(message, freq)

Exemplo

pine
// alert() example ma = ta.sma(close, 14) xUp = ta.crossover(close, ma) if xUp // Trigger the alert the first time a cross occurs during the real-time bar. alert("Price (" + str.tostring(close) + ") crossed over MA (" + str.tostring(ma) + ").", alert.freq_once_per_bar) plot(ma) plotchar(xUp, "xUp", "▲", location.top, size = size.tiny)

parâmetro

  • message(series string) Mensagem enviada quando o alerta é acionado.
  • freq(input string) Frequência de ação。 os valores possíveis são: alert.freq_all (todas as funções chamam um alerta de ação), alert.freq_once_per_bar (a primeira função na linha K chama um alerta de ação), alert.freq_once_per_bar_close (a ação é acionada apenas quando ocorre uma ação na última versão do script da linha K em tempo real, e o alerta é acionado quando ela é desligada).

Nota:
O Centro de Ajuda explica como criar este tipo de alerta.
Ao contrário da alertcondition, a chamada de alert não serve como um mapa adicional.
As chamadas de funções podem ser globais ou locais.
A chamada de função não mostra nada no gráfico.
O parâmetro <unk>freq<unk> afeta apenas a frequência de acionamento em que esta função é chamada.

Veja também
alertcondition

alertcondition

Criação de condições de alerta, disponível na caixa de diálogo Criação de alertas. Observe que a alertcondition não cria alertas, mas apenas fornece mais opções na caixa de diálogo Criação de alertas. Além disso, o efeito alertcondition não é visível no gráfico.

alertcondition(condition, title, message)

Exemplo

pine
// alertcondition alertcondition(close >= open, title='Alert on Green Bar', message='Green Bar!')

parâmetro

  • condition(series bool) A série de valores de bool para o alerta. True significa que o alerta foi acionado e false significa que não foi acionado.
  • title(const string) Título da condição de alerta. Parâmetros opcionais.
  • message(const string) Display de mensagem quando o alerta é acionado.

Nota:
Observe que, em Pine v4, a chamada de condição de alerta gera um gráfico adicional. Todas essas chamadas são levadas em consideração quando calculamos o número de séries de saída de cada script.

Veja também
alert

indicator

Para a compatibilidade.Trading ViewO código de estratégia não precisa ser chamado.

Veja também
strategy

time

A função time retorna o tempo UNIX da linha K atual do intervalo de tempo especificado e do tempo de transação, retornando NaN se o ponto de tempo não estiver no tempo de transação. Nota: FMZ não é suportadosessionParâmetros

time(timeframe, session, timezone)

time(timeframe, session)

time(timeframe)

Exemplo

pine
timeinrange(res, sess) => not na(time(res, sess, "America/New_York")) ? 1 : 0 plot(timeinrange("1", "1300-1400"), color=color.red) // This plots 1.0 at every start of 10 minute bar on a 1 minute chart: newbar(res) => ta.change(time(res)) == 0 ? 0 : 1 plot(newbar("10"))

Ao configurar uma sessão, você pode especificar não apenas a hora e o minuto, mas também o dia da semana.
Se não for especificada uma data, considere que o horário de negociação foi definido como sendo de domingo (1) a sábado (7), ou seja, R\( 1100-2000 é o mesmo que R\) 1100-1200:1234567.
Você pode alterá-lo especificando a data. Por exemplo, para mercadorias que são negociadas 7 dias por semana e 24 horas por dia, o seguinte script não será colorido para os sábados e domingos:

Exemplo

pine
// Time t1 = time(timeframe.period, "0000-0000:23456") bgcolor(t1 ? color.new(color.blue, 90) : na)

Um.sessionOs parâmetros podem conter vários períodos de negociação diferentes, separados por vírgulas. Por exemplo, o seguinte script irá destacar o gráfico de linha K de 10:00 a 11:00 e de 14:00 a 15:00 (apenas dias úteis):

Exemplo

pine
// Time t1 = time(timeframe.period, "1000-1100,1400-1500:23456") bgcolor(t1 ? color.new(color.blue, 90) : na)

Devolver valores
Tempo Unix.

parâmetro

  • timeframe(simple string) Período de tempo。 A string em branco é interpretada como o período de tempo atual do gráfico。
  • session(simple string) Especificação de tempo de transação。 Parâmetros opcionais, usando o tempo de transação de mercadorias de forma padrão。 Strings vazias são interpretadas como o tempo de transação de mercadorias。 FMZ não é suportado。
  • timezone (simple string) sessionO parâmetro fuso horário ◦ só pode ser usado quando o fuso horário de uma sessão é especificado ◦ é opcional ◦ o valor padrão é syminfo.timezone ◦ pode ser especificado com a representação GMT ◦ (por exemplo, o fuso horário GMT-5) ou o nome do banco de dados de fuso horário da IANA ◦ (por exemplo, o fuso horário America/New_York) ◦

Nota:
O tempo UNIX é o número de milissegundos que se passou desde 1 de janeiro de 1970 UTC 00:00:00 .

year

year(time)
year(time, timezone)

Devolver valores
O ano em que o tempo do UNIX é fornecido (zona horária de troca) <unk>.

parâmetro

  • time(series int) Tempo de Unix em milissegundos.
  • timezone(series string) Parâmetros opcionais ◦ fuso horário ◦

Nota:
O tempo UNIX é o número de milissegundos desde 1 de janeiro de 1970 UTC 00:00:00. Por padrão, o fuso horário é siminfo.timezone. Você pode usar o timestamp para verificar os possíveis valores.
Observe que esta função retorna o ano de acordo com o horário de abertura da linha K. Para o horário de negociação durante a noite (por exemplo, o horário de negociação do EURUSD na segunda-feira começa às 17h00 UTC-4 no domingo), o valor pode ser menor que o ano do dia de negociação.

Veja também
year time month dayofmonth dayofweek hour minute second

month

month(time)
month(time, timezone)

Devolver valores
Os meses que fornecem o tempo do UNIX ((zona horária de troca))

parâmetro

  • time(series int) Tempo de Unix em milissegundos.
  • timezone(series string) Parâmetros opcionais ◦ fuso horário ◦

Nota:
O tempo UNIX é o número de milissegundos desde 1 de janeiro de 1970 UTC 00:00:00. Por padrão, o fuso horário é siminfo.timezone. Você pode usar o timestamp para verificar os possíveis valores.
Observe que esta função retorna o mês de acordo com o horário de abertura da linha K. Para o período de negociação noturno (por exemplo, o período de negociação do EURUSD na segunda-feira começa às 17:00 UTC-4 no domingo), o valor pode ser inferior a 1 do mês do dia de negociação.

Veja também
month time year dayofmonth dayofweek hour minute second

hour

hour(time)
hour(time, timezone)

Devolver valores
Hora de fornecimento do tempo UNIX ((fuso horário de troca) }}.

parâmetro

  • time(series int) Tempo de Unix em milissegundos.
  • timezone(series string) Parâmetros opcionais ◦ fuso horário ◦

Nota:
O tempo UNIX é o número de milissegundos desde 1 de janeiro de 1970 UTC 00:00:00. Por padrão, o fuso horário é siminfo.timezone. Você pode usar o timestamp para verificar os possíveis valores.

Veja também
hour time year month dayofmonth dayofweek minute second

minute

minute(time)
minute(time, timezone)

Devolver valores
Minutos fornecidos no tempo UNIX ((zona horária de troca) }}.

parâmetro

  • time(series int) Tempo de Unix em milissegundos.
  • timezone(series string) Parâmetros opcionais ◦ fuso horário ◦

Nota:
O tempo UNIX é o número de milissegundos desde 1 de janeiro de 1970 UTC 00:00:00. Por padrão, o fuso horário é siminfo.timezone. Você pode usar o timestamp para verificar os possíveis valores.

Veja também
minute time year month dayofmonth dayofweek hour second

second

second(time)
second(time, timezone)

Devolver valores
Aprovando o número de segundos do tempo do UNIX ((intercâmbio de fusos horários) }}.

parâmetro

  • time(series int) Tempo de Unix em milissegundos.
  • timezone(series string) Parâmetros opcionais ◦ fuso horário ◦

Nota:
O tempo UNIX é o número de milissegundos desde 1 de janeiro de 1970 UTC 00:00:00. Por padrão, o fuso horário é siminfo.timezone. Você pode usar o timestamp para verificar os possíveis valores.

Veja também
second time year month dayofmonth dayofweek hour minute

weekofyear

weekofyear(time)
weekofyear(time, timezone)

Devolver valores
Aprovando o ciclo de tempo do UNIX ((intercâmbio de fusos horários) }}.

parâmetro

  • time(series int) Tempo de Unix em milissegundos.
  • timezone(series string) Parâmetros opcionais ◦ fuso horário ◦

Nota:
O tempo UNIX é o número de milissegundos desde 1 de janeiro de 1970 UTC 00:00:00. Por padrão, o fuso horário é siminfo.timezone. Você pode usar o timestamp para verificar os possíveis valores.
Observe que a função retorna a semana de acordo com o horário de abertura da linha K. Para o horário de negociação durante a noite (por exemplo, EURUSD, cujo horário de negociação de segunda-feira começa às 17:00 de domingo), o valor pode ser menor do que o horário de negociação do dia.

Veja também
weekofyear time year month dayofmonth dayofweek hour minute second

dayofweek

dayofweek(time)
dayofweek(time, timezone)

Devolver valores
A data da semana que fornece o tempo do UNIX ((zona horária de troca) }}.

parâmetro

  • time(series int) Tempo de Unix em milissegundos.
  • timezone(series string) Parâmetros opcionais ◦ fuso horário ◦

Nota:
Observe que esta função retorna a data de acordo com o horário de abertura da linha K. Para o horário de negociação da noite (por exemplo, o horário de negociação do EURUSD na segunda-feira começa às 17:00 de domingo), o valor pode ser menor do que a data do dia de negociação.
O tempo UNIX é o número de milissegundos desde 1 de janeiro de 1970 UTC 00:00:00. Por padrão, o fuso horário é siminfo.timezone. Você pode usar o timestamp para verificar os possíveis valores.

Veja também
time dayofmonth

dayofmonth

dayofmonth(time)
dayofmonth(time, timezone)

Devolver valores
A data do mês que fornece o tempo do UNIX ((zona horária de intercâmbio) }}.

parâmetro

  • time(series int) Tempo de Unix em milissegundos.
  • timezone(series string) Parâmetros opcionais ◦ fuso horário ◦

Nota:
O tempo UNIX é o número de milissegundos desde 1 de janeiro de 1970 UTC 00:00:00. Por padrão, o fuso horário é siminfo.timezone. Você pode usar o timestamp para verificar os possíveis valores.
Observe que esta função retorna a data de acordo com o horário de abertura da linha K. Para o horário de negociação durante a noite (por exemplo, o horário de negociação do EURUSD na segunda-feira começa às 17:00 UTC-4 no domingo), este valor pode ser menor do que a data do dia de negociação.

Veja também
time dayofweek

timestamp

A função de barra de tempo retorna a data e hora especificadas para o tempo do UNIX.

timestamp(dateString)
timestamp(year, month, day, hour, minute, second)
timestamp(timezone, year, month, day, hour, minute, second)

Exemplo

pine
// timestamp plot(timestamp(2016, 01, 19, 09, 30), linewidth=3, color=color.green) plot(timestamp(syminfo.timezone, 2016, 01, 19, 09, 30), color=color.blue) plot(timestamp(2016, 01, 19, 09, 30), color=color.yellow) plot(timestamp("GMT+6", 2016, 01, 19, 09, 30)) plot(timestamp(2019, 06, 19, 09, 30, 15), color=color.lime) plot(timestamp("GMT+3", 2019, 06, 19, 09, 30, 15), color=color.fuchsia) plot(timestamp("Feb 01 2020 22:10:05")) plot(timestamp("2011-10-10T14:48:00")) plot(timestamp("04 Dec 1995 00:12:00 GMT+5"))

Devolver valores
Tempo Unix.

parâmetro

  • timezone(series string) Fuso horário。 opcional。 o valor padrão é syminfo.timezone。 pode ser especificado com a representação GMT ((por exemplo, <unk>GMT-5<unk>) ou o nome do banco de dados de fuso horário IANA ((por exemplo, <unk>America/New_York<unk>)).
  • year(series int) ano.
  • month(series int) mês.
  • day(series int) Dia
  • hour(series int) (parâmetros opcionais) horas. O valor padrão é 0
  • minute(series int) (parâmetros opcionais) minutos. O valor padrão é 0
  • second(series int) (parâmetros opcionais) Segundo. O valor padrão é 0
  • dateString(const string) Uma sequência de caracteres que contém uma data e uma hora e um fuso horário opcionais. O formato da sequência de caracteres deve ser de acordo com a norma IETF RFC 2822 ou ISO 8601 ((<unk>DD MMM YYYY hh:mm:ss±hhmm<unk> ou<unk>YYYYY-MM-DDThh:mm:ss±hh:mm<unk>, portanto<unk>20 Feb 2020<unk> ou<unk>2020-02-20<unk>) ‬. Se a hora não for fornecida, use<unk>00:00<unk>‬. Se nenhum fuso horário for fornecido, use GMT+0‬.

Nota:
O tempo UNIX é o número de milissegundos que se passou desde 1 de janeiro de 1970 UTC 00:00:00 .

Veja também
time timenow syminfo.timezone

fill

Use a cor fornecida para preencher o fundo entre dois desenhos ou hline.

fill(hline1, hline2, color, title, editable, fillgaps, display)
fill(plot1, plot2, color, title, editable, show_last, fillgaps, display)

Exemplo

pine
h1 = hline(20) h2 = hline(10) fill(h1, h2, color=color.new(color.blue, 90)) p1 = plot(open) p2 = plot(close) fill(p1, p2, color=color.new(color.green, 90))

parâmetro

  • hline1(hline) O primeiro objeto de hline.
  • hline2(hline) O segundo objeto da linha.
  • plot1(plot) O primeiro objeto de desenho. Parâmetros necessários.
  • plot2(plot) O segundo objeto de traçado 。 Parâmetros necessários 。
  • color(series color) A cor do desenho. Você pode usar constantes como 'color = red' ou 'color = #ff001a' e expressões complexas como 'color = close >= open ? green: red'. Parâmetros opcionais.
  • title(const string) criou um título para preencher o objeto.
  • editable(const bool) Se for true, o padrão de preenchimento pode ser editado na caixa de diálogo de formato. O padrão é true.
  • show_last(input int) Defina o número de linhas k que preenchem o gráfico ((de volta para o passado a partir da última linha k) [2].
  • fillgaps(const bool) Controlar o preenchimento contínuo de lacunas, isto é, quando uma das chamadas da plot ((() retorna um valor na. Quando definido como verdadeiro, o preenchimento final continuará a preencher a lacuna.
  • display(plot_display) Controla o local de exibição do preenchimento. Os valores possíveis são: display.none, display.all.

Veja também
plot barcolor bgcolor hline

hline

A linha horizontal é apresentada em um nível de preço fixo dado.

hline(price, title, color, linestyle, linewidth, editable, display)

Exemplo

pine
// input.hline hline(3.14, title='Pi', color=color.blue, linestyle=hline.style_dotted, linewidth=2) // You may fill the background between any two hlines with a fill() function: h1 = hline(20) h2 = hline(10) fill(h1, h2, color=color.new(color.green, 90))

Devolver valores
Objetos hline que podem ser usados em fill ◦

parâmetro

  • price(input int/float) o valor que o objeto irá apresentar.
  • titleTítulo do objeto (const string)
  • color(input color) A cor da linha de renderização. Deve ser uma constante ((não expressivo)). Parâmetros opcionais
  • linestyle(hline_style) Estilo da linha de rendo. Os valores possíveis são: solid, dotted, dotted.
  • linewidth(input int) A largura da linha de renderização. O valor padrão é 1.
  • editable(const bool) Se for true, o estilo hline pode ser editado na caixa de diálogo de formatação. O padrão é true.
  • display(plot_display) A posição de exibição da linha de controle. Os valores possíveis são: display.none, display.all. Default display.all.
  • overlay(const bool) Um parâmetro da extensão da plataforma FMZ para definir a função atual, que é exibida no gráfico principal (set true) ou no gráfico secundário (set false) com o valor por defeito de false. Se não for especificado, o parâmetro é exibido de acordo comstrategyouindicatorEmoverlayConfiguração de parâmetrosstrategyouindicatorSem configuraçãooverlayOs parâmetros são tratados de acordo com os parâmetros padrão.

bgcolor

O fundo da linha K deve ser preenchido com a cor indicada.

bgcolor(color, offset, editable, show_last, title, display, overlay)

Exemplo

pine
// bgcolor example bgcolor(close < open ? color.new(color.red,70) : color.new(color.green, 70))

parâmetro

  • color(series color) A cor do fundo. Você pode usar constantes como <unk>red<unk> ou <unk>#ff001a<unk>, bem como expressões complexas como 'close >= open ? green: red'.
  • offset(series int) Movendo a série de cores para a esquerda ou para a direita em um determinado número de linhas k. O valor padrão é 0.
  • editable(const bool) Se for true, o estilo bgcolor pode ser editado na caixa de diálogo de formato. O padrão é true.
  • show_last(input int) Defina o número de linhas k que preenchem o gráfico ((de volta para o passado a partir da última linha k) [2].
  • title(const string) bgcolor título ◦ Parâmetros selecionáveis ◦
  • display(plot_display) Controla a posição de exibição do bgcolor. Os valores possíveis são: display.none, display.all.
  • overlay(const bool) Um parâmetro da extensão da plataforma FMZ para definir a função atual, que é exibida no gráfico principal (set true) ou no gráfico secundário (set false) com o valor por defeito de false. Se não for especificado, o parâmetro é exibido de acordo comstrategyouindicatorEmoverlayConfiguração de parâmetrosstrategyouindicatorSem configuraçãooverlayOs parâmetros são tratados de acordo com os parâmetros padrão.

Veja também
plot

barcolor

Configure a cor da linha K.

barcolor(color, offset, editable, show_last, title, display)

Exemplo

pine
barcolor(close < open ? color.black : color.white)

parâmetro

  • color(series color) Cores de linha K。 Você pode usar constantes como <unk>red<unk> ou <unk>#ff001a<unk>, bem como expressões complexas como 'close >= open ? green: red‛。 Parâmetros necessários。
  • offset(series int) Movendo a série de cores para a esquerda ou para a direita em um determinado número de linhas k. O valor padrão é 0.
  • editable(const bool) Se for true, o estilo barcolor pode ser editado na caixa de diálogo de formatação. O padrão é true.
  • show_last(input int) Defina o número de linhas k que preenchem o gráfico ((de volta para o passado a partir da última linha k) [2].
  • title(const string) Barcolor title。 opcional para os parâmetros。
  • display(plot_display) Controla a posição de exibição da cor da linha K. Os valores possíveis são: display.none, display.all.

Veja também
bgcolor plot fill

error

A versão compatível com o PINE v4errorFunções eruntime.errorConcordância.

Variações embutidas

order

order.ascending

Determine a ordem de ordenação da matriz de menor a maior.

tipo
sort_order

Veja também
array.new_float array.sort

order.descending

Determine a ordem de ordenação da matriz de maior a menor.

tipo
sort_order

Veja também
array.new_float array.sort

timeframe

timeframe.isdaily

Retorna true se a resolução atual for a resolução diária, e false se for a resolução diária

tipo
simple bool

Veja também
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isweekly timeframe.ismonthly

timeframe.isdwm

Se a resolução atual for diária ou semanal ou mensal, retorne true, caso contrário retorne false.

tipo
simple bool

Veja também
timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.isintraday

Se o ciclo atual for um ciclo de dias (minutos ou segundos), retorna true, caso contrário retorna false。

tipo
simple bool

Veja também
timeframe.isminutes timeframe.isseconds timeframe.isdwm timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.isminutes

Se o ciclo atual for um ciclo de minutos, retorne true, caso contrário retorne false.

tipo
simple bool

Veja também
timeframe.isdwm timeframe.isintraday timeframe.isseconds timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.ismonthly

Se a resolução atual for a resolução mensal, retorne true, caso contrário retorne false.

tipo
simple bool

Veja também
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.isweekly

timeframe.isseconds

Se o ciclo atual for segundos, retorna true, caso contrário retorna false.

tipo
simple bool

Veja também
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.isweekly

Se a resolução atual for a resolução semanal, retorne true, caso contrário retorne false.

tipo
simple bool

Veja também
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.ismonthly

timeframe.multiplier

Os períodos de tempo são multiplicados por números, por exemplo, '60' - 60, 'D' - 1, '5D' - 5, '12M' - 12。

tipo
simple int

Veja também
syminfo.ticker syminfo.tickerid timeframe.period

timeframe.period

Período de tempo. Por exemplo, '60' - 60 minutos, 'D' - dia, 'W' - semana, 'M' - mês, '5D' - 5 dias, '12M' - 1 ano, '3M' - 1 trimestre.

tipo
simple string

Veja também
syminfo.ticker syminfo.tickerid timeframe.multiplier

display

display.none

Uma constante de nomeação, que especifica o local de exibição do desenho. Não exibido em nenhum lugar. Disponível em mensagens de modelo de alerta.

tipo
plot_display

Veja também
plot plotshape plotchar

display.all

Uma constante de nomeação que especifica o local onde o mapa deve ser exibido.

tipo
plot_display

Veja também
plot plotshape plotchar plotarrow plotbar plotcandle

shape

shape.xcross

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.cross

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.triangleup

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.triangledown

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.flag

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.circle

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.arrowup

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.arrowdown

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.labelup

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.labeldown

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.square

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

shape.diamond

Estilo de forma da função plotshape.

tipo
const string

Veja também
plotshape

color

color.aqua

é a constante de nomeação da cor #00BCD4

tipo
const color

color.black

é a constante de nomeação da cor #363A45

tipo
const color

color.blue

é a constante de nomeação da cor #2962ff。

tipo
const color

color.fuchsia

É a constante de nomeação da cor #E040FB.

tipo
const color

color.gray

É a constante de nomeação da cor #787B86.

tipo
const color

color.green

é a constante de nomeação da cor # 4CAF50 <unk>

tipo
const color

color.lime

é a constante de nomeação da cor #00E676

tipo
const color

color.maroon

Constante de nomeação da cor #880E4F.

tipo
const color

color.navy

é a constante de nomeação da cor # 311B92 .

tipo
const color

color.olive

É a constante de nomeação da cor #808000 <unk>.

tipo
const color

color.orange

É a constante de nomeação da cor #FF9800 <unk>.

tipo
const color

color.purple

é a constante de nomeação da cor # 9C27B0 <unk> .

tipo
const color

color.red

É a constante de nomeação da cor #FF5252.

tipo
const color

color.silver

A constante de nomeação da cor #B2B5BE.

tipo
const color

color.teal

color.teal

é a constante de nomeação da cor #00897B.

tipo
const color

color.white

É a constante de nomeação da cor #FFFFFF.

tipo
const color

color.yellow

É a constante de nomeação da cor #FFEB3B.

tipo
const color

plot

plot.style_line

Constantes de nomeação do estilo 'Line', usadas como função de plotstyleParâmetros de um parâmetro.

tipo
plot_style

Veja também
plot plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_linebr

Constantes de nomeação do estilo 'Line With Breaks', usadas como função de plotstyleOs parâmetros dos parâmetros 。 são semelhantes aos do plot.style_line, exceto que os espaços em branco nos dados não são preenchidos 。

tipo
plot_style

Veja também
plot plot.style_line plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_histogram

Constantes de nomeação do estilo 'histogram', usadas na função plotstyleParâmetros de um parâmetro.

tipo
plot_style

Veja também
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_columns

Constantes de nomeação do estilo 'Columns', usadas como constantes de nomeação da função plotstyleParâmetros de um parâmetro.

tipo
plot_style

Veja também
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_circles

plot.style_circles

Constantes de nomeação do estilo 'Circles', usadas como constantes de nomeação da função plotstyleParâmetros de um parâmetro.

tipo
plot_style

Veja também
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns

plot.style_area

Constantes de nomeação do tipo 'Area', usadas como função de plotstyleParâmetros de um parâmetro.

tipo
plot_style

Veja também
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_areabr plot.style_cross plot.style_columns plot.style_circles

plot.style_areabr

Constantes de nomeação do estilo 'Area With Breaks', usadas como função de plotstyleOs parâmetros dos parâmetros 。 são semelhantes aos do plot.style_area, exceto que os espaços em branco nos dados não são preenchidos 。

tipo
plot_style

Veja também
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_columns plot.style_circles

plot.style_cross

Constantes de nomeação do estilo 'Cross', usadas como função de plotstyleParâmetros de um parâmetro.

tipo
plot_style

Veja também
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_stepline

Constantes de nomeação do estilo 'Step Line', usadas como função de plotstyleParâmetros de um parâmetro.

tipo
plot_style

Veja também
plot plot.style_stepline_diamond plot.style_linebr plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_stepline_diamond

Constantes de nomeação do estilo 'Step Line With Diamonds', usadas como função de plotstyleOs parâmetros dos parâmetros 。 são semelhantes aos do plot.style_stepline, mas com a variação de dados também marcada por um ângulo 。

tipo
plot_style

Veja também
plot plot.style_line plot.style_linebr plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

location

location.abovebar

location.abovebar

Plotshape, o valor de localização da função plotchar. A forma é traçada acima da linha da série principal k.

tipo
const string

Veja também
plotshape plotchar location.belowbar location.top location.bottom location.absolute

location.belowbar

Plotshape, o valor de localização da função plotchar. A forma é traçada abaixo da linha da série principal k.

tipo
const string

Veja também
plotshape plotchar location.abovebar location.top location.bottom location.absolute

location.top

Plotshape, o valor de localização da função plotchar. A forma é traçada perto da borda do gráfico superior.

tipo
const string

Veja também
plotshape plotchar location.abovebar location.belowbar location.bottom location.absolute

location.bottom

Plotshape, o valor de localização da função plotchar. A forma é desenhada na parte inferior do gráfico, perto da borda.

tipo
const string

Veja também
plotshape plotchar location.abovebar location.belowbar location.top location.absolute

location.absolute

Plotshape, o valor de localização da função plotchar. A forma é traçada no gráfico, usando o valor do indicador como coordenadas de preço.

tipo
const string

Veja também
plotshape plotchar location.abovebar location.belowbar location.top location.bottom

size

size.auto

size.auto

Plotshape, o valor de tamanho da função plotchar. O tamanho da forma adapta-se automaticamente ao tamanho da linha k.

tipo
const string

Veja também
plotshape plotchar size.tiny size.small size.normal size.large size.huge

size.tiny

Plotshape, o tamanho da função plotchar.

tipo
const string

Veja também
plotshape plotchar size.auto size.small size.normal size.large size.huge

size.small

O tamanho da função plotshape, plotchar.

tipo
const string

Veja também
plotshape plotchar size.auto size.tiny size.normal size.large size.huge

size.normal

Plotshape, o tamanho da função plotchar.

tipo
const string

Veja também
plotshape plotchar size.auto size.tiny size.small size.large size.huge

size.large

Plotshape, o tamanho da função plotchar.

tipo
const string

Veja também
plotshape plotchar size.auto size.tiny size.small size.normal size.huge

size.huge

Plotshape, o tamanho da função plotchar.

tipo
const string

Veja também
plotshape plotchar size.auto size.tiny size.small size.normal size.large

alert

alert.freq_once_per_bar

Constantes de nomeação usadas junto com o parâmetro 'freq' da função alert ().
A primeira chamada de função na linha K desencadeia o alarme.

tipo
const string

Veja também
alert

alert.freq_all

Constantes de nomeação usadas junto com o parâmetro 'freq' da função alert ().
Todas as chamadas de funções desencadeiam um alarme.

tipo
const string

Veja também
alert

alert.freq_once_per_bar_close

Constantes de nomeação usadas junto com o parâmetro 'freq' da função alert ().
Esta função é chamada apenas quando ocorre durante a última repetição de script de uma linha K em tempo real, e dispara um alerta ao ser desligada.

tipo
const string

Veja também
alert

format

format.inherit

é uma constante de nomeação.

tipo
const string

Veja também
format.price format.volume

format.price

é uma constante de nomeação.

tipo
const string

Nota:
Se format for format.price, defina o valor de precisão. Você pode usar o parâmetro de precisão da função indicador para alterar o valor de precisão.

Veja também
format.inherit format.volume

format.volume

é uma constante de nomeação.

tipo
const string

Veja também
format.inherit format.price

syminfo

syminfo.ticker

Código de mercadoria sem prefixo de câmbio, como 'MSFT'。

tipo
simple string

Veja também
syminfo.tickerid timeframe.period timeframe.multiplier

syminfo.tickerid

Código de mercadoria com prefixo de bolsa, por exemplo, <unk>BATS: <unk>MSFT, <unk>NASDAQ: <unk>MSFT.

tipo
simple string

Veja também
syminfo.ticker timeframe.period timeframe.multiplier

syminfo.basecurrency

Moeda de base do produto. Para o código do produto, coloque BTCUSD e retorne BTC.

tipo
simple string

Veja também
syminfo.currency syminfo.ticker

syminfo.currency

A moeda do produto atual. Código de moeda de retorno: <unk> USD <unk>, <unk> EUR <unk> etc.

tipo
simple string

Veja também
syminfo.basecurrency syminfo.ticker

syminfo.type

Os valores possíveis são: stock, futures, index, forex, crypto, fund, dr.

tipo
simple string

Veja também
syminfo.ticker

syminfo.mintick

O valor de medida mínimo para a variedade atual. Parâmetros do modelo no "Pine Language Exchange Classroom" na FMZ, na interface de disco rígido/retornoPrecisão da moeda de precificaçãoPode ser controlado.Precisão da moeda de precificaçãoConfiguração 2 significa que o preço é exato para o segundo lugar de um número menor quando o preço muda em menos de uma unidade de 0.01 ◦ siminfo.mintick é 0.01 ◦

tipo
simple float

Veja também
syminfo.pointvalue

syminfo.pointvalue

Valores pontuais de mercadorias atuais

tipo
simple float

Veja também
syminfo.mintick

syminfo.timezone

Os principais conjuntos de gráficos são os fusos horários de câmbio. Os valores possíveis são vistos no timestamp.

tipo
simple string

Veja também
timestamp

barstate

barstate.islastconfirmedhistory

Se o script for executado na última linha K do conjunto de dados no momento do fechamento do mercado, ou se o script estiver sendo executado na linha K anterior à linha K em tempo real, retorne true se o mercado estiver aberto.

tipo
series bool

Nota:
O código PineScript com esta variável permite diferentes cálculos para o histórico e para o real-time.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew

barstate.isnew

Retorna true se o script está atualmente calculado na nova linha k, e false se não estiver.

tipo
series bool

Nota:
O código PineScript com esta variável permite diferentes cálculos para o histórico e para o real-time.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isconfirmed barstate.islastconfirmedhistory

barstate.isfirst

Retorna true se a linha k atual for a primeira linha k do grupo de linhas k, e false se não for.

tipo
series bool

Nota:
O código PineScript com esta variável permite diferentes cálculos para o histórico e para o real-time.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.islast

Retorna true se a corrente k for a última k de um grupo de k linhas, caso contrário retorna false。

tipo
series bool

Nota:
O código PineScript com esta variável permite diferentes cálculos para o histórico e para o real-time.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
barstate.isfirst barstate.ishistory barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.ishistory

Retorna true se a linha k atual for a linha k histórica, e false caso contrário.

tipo
series bool

Nota:
O código PineScript com esta variável permite diferentes cálculos para o histórico e para o real-time.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
barstate.isfirst barstate.islast barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.isconfirmed

Se o script estiver calculando a última () atualização da linha k atual, retornará true. O próximo script será calculado com base nos dados da nova linha K.

tipo
series bool

Nota:
O código PineScript com esta variável permite diferentes cálculos para o histórico e para o real-time.
Não é recomendado usar barstate.isconfirmed na expressão request.security. O valor da solicitação do request.security é imprevisível.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew barstate.islastconfirmedhistory

barstate.isrealtime

Retorna true se a corrente k for a real k, e false caso contrário.

tipo
series bool

Nota:
O código PineScript com esta variável permite diferentes cálculos para o histórico e para o real-time.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
barstate.isfirst barstate.islast barstate.ishistory barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.time

Não há.

ta

ta.accdist

Índice de acumulação/distribuição

tipo
series float

ta.iii

Índice de intensidade no disco.

tipo
series float

Exemplo

pine
// Intraday Intensity Index plot(ta.iii, color=color.yellow) // the same on pine f_iii() => (2 * close - high - low) / ((high - low) * volume) plot(f_iii())

ta.nvi

Índice de peso negativo.

tipo
series float

Exemplo

pine
// Negative Volume Index plot(ta.nvi, color=color.yellow) // the same on pine f_nvi() => float ta_nvi = 1.0 float prevNvi = (nz(ta_nvi[1], 0.0) == 0.0) ? 1.0: ta_nvi[1] if nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0 ta_nvi := prevNvi else ta_nvi := (volume < nz(volume[1], 0.0)) ? prevNvi + ((close - close[1]) / close[1]) * prevNvi : prevNvi result = ta_nvi plot(f_nvi())

ta.pvi

Índice de massa líquida.

tipo
series float

Exemplo

pine
// Positive Volume Index plot(ta.pvi, color=color.yellow) // the same on pine f_pvi() => float ta_pvi = 1.0 float prevPvi = (nz(ta_pvi[1], 0.0) == 0.0) ? 1.0: ta_pvi[1] if nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0 ta_pvi := prevPvi else ta_pvi := (volume > nz(volume[1], 0.0)) ? prevPvi + ((close - close[1]) / close[1]) * prevPvi : prevPvi result = ta_pvi plot(f_pvi())

ta.obv

Indicador de corrente de energia

tipo
series float

Exemplo

pine
// On Balance Volume plot(ta.obv, color=color.yellow) // the same on pine f_obv() => ta.cum(math.sign(ta.change(close)) * volume) plot(f_obv())

ta.pvt

Indicador de tendência de preços.

tipo
series float

Exemplo

pine
// Price-Volume Trend plot(ta.pvt, color=color.yellow) // the same on pine f_pvt() => ta.cum((ta.change(close) / close[1]) * volume) plot(f_pvt())

ta.wad

William Dorsey, diretor de força aérea.

tipo
series float

Exemplo

pine
// Williams Accumulation/Distribution plot(ta.wad, color=color.yellow) // the same on pine f_wad() => trueHigh = math.max(high, close[1]) trueLow = math.min(low, close[1]) mom = ta.change(close) gain = (mom > 0) ? close - trueLow : (mom < 0) ? close - trueHigh : 0 ta.cum(gain) plot(f_wad())

ta.wvad

Dispersão da variante William.

tipo
series float

Exemplo

pine
// Williams Variable Accumulation/Distribution plot(ta.wvad, color=color.yellow) // the same on pine f_wvad() => (close - open) / (high - low) * volume plot(f_wvad())

math

math.e

É a constante de nomeação do número de Euler. É igual a 2,7182818284590452.

tipo
const float

Veja também
math.phi math.pi math.rphi

math.phi

É a constante nominal da divisão em ouro ≠ 1.6180339887498948.

tipo
const float

Veja também
math.e math.pi math.rphi

math.pi

É a constante de nome de um constante de Achimedes. É igual a 3,1415926535897932.

tipo
const float

Veja também
math.e math.phi math.rphi

math.rphi

É a constante nominal da divisão do ouro. É igual a 0,6180339887498948.

tipo
const float

Veja também
math.e math.pi math.phi

strategy

strategy.equity

Os interesses atuais (strategy.initial_capital + strategy.netprofit + strategy.openprofit)

tipo
series float

Veja também
strategy.netprofit strategy.openprofit strategy.position_size

strategy.position_size

A direção e o tamanho das posições atuais no mercado. Se o valor for > 0, a posição no mercado é maior. Se o valor for < 0, a posição no mercado é menor. O valor absoluto é o número de contratos / ações / mãos / unidades negociadas (o tamanho da posição).

tipo
series float

Veja também
strategy.position_avg_price

strategy.position_avg_price

A posição de mercado atual é o preço médio de entrada. Se a posição de mercado se suavizar, o NaN-<unk> retrocederá.

ilustrar
O preço médio do FMZ PINE Script é o preço que inclui a taxa de processamento. Por exemplo: o preço de encomenda é de 8000, a direção de venda, a quantidade é de 1 mão, o preço médio após a transação não é de 8000, é inferior a 8000 (o custo inclui a taxa de processamento).

tipo
series float

Veja também
strategy.position_size

strategy.long

Multidireção

tipo
strategy_direction

Veja também
strategy.entry strategy.exit

strategy.short

Direção de voo.

tipo
strategy_direction

Veja também
strategy.entry strategy.exit

strategy.closedtrades

Número de transações fechadas durante o intervalo de negociação.

tipo
series int

Veja também
strategy.position_size strategy.opentrades

strategy.opentrades

Número de transações que não foram fechadas ou que continuam sendo mantidas. Se não houver, 0 é exibido.

tipo
series int

Veja também
strategy.position_size

strategy.netprofit

Valor monetário total de todas as transações concluídas.

tipo
series float

Veja também
strategy.openprofit strategy.position_size strategy.grossprofit

strategy.grossprofit

Valor monetário total de todas as transações lucrativas concluídas.

tipo
series float

Veja também
strategy.netprofit

strategy.openprofit

Perdas não realizadas de posições não fechadas.

tipo
series float

Veja também
strategy.netprofit strategy.position_size

strategy.direction.long

A única estratégia é fazer mais.

tipo
const string

Veja também
strategy.risk.allow_entry_in

strategy.direction.short

Estratégias que só funcionam

tipo
const string

Veja também
strategy.risk.allow_entry_in

strategy.direction.all

Permitir estratégias de "fazer mais" e "fazer menos"

tipo
const string

Veja também
strategy.risk.allow_entry_in

dayofweek

dayofweek

A semana da linha k do horário atual do fuso horário de câmbio.

tipo
series int

Nota:
Observe que esta variável retorna o dia de acordo com o horário de abertura da linha K. Para o horário de negociação durante a noite (por exemplo, EURUSD, cujo horário de negociação de segunda-feira começa às 17:00 de domingo), o valor pode ser menor do que o dia do dia de negociação.
Você pode usar as variáveis dayofweek.sunday, dayofweek.monday, dayofweek.tuesday, dayofweek.wednesday, dayofweek.thursday, dayofweek.friday e dayofweek.saturday para comparar.

Veja também
time dayofmonth

dayofweek.sunday

É a constante de nomeação do valor da função dayofweek e do valor da variável dayofweek.

tipo
const int

Veja também
dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.monday

É a constante de nomeação do valor da função dayofweek e do valor da variável dayofweek.

tipo
const int

Veja também
dayofweek.sunday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.tuesday

É a constante de nomeação do valor da função dayofweek e do valor da variável dayofweek.

tipo
const int

Veja também
dayofweek.sunday dayofweek.monday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.wednesday

É a constante de nomeação do valor da função dayofweek e do valor da variável dayofweek.

tipo
const int

Veja também
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.thursday

É a constante de nomeação do valor da função dayofweek e do valor da variável dayofweek.

tipo
const int

Veja também
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.friday dayofweek.saturday

dayofweek.friday

É a constante de nomeação do valor da função dayofweek e do valor da variável dayofweek.

tipo
const int

Veja também
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.saturday

dayofweek.saturday

É a constante de nomeação do valor da função dayofweek e do valor da variável dayofweek.

tipo
const int

Veja também
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday

hline

hline.style_dashed

É a constante de nomeação da função Hline de traçado pontual.

tipo
hline_style

Veja também
hline.style_solid hline.style_dotted

hline.style_dotted

hline.style_dotted

É a constante de nomeação da função Hline.

tipo
hline_style

Veja também
hline.style_solid hline.style_dashed

hline.style_solid

É a constante de nomeação da função Hline de tipo linear-central.

tipo
hline_style

Veja também
hline.style_dotted hline.style_dashed

barmerge

barmerge.gaps_on

Fornecer uma estratégia de fusão de dados solicitada.

tipo
barmerge_gaps

Veja também
request.security barmerge.gaps_off

barmerge.gaps_off

A estratégia para a combinação dos dados solicitados. A combinação dos dados é contínua, e todas as lacunas são preenchidas com os valores existentes mais recentes anteriores.

tipo
barmerge_gaps

Veja também
request.security barmerge.gaps_on

barmerge.lookahead_on

Uma estratégia para a localização dos dados solicitados pela fusão. A barra solicitada é combinada com a barra atual de acordo com o tempo de abertura da linha k. Essa estratégia de fusão pode causar um impacto negativo no histórico de cálculo de dados obtidos da barra futura. Isso não é aceito na estratégia de teste de retrospecção, mas pode ser usado no indicador.

tipo
barmerge_lookahead

Veja também
request.security barmerge.lookahead_off

barmerge.lookahead_off

A estratégia para a localização dos dados solicitados pela fusão. A barra solicitada é combinada com a barra atual de acordo com o tempo de fechamento da linha k. Esta estratégia de fusão proíbe o impacto da história de cálculo de dados obtidos da barra futura.

tipo
barmerge_lookahead

Veja também
request.security barmerge.lookahead_on

others

hl2

é a chave rápida de [o preço mais alto + o preço mais baixo]/2

tipo
series float

Veja também
open high low close volume time hlc3 hlcc4 ohlc4

hlc3

é a chave rápida de [preço máximo + preço mínimo + preço de fechamento]/3

tipo
series float

Veja também
open high low close volume time hl2 hlcc4 ohlc4

hlcc4

É a tecla rápida de [High + Low + Close + Close]/4.

tipo
series float

Veja também
open high low close volume time hl2 hlc3 ohlc4

ohlc4

é a tecla rápida de [preço de abertura + preço máximo + preço mínimo + preço de fechamento]/4

tipo
series float

Veja também
open high low close volume time hl2 hlc3 hlcc4

na

Double.NaNvalor (não numérico) <unk>

tipo
simple na

Exemplo

pine
// na plot(bar_index < 10 ? na : close) // CORRECT plot(close == na ? close[1] : close) // INCORRECT! plot(na(close) ? close[1] : close) // CORRECT

Nota:
Se você quiser verificar se um determinado valor é NaN, use a função embutida na.

Veja também
na

bar_index

O índice de barras de preços atual. Os números começam em zero, com o índice de 0 na primeira linha.

tipo
series int

Exemplo

pine
// bar_index plot(bar_index) plot(bar_index > 5000 ? close : 0)

Nota:
Observe que o bar_index substituiu a n variável na versão 4.
Observe que o índice K é 0 ≠ 0 a partir da primeira linha K histórica.
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
barstate.isfirst barstate.islast barstate.isrealtime

last_bar_index

O índice da última linha K do gráfico. O índice K começa com a primeira linha K zero.

tipo
series int

Exemplo

strategy("Mark Last X Bars For Backtesting", overlay = true, calc_on_every_tick = true) lastBarsFilterInput = input.int(100, "Bars Count:") // Here, we store the 'last_bar_index' value that is known from the beginning of the script's calculation. // The 'last_bar_index' will change when new real-time bars appear, so we declare 'lastbar' with the 'var' keyword. var lastbar = last_bar_index // Check if the current bar_index is 'lastBarsFilterInput' removed from the last bar on the chart, or the chart is traded in real-time. allowedToTrade = (lastbar - bar_index <= lastBarsFilterInput) or barstate.isrealtime bgcolor(allowedToTrade ? color.new(color.green, 80) : na)

Devolver valores
K histórico final de fechamento ou K real de abertura.

Nota:
Por favor, note que o uso desta variável pode resultar em um redesenho do indicador.

Veja também
bar_index last_bar_time barstate.ishistory barstate.isrealtime

time

O tempo atual do formato UNIX kline <unk> é o número de milissegundos desde 1 de janeiro de 1970 00:00:00 UTC <unk>.

timenow

O tempo atual no formato UNIX. É o número de milissegundos desde 01 de janeiro de 1970 00:00:00 UTC.

tipo
series int

Nota:
Por favor, note que o uso desta variável/função pode resultar em um redesenho do indicador.

Veja também
timestamp time dayofmonth dayofweek

tipo
series int

Nota:
Observe que esta variável retornará a coluna de tempo de acordo com o tempo de abertura da linha K. Assim, para o período de negociação da noite (por exemplo, EURUSD, cujo período de segunda-feira começa às 17:00 de domingo), esta variável pode retornar o tempo antes da data de nomeação do dia de negociação. Por exemplo, no EURUSD, a coluna dayofmonth (a coluna de tempo) pode ser menor que a data do dia de negociação 1, pois a linha K da data atual foi realmente aberta no dia anterior.

Veja também
time dayofmonth dayofweek

year

A linha k do ano atual do fuso horário de troca.

tipo
series int

Nota:
Observe que esta variável retorna o ano de acordo com o horário de abertura da linha K. Para o horário de negociação durante a noite (por exemplo, EURUSD, cujo horário de negociação de segunda-feira começa às 17:00 de domingo), o valor pode ser inferior ao ano do dia de negociação.

Veja também
year time month weekofyear dayofmonth dayofweek hour minute second

month

A linha lunar k atual do fuso horário da bolsa.

tipo
series int

Nota:
Observe que esta variável retorna o mês de acordo com o horário de abertura da linha K. Para o horário de negociação durante a noite (por exemplo, EURUSD, cujo horário de negociação de segunda-feira começa às 17:00 de domingo), o valor pode ser inferior a 1 do mês do dia de negociação.

Veja também
month time year weekofyear dayofmonth dayofweek hour minute second

hour

A linha k da hora atual do fuso horário da bolsa.

tipo
series int

Veja também
hour time year month weekofyear dayofmonth dayofweek minute second

minute

A linha k é o minuto atual do fuso horário da bolsa.

tipo
series int

Veja também
minute time year month weekofyear dayofmonth dayofweek hour second

second

A linha de segundos k atual do fuso horário da bolsa.

tipo
series int

Veja também
second time year month weekofyear dayofmonth dayofweek hour minute

open

Preço de abertura atual.

tipo
series float

Nota:
Pode usar o operador de parênteses quadrados[] para acessar o valor anterior, por exemplo: <unk> open[1],open[2]。

Veja também
high low close volume time hl2 hlc3 hlcc4 ohlc4

high

O preço mais alto de todos os dias.

tipo
series float

Nota:
Pode usar o operador de parênteses quadrados[] para acessar o valor anterior, por exemplo: high[1],high[2]。

Veja também
open low close volume time hl2 hlc3 hlcc4 ohlc4

low

Preços atuais mais baixos.

tipo
series float

Nota:
Pode usar o operador de parênteses quadrados[] para acessar valores anteriores, como ≠ low.[1],low[2]。

Veja também
open high close volume time hl2 hlc3 hlcc4 ohlc4

close

O preço de fechamento da linha K atual, ou o preço de transação final da linha K em tempo real que ainda não foi concluída.

tipo
series float

Nota:
Pode usar o operador de parênteses quadrados[] para acessar o valor anterior, por exemplo: <unk> close[1],close[2]。

Veja também
open high low volume time hl2 hlc3 hlcc4 ohlc4

volume

Número de passageiros em linha K.

tipo
series float

Nota:
Pode usar o operador de parênteses quadrados[] para acessar um valor anterior, como por exemplo: ◦ volume[1],volume[2]。

Veja também
open high low close time hl2 hlc3 hlcc4 ohlc4

weekofyear

O número de semanas no intervalo de tempo atual da linha k do fuso horário de troca.

tipo
series int

Nota:
Observe que esta variável retorna a semana de acordo com o horário de abertura da linha K. Para o horário de negociação noturno (por exemplo, EURUSD, cuja negociação de segunda-feira começa às 17:00 de domingo), o valor pode ser inferior ao horário de semana do dia de negociação.

Veja também
weekofyear time year month dayofmonth dayofweek hour minute second

dayofmonth

A data do horário atual da linha k do fuso horário de troca.

tipo
series int

Nota:
Observe que esta variável retorna o dia de acordo com o horário de abertura da linha K. Para o horário de negociação durante a noite (por exemplo, EURUSD, cujo horário de negociação de segunda-feira começa às 17:00 de domingo), o valor pode ser menor do que o dia do dia de negociação.

Veja também
time dayofweek

Related Recommendations
Comment
All comments (24)

    你好,我想用同一账户资金然后开多个实盘交易多品种,有持仓的时候其他实盘无法开仓,这个可以解决吗

    4 months ago

    您好,PINE语言只是单品种、单账户策略,您这个需求只能用Javascript/python/c++ 编写策略。

    4 months ago

    好吧,写了Java scripts和python的效果却不一样。。。。

    4 months ago

    PINE只能单品种、单账户。可以多用几个账户隔离运行。

    4 months ago

    好的,只能这样了谢谢

    4 months ago

    不客气。

    4 months ago

    想要币安u合约多个交易对同时运行怎么搞

    3 years ago

    PINE语言只能做单品种策略,多品种策略最好还是用python , javascript , c++编写设计。

    3 years ago

    请教下,pine能多交易对吗? 也是和JS一样遍历交易对吗??谢谢。

    4 years ago

    您好,暂时PINE语言策略只能做单品种。

    4 years ago

    以后会考虑多品种吗?收盘价每个品种遍历就行

    4 years ago

    这个多品种的架构问题不好解决,因为每个交易所接口不一样,对接口频率限定也不一样,会产生很多问题。

    4 years ago

    感觉最好能和JS混编,JS可以更好的适应各种交易方式。

    4 years ago

    好的,感谢云总提出建议,这边报下这个需求。

    4 years ago

    好的,谢谢梦大。

    4 years ago

    謝謝提供詳細的文檔

    4 years ago

    不客气,感谢您的支持。文档还会继续完善。

    4 years ago

    大佬!这 pine script 怎么在平台上使用 okex 的模拟盘?

    4 years ago

    用不了okx模拟盘。。。。。[捂脸]

    4 years ago

    嗯,是的,OKX比较特殊,他们的模拟环境和实盘环境是一样的地址,只是在其它地方做了区别。所以没办法用切换基地址,去切换到模拟盘。

    4 years ago

    PINE模版类库,参数上可以设置切换交易所基地址。文档开头的:PINE语言交易类库模版参数。

    4 years ago

    这等于是 tradingview平台的策略直接copy到发明者平台就可以使用了吧!

    4 years ago

    是的。

    4 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)