O recurso está a ser carregado... Carregamento...

FMZ PINE Script Doc

Autora:Inventor quantificado - sonho pequeno, Criado: 2022-04-28 16:05:05, Atualizado: 2024-10-12 17:25:27

valor do indicador, quanto mais longa for a seta.

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)

Argumentos

  • series(série int/float) Série de dados a traçar como setas.
  • titleTítulo da parcela.
  • colorup(cor da série) Cor das setas para cima.
  • colordown(cor da série) Cor das setas para baixo.
  • offset(series int) Mudar setas para a esquerda ou para a direita no número de barras.
  • minheight(Input int) Altura mínima possível da seta em pixels.
  • maxheight(Input int) Altura máxima possível da seta em pixels.
  • editable(const bool) Se for verdade, então o estilo de linha de gráficos será editável na caixa de diálogo Format.
  • show_last(input int) Se definido, define o número de setas (da última barra de volta ao passado) para traçar no gráfico.
  • display(plot_display) Controles onde o gráfico é exibido. Os valores possíveis são: display.none, display.all. O padrão é display.all.
  • overlay(const bool) é o argumento de extensão da plataforma FMZ, é usado para definir a função atual a ser exibida na imagem principal (definida como verdadeira) ou sub-imagem (definida como falsa), o valor padrão é falso.overlayArgumento emstrategyouindicator, sestrategyouindicatornão estabelece ooverlayargumentos, será processado de acordo com os argumentos padrão.

Veja também: plot plotshape plotchar barcolor bgcolor

matriz

array.pop

A função remove o último elemento de uma matriz e retorna seu valor.

array.pop(id)

Exemplo

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

RetornoO valor do elemento removido.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.

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

array.shift

A função remove o primeiro elemento de uma matriz e retorna seu valor.

array.shift(id)

Exemplo

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

RetornoO valor do elemento removido.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.

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

array.unshift

A função insere o valor no início da matriz.

array.unshift(id, value)

Exemplo

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

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • value (series <type of the array's elements>) O valor a adicionar ao início 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 em uma matriz.

array.size(id)

Exemplo

// 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))

RetornoO número de elementos na matriz.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.

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

array.slice

A função cria uma fatia de uma matriz existente. Se um objeto da fatia mudar, as mudanças são aplicadas à nova e à matriz original.

array.slice(id, index_from, index_to)

Exemplo

// 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)

RetornoUma cópia superficial de uma fatia de matriz.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • index_from(série int) Índice baseado em zero para iniciar a extracção.
  • index_to(série int) Índice baseado em zero antes do qual terminar a extracção.

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

array.abs

Retorna uma matriz contendo o valor absoluto de cada elemento na matriz original.

array.abs(id)

Argumentos

  • id(int[]/float[]) Um objeto de 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, ou -1 se o valor não for encontrado.

array.binary_search(id, val)

Exemplo

// 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)

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • val(série int/float) O valor a procurar na matriz.

ObservaçõesUma pesquisa binária funciona em matrizes pré-ordenadas em ordem ascendente. Ela começa comparando um elemento no meio da matriz com o valor alvo. Se o elemento coincide com o valor alvo, sua posição na matriz é devolvida. Se o valor do elemento é maior que o valor alvo, a pesquisa continua na metade inferior da matriz. Se o valor do elemento é menor que o valor alvo, a pesquisa continua na metade superior da matriz. Ao fazer isso recursivamente, o algoritmo elimina progressivamente porções cada vez menores da matriz em que o valor alvo não pode estar.

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

array.binary_search_leftmost

A função retorna o índice do valor se for encontrado. Quando o valor não é encontrado, a função retorna o índice do próximo elemento menor à esquerda de onde o valor estaria se estivesse na matriz. A matriz a pesquisar deve ser ordenada em ordem ascendente.

array.binary_search_leftmost(id, val)

Exemplo

// 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)

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • val(série int/float) O valor a procurar na matriz.

ObservaçõesUma pesquisa binária funciona em matrizes pré-ordenadas em ordem ascendente. Ela começa comparando um elemento no meio da matriz com o valor alvo. Se o elemento coincide com o valor alvo, sua posição na matriz é devolvida. Se o valor do elemento é maior que o valor alvo, a pesquisa continua na metade inferior da matriz. Se o valor do elemento é menor que o valor alvo, a pesquisa continua na metade superior da matriz. Ao fazer isso recursivamente, o algoritmo elimina progressivamente porções cada vez menores da matriz em que o valor alvo não pode estar.

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

array.binary_search_most

A função retorna o índice do valor se for encontrado. Quando o valor não é encontrado, a função retorna o índice do elemento à direita de onde o valor estaria se estivesse na matriz. A matriz deve ser ordenada em ordem ascendente.

array.binary_search_rightmost(id, val)

Exemplo

// 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)

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • val(série int/float) O valor a procurar na matriz.

ObservaçõesUma pesquisa binária funciona em matrizes ordenadas em ordem ascendente. Ela começa comparando um elemento no meio da matriz com o valor alvo. Se o elemento coincide com o valor alvo, sua posição na matriz é devolvida. Se o valor do elemento é maior que o valor alvo, a pesquisa continua na metade inferior da matriz. Se o valor do elemento é menor que o valor alvo, a pesquisa continua na metade superior da matriz. Ao fazer isso recursivamente, o algoritmo elimina progressivamente porções cada vez menores da matriz em que o valor alvo não pode estar.

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

array.sort

A função classifica os elementos de uma matriz.

array.sort(id, order)

Exemplo

// 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))

Argumentos

  • id(int[]/float[]/string[]) Um objeto de matriz
  • order(sort_order) A ordem de classificaçã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 índices que, quando usada para indexar a matriz original, acessará seus elementos em sua ordem ordenada.

array.sort_indices(id, order)

Exemplo

// 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)

Argumentos

  • id(int[]/float[]/string[]) Um objeto de matriz
  • order(sort_order) A ordem de classificação: order.ascending ou order.descending. Opcional. O 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 remove todos os elementos de uma matriz.

array.clear(id)

Exemplo

// 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))

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.

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

array.concat

A função é usada para fundir duas matrizes. Ela empurra todos os elementos da segunda matriz para a primeira matriz e retorna a primeira matriz.

array.concat(id1, id2)

Exemplo

// 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))

RetornoA primeira matriz com elementos fundidos da segunda matriz.

Argumentos

  • id1(qualquer tipo de matriz) O primeiro objeto de matriz.
  • id2(qualquer tipo de matriz) O segundo objeto de matriz.

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

array.copy

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

array.copy(id)

Exemplo

// 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)

RetornoUma cópia de uma matriz.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.

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

array.stdev

A função retorna o desvio padrão de um conjunto de elementos.

array.stdev(id, biased)

Exemplo

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

RetornoO desvio padrão dos elementos da matriz.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • biased(série bool) Determina qual estimativa deve ser usada. Opcional.

ObservaçõesSebiasedse for verdade, a função calculará usando uma estimativa tendenciosa de toda a população, se for falsa - estimativa imparcial de uma amostra.

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

array.standardize

A função retorna a matriz de elementos padronizados.

array.standardize(id)

Exemplo

// 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))

RetornoA matriz de elementos padronizados.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.

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

array.variance

A função retorna a variância de um conjunto de elementos.

array.variance(id, biased)

Exemplo

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

RetornoA variância dos elementos da matriz.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • biased(série bool) Determina qual estimativa deve ser usada. Opcional.

ObservaçõesSebiasedse for verdade, a função calculará usando uma estimativa tendenciosa de toda a população, se for falsa - estimativa imparcial de uma amostra.

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

array.covariance

A função retorna a covariância de duas matrizes.

array.covariance(id1, id2, biased)

Exemplo

// 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))

RetornoA covariância de duas matrizes.

Argumentos

  • id1(int[]/float[]) Um objeto de matriz.
  • id2(int[]/float[]) Um objeto de matriz.
  • biased(série bool) Determina qual estimativa deve ser usada. Opcional.

ObservaçõesSebiasedse for verdade, a função calculará usando uma estimativa tendenciosa de toda a população, se for falsa - estimativa imparcial de uma amostra.

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

array.fill

A função define elementos de uma matriz para um único valor. Se nenhum índice for especificado, todos os elementos são definidos. Se apenas um índice inicial (padrão 0) for fornecido, os elementos começando nesse índice são definidos. Se ambos os argumentos do índice forem usados, os elementos do índice inicial até, mas não incluindo, o índice final (padrão na) são definidos.

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

Exemplo

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

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • value (series <type of the array's elements>) Valor para preencher a matriz.
  • index_from(série int) Índice de início, padrão é 0.
  • index_to(series int) End index, default é na. Deve ser um maior do que o índice do último elemento a definir.

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

array.includes

A função retorna verdadeiro se o valor foi encontrado em uma matriz, falso caso contrário.

array.includes(id, value)

Exemplo

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

RetornoVerdadeiro se o valor foi encontrado na matriz, falso caso contrário.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • value (series <type of the array's elements>) O valor a procurar na matriz.

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

array.insert

A função altera o conteúdo de uma matriz adicionando novos elementos no local.

array.insert(id, index, value)

Exemplo

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

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • index(série int) O índice para inserir o valor.
  • value (series <type of the array's elements>) O valor a adicionar à 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 uma nova cadeia de caracteres concatenando todos os elementos de uma matriz, separados pela cadeia de separadores especificada.

array.join(id, separator)

Exemplo

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

Argumentos

  • id(int[]/float[]/string[]) Um objeto de matriz
  • separator(string de série) A cadeia usada para separar cada elemento de matriz.

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

array.lastindexof

A função retorna o índice da última ocorrência do valor, ou -1 se o valor não for encontrado.

array.lastindexof(id, value)

Exemplo

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

RetornoO índice de um elemento.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • value (series <type of the array's elements>) O valor a procurar na matriz.

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

array.max

A função retorna o maior valor, ou o n maior valor em uma determinada matriz.

array.max(id, nth)

Exemplo

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

RetornoO maior ou o n-ésimo maior valor da matriz.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • nth(série int) O n-ésimo maior valor a ser devolvido, onde zero é o maior.

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

array.min

A função retorna o menor valor, ou o n-ésimo menor valor em uma determinada matriz.

array.min(id, nth)

Exemplo

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

RetornoO menor ou o n-ésimo menor valor da matriz.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • nth(série int) O n-ésimo menor valor a ser devolvido, onde zero é o menor.

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

array.median

A função retorna a mediana de um conjunto de elementos.

array.median(id)

Exemplo

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

RetornoA mediana dos elementos da matriz.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.

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

array.mode

A função retorna o modo de um conjunto de elementos. Se houver vários valores com a mesma frequência, retorna o menor valor.

array.mode(id)

Exemplo

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

RetornoO modo dos elementos da matriz.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.

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

array.percentil_linear_interpolação

Retorna o valor para o qual a percentagem especificada dos valores da matriz (percentil) é menor ou igual a ele, utilizando a interpolação linear.

array.percentile_linear_interpolation(id, percentage) 

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • percentage(série int/float) A percentagem de valores que deve ser igual ou inferior ao valor devolvido.

ObservaçõesEm estatística, o percentil é a porcentagem de itens de classificação que aparecem em ou abaixo de uma determinada pontuação.

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

array.percentile_nearest_rank

Retorna o valor para o qual a percentagem especificada dos valores da matriz (percentil) é menor ou igual a ele, utilizando o método de classificação mais próxima.

array.percentile_nearest_rank(id, percentage) 

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • percentage(série int/float) A percentagem de valores que deve ser igual ou inferior ao valor devolvido.

ObservaçõesEm estatística, o percentil é a porcentagem de itens de classificação que aparecem em ou abaixo de uma determinada pontuação.

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

array.percentrank

Retorna a classificação percentil de um valor na matriz.

array.percentrank(id, index) 

Argumentos

  • id(int[]/float[]) Um objeto de matriz.
  • index(série int) O valor para o qual deve ser calculada a sua classificação percentil.

ObservaçõesA classificação percentil é a porcentagem de quantos elementos da 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

A função retorna a diferença entre os valores min e max de uma determinada matriz.

array.range(id) 

Exemplo

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

RetornoA diferença entre os valores mínimos e máximos na matriz.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.

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

array.remove

A função altera o conteúdo de uma matriz removendo o elemento com o índice especificado.

array.remove(id, index)

Exemplo

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

RetornoO valor do elemento removido.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • index(série int) O índice do elemento a remover.

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

array.reverse

A função inverte uma matriz. O primeiro elemento da matriz se torna o último, e o último elemento da matriz se torna o primeiro.

array.reverse(id)

Exemplo

// 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))

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.

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

array.from

A função toma um número variável de argumentos com um dos tipos: int, float, bool, string, label, line, color, box, table, linefill, e retorna uma matriz do tipo correspondente.

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

Exemplo

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

RetornoO valor do elemento de matriz.

Argumentos

  • arg0, arg1, ...(série int/float/bool/color/string/line/linefill) Argumentos de matriz.

array.new

A função cria um novo objeto de matriz de<type> elements.

array.new(size, initial_value)

Exemplo

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

Exemplo

// 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

// 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

// 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)

RetornoO ID de um objeto de matriz que pode ser usado em outras funções de matriz.*().

Argumentos

  • size(series int) Tamanho inicial de uma matriz. Opcional. O padrão é 0.
  • initial_value(série ) Valor inicial de todos os elementos da matriz. Opcional. O padrão é na.

ObservaçõesUm índice de 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

A função cria um novo objeto de matriz de elementos de tipo bool.

array.new_bool(size, initial_value)

Exemplo

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

RetornoO ID de um objeto de matriz que pode ser usado em outras funções de matriz.*().

Argumentos

  • size(series int) Tamanho inicial de uma matriz. Opcional. O padrão é 0.
  • initial_value(série bool) Valor inicial de todos os elementos da matriz. Opcional. O padrão é na.

ObservaçõesO índice da matriz começa em 0.

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

array.new_float

A função cria um novo objeto de matriz de elementos do tipo float.

array.new_float(size, initial_value)

Exemplo

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

RetornoO ID de um objeto de matriz que pode ser usado em outras funções de matriz.*().

Argumentos

  • size(series int) Tamanho inicial de uma matriz. Opcional. O padrão é 0.
  • initial_value(série int/float) Valor inicial de todos os elementos da matriz. Opcional. O padrão é na.

ObservaçõesUm índice de matriz começa em 0.

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

array.new_int

A função cria um novo objeto de matriz de elementos de tipo int.

array.new_int(size, initial_value)

Exemplo

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

RetornoO ID de um objeto de matriz que pode ser usado em outras funções de matriz.*().

Argumentos

  • size(series int) Tamanho inicial de uma matriz. Opcional. O padrão é 0.
  • initial_value(series int) Valor inicial de todos os elementos da matriz. Opcional. O padrão é na.

ObservaçõesUm índice de matriz começa em 0.

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

array.new_string

A função cria um novo objeto de matriz de elementos de tipo string.

array.new_string(size, initial_value)

Exemplo

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

RetornoO ID de um objeto de matriz que pode ser usado em outras funções de matriz.*().

Argumentos

  • size(series int) Tamanho inicial de uma matriz. Opcional. O padrão é 0.
  • initial_value(serie string) Valor inicial de todos os elementos da matriz. Opcional. O padrão é na.

ObservaçõesUm índice de matriz começa em 0.

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

array.get

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

array.get(id, index)

Exemplo

// 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))

RetornoO valor do elemento de matriz.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • index(série int) O índice do elemento cujo valor deve ser devolvido.

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

array.push

A função adiciona um valor a uma matriz.

array.push(id, value)

Exemplo

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

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • value (series <type of the array's elements>) O valor do elemento adicionado ao final da matriz.

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

array.set

A função define o valor do elemento no índice especificado.

array.set(id, index, value) 

Exemplo

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

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • index(série int) Índice do elemento a modificar.
  • value (series <type of the array's elements>) O novo valor a definir.

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

array.sum

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

array.sum(id) 

Exemplo

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

RetornoA soma dos elementos da matriz.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.

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

array.avg

A função retorna a média de um conjunto de elementos.

array.avg(id)

Exemplo

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

RetornoMédia dos elementos da matriz.

Argumentos

  • id(int[]/float[]) Um objeto de matriz.

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

array.indexof

A função retorna o índice da primeira ocorrência do valor, ou -1 se o valor não for encontrado.

array.indexof(id, value)

Exemplo

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

RetornoO índice de um elemento.

Argumentos

  • id(qualquer tipo de matriz) Um objeto de matriz.
  • value (series <type of the array's elements>) O valor a procurar na matriz.

Veja também: array.lastindexof array.get array.lastindexof array.remove array.insert

Estratégia

As funções integradas relacionadas comstrategy, os pontos de stop loss e take profit são definidos como múltiplos de um salto de preço.profitelossO Tribunal de Justiçastrategy.exitfunção representam stop loss e take profit em pontos e o argumentoprofité definido em 10, ou seja, o salto de preço é multiplicado por 10 como o take profit spread, e o salto de preço é a variável embutidasyminfo.mintick.

Estratégia

A função define uma série de propriedades de estratégia. Observe que apenastitle, shorttitle, overlay, pyramiding, default_qty_type, default_qty_valueOutros argumentos podem ser definidos através dos argumentos de interface da estratégia de 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

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)

Argumentos

  • title(const string) título do indicador que seria visto no widget Indicadores/Estratégias.
  • shorttitle(const string) título curto do indicador que seria visto na legenda do gráfico.
  • overlay(const bool) se verdadeiro o indicador será adicionado como uma sobreposição para a série principal. se falso - ele seria adicionado em um painel de gráfico separado.
  • format(const string) tipo de valores do indicador de formatação no eixo de preços. Os valores possíveis são: format.inherit, format.price, format.volume.
  • precision(const int) número de dígitos após o ponto flutuante para os valores do indicador no eixo de preço. Deve ser um inteiro não negativo e não superior a 16. Se omitido, usando a formatação da série pai. Se o formato for format.inherit e este argumento for definido, o formato se torna format.price.
  • scale(scale_type) escala de preços à qual o indicador deve ser ligado. Os valores possíveis são: scale.right, scale.left, scale.none. A escala de valores scale.none só pode ser aplicada em combinação com a configuração overlay=true.
  • pyramiding(const int) O número máximo de entradas permitidas na mesma direção. Se o valor for 0, apenas uma ordem de entrada na mesma direção pode ser aberta e ordens de entrada adicionais são rejeitadas. O valor padrão é 0.
  • calc_on_order_fills(const bool) Cálculo de ordem intrabar adicional de uma vez. Se o argumento for definido como true, então a estratégia é recalculada uma vez intrabar após uma ordem ser preenchida (não apenas ao fechar a barra).
  • calc_on_every_tick(const bool) Cálculos adicionais de estratégia intrabar. Se o argumento for true, então a estratégia calculará em cada tick em tempo real, em vez de barras fechar. O argumento não afeta o cálculo de estratégia em dados históricos. O valor padrão é false.
  • max_bars_back(const int) Número máximo de barras disponíveis para uma estratégia de referência histórica. Este argumento é aplicado a cada variável interna ou de usuário no script se houver uma referência a dados históricos de uma variável no código do script ([] operador é usado). Os tamanhos de buffer variáveis no Pine Script são tipicamente detectados automaticamente. Isso, no entanto, não é possível em certos casos, razão pela qual o argumento permite que um usuário defina manualmente o limite inferior deste valor. NOTA: o uso da função max_bars_back em vez do argumento é ideal porque se aplica a apenas uma variável.
  • backtest_fill_limits_assumption(const int) Suposição de execução de ordens de limite. As ordens de limite são executadas intrabar apenas se o preço de mercado exceder o nível de ordem de limite pelo número especificado de ticks.
  • default_qty_type(const string) Determina qual o valor utilizado para oqtyOs valores possíveis são: strategy.fixed para contratos/ações/lotes,strategy.cashPara os montantes em moeda, ou strategy.percent_of_equity para uma percentagem do capital próprio disponível.
  • default_qty_value(const int/float) A quantidade por defeito para negociar em funções de strategy.entry ou strategy.order quando o seu argumento qty não for definido, em unidades determinadas pelo argumento utilizado com o argumento default_qty_type.
  • currency(const string) Moeda da conta para esta estratégia. Opcional. O padrão é a moeda em que o símbolo no gráfico é negociado. 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) Slippage em ticks a ser adicionado/subtraído do preço de preenchimento do mercado de compra/venda ou ordens de parada.
  • commission_type(const string) Tipo de comissão para uma ordem. Os valores permitidos são: strategy.commission.percent (uma percentagem do volume de caixa da ordem), strategy.commission.cash_per_contract (dinheiro exibido na moeda da conta por contrato), strategy.commission.cash_per_order (dinheiro exibido na moeda da conta por ordem).
  • commission_value(const int/float) Valor da comissão para uma encomenda.
  • process_orders_on_close(const bool) Quando definido paratrueA opção é usada para executar ordens de mercado, mas não para executar ordens de mercado. Se as ordens forem de mercado, o emulador de corretores as executa antes da próxima barra ser aberta.
  • 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 negociações estão abertas, as primeiras negociações devem ser fechadas primeiro. Esta regra se aplica a ações, futuros e forex dos EUA (Regra de Conformidade da NFA 2-43b). ANY significa que as negociações podem ser fechadas em qualquer ordem; isso é permitido no forex não-EUA. O valor padrão é FIFO.
  • max_lines_count(const int) O número de desenhos da última linha exibidos.
  • max_labels_count(const int) O número de desenhos de rótulos exibidos.
  • max_boxes_count(const int) O número de desenhos da última caixa exibida. O valor padrão é 50 e o máximo permitido é 500.
  • margin_long(const int/float) Margem longa é a porcentagem do preço de compra de um título que deve ser coberto por dinheiro ou garantia para posições longas. Deve ser um número não negativo. - Não.margin_short~~ (const int/float) Margem curta é a porcentagem do preço de compra de um título que deve ser coberto por dinheiro ou garantia para posições curtas. Deve ser um número não negativo.
  • explicit_plot_zorder(const bool) Especifica a ordem em que os gráficos, preenchimentos e linhas do indicador são renderizados. Se for verdade, os gráficos serão desenhados com base na ordem em que aparecem no código do indicador, cada gráfico mais novo sendo desenhado acima dos anteriores.false.
  • initial_capital(const int/float) O montante de fundos inicialmente disponível para a negociação da estratégia, na moeda definida emcurrency- Opcional, o padrão é 1000000.
  • risk_free_rate(const int/float) A taxa de retorno sem risco é a variação anual percentual do valor de um investimento com risco mínimo ou nulo, utilizada para calcular os rácios Sharpe e Sortino.

ObservaçõesTodos os guiões de estratégia devem ter uma chamada de estratégia. Código de Pine Script que usa o argumento calc_on_every_tick = true poderia calcular de forma diferente em dados de histórico e em tempo real. Quando você usa tipos de gráfico não-padrão como base para uma estratégia, você precisa perceber que o resultado será diferente. As ordens serão executadas nos preços deste gráfico (por exemplo, para Heikin Ashi, ele tomará os preços de Heikin Ashi (as médias) e não os preços reais do mercado).

Veja também: indicator

strategy.entry

É um comando para entrar em posição de mercado. Se uma ordem com o mesmo ID já estiver pendente, é possível modificar a ordem. Se não houver uma ordem com o ID especificado, uma nova ordem é colocada. Para desativar uma ordem de entrada, o comando strategy.cancel ou strategy.cancel_all deve ser usado. Em comparação com a função strategy.order, a função strategy.entry é afetada pela piramidagem e pode reverter a posição de mercado corretamente. Se os dois argumentos limit e stop forem NaN, o tipo de ordem é ordem de mercado.

strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message) 

Exemplo

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

Argumentos

  • id(serie string) Um argumento necessário. O identificador da ordem. É possível cancelar ou modificar uma ordem referenciando seu identificador.
  • direction(strategy_direction) Um argumento necessário. Direção da posição de mercado: strategy.long é para longo, strategy.short é para curto.
  • qty(série int/float) Um argumento opcional. Número de contratos/acções/lotes/unidades a negociar. O valor por defeito é NaN.
  • limit(série int/float) Um argumento opcional. Preço limite da ordem. Se for especificado, o tipo de ordem é limit, ou stop-limit. NaN deve ser especificado para qualquer outro tipo de ordem.
  • stop(série int/float) Um argumento opcional. Preço de parada da ordem. Se for especificado, o tipo de ordem é stop, ou stop-limit. NaN deve ser especificado para qualquer outro tipo de ordem.
  • oca_name(string de série) Um argumento opcional. Nome do grupo OCA ao qual a ordem pertence. Se a ordem não pertencer a nenhum grupo OCA específico, deve haver uma cadeia vazia.Observe-se que a FMZ não apoia este argumento.~~
  • oca_type(string de entrada) Um argumento opcional. Tipo do grupo OCA. Os valores permitidos são: strategy.oca.none - a ordem não deve pertencer a nenhum grupo OCA específico; strategy.oca.cancel - a ordem deve pertencer a um grupo OCA, onde, assim que uma ordem é preenchida, todas as outras ordens do mesmo grupo são canceladas; strategy.oca.reduce - a ordem deve pertencer a um grupo OCA, onde, se X número de contratos de uma ordem for preenchida, o número de contratos para cada outra ordem do mesmo grupo OCA é diminuído em X.Observe-se que a FMZ não apoia este argumento.
  • commentUm argumento opcional, notas adicionais sobre a ordem.
  • when(série bool) Um argumento opcional. Condição da ordem. A ordem é colocada se a condição for true. Se a condição for false, nada acontece (a ordem colocada anteriormente com o mesmo ID não é cancelada). Valor padrão é true.
  • alert_message(serie string) Um argumento opcional que substitui o marcador de espaço {{strategy.order.alert_message}} quando usado na caixa de diálogo Create Alerts Message campo.

strategy.close

Se houver várias ordens de entrada com o mesmo ID, todas elas são saídas de uma só vez. Se não houver entradas abertas com o ID especificado no momento em que o comando é acionado, o comando não entrará em vigor. O comando usa uma ordem de mercado. Cada entrada é fechada por uma ordem de mercado separada.

strategy.close(id, when, comment, qty, qty_percent, alert_message) 

Exemplo

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)

Argumentos

  • id(serie string) Um argumento necessário. O identificador da ordem. É possível fechar uma ordem referenciando seu identificador.
  • whenUm argumento opcional, condição do comando.
  • qty(série int/float) Um argumento opcional. Número de contratos/ações/lotes/unidades para sair de uma negociação. O valor por defeito é NaN.
  • qty_percent(série int/float) Define a porcentagem (0-100) da posição a fechar. Sua prioridade é menor do que a do argumento qty. Opcional. O padrão é 100.
  • commentUm argumento opcional, notas adicionais sobre a ordem.
  • alert_message(serie string) Um argumento opcional que substitui o marcador de espaço {{strategy.order.alert_message}} quando usado na caixa de diálogo Create Alerts Message campo.

estratégia.fechar_todos

Sair da posição atual do mercado, tornando-o estável.

strategy.close_all(when, comment, alert_message) 

Exemplo

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)

Argumentos

  • whenUm argumento opcional, condição do comando.
  • commentUm argumento opcional, notas adicionais sobre a ordem.
  • alert_message(serie string) Um argumento opcional que substitui o marcador de espaço {{strategy.order.alert_message}} quando usado na caixa de diálogo Create Alerts Message campo.

strategy.exit

É um comando para sair de uma entrada específica ou de uma posição de mercado inteira. Se uma ordem com o mesmo ID já estiver pendente, é possível modificar a ordem. Se uma ordem de entrada não foi preenchida, mas uma ordem de saída for gerada, a ordem de saída esperará até que a ordem de entrada seja preenchida e, em seguida, a ordem de saída é colocada. Para desativar uma ordem de saída, o comando strategy.cancel ou strategy.cancel_all deve ser usado.strategy.exitse for chamado uma vez, ele sai de uma posição apenas uma vez.strategy.exitSe você usar um stop loss e um trailing stop, seu tipo de ordem é stop, então apenas um deles é colocado (o que deve ser preenchido primeiro). Se todos os seguintes argumentos profit, limit, loss, stop, trail_points, trail_offset forem NaN, o comando falhará. Para usar a ordem de mercado para sair, o comando strategy.close ou strategy.close_all deve ser usado.

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

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"

Argumentos

  • id(serie string) Um argumento necessário. O identificador da ordem. É possível cancelar ou modificar uma ordem referenciando seu identificador.
  • from_entry(string de série) Um argumento opcional. O identificador de uma ordem de entrada específica para sair dela. Para sair de todas as entradas, uma string vazia deve ser usada. Os valores padrão são string vazio.
  • qty(série int/float) Um argumento opcional. Número de contratos/ações/lotes/unidades para sair de uma negociação. O valor por defeito é NaN.
  • qty_percent(série int/float) Define a porcentagem de (0-100) da posição a fechar. Sua prioridade é menor do que a do argumento qty. Opcional. O padrão é 100.
  • profit(série int/float) Um argumento opcional. Objetivo de lucro (especificado em ticks). Se for especificado, uma ordem de limite é colocada para sair da posição de mercado quando o valor especificado de lucro (em ticks) é atingido. O valor padrão é NaN.
  • limit(série int/float) Um argumento opcional. Objetivo de lucro (requer um preço específico). Se for especificado, uma ordem de limite é colocada para sair da posição de mercado no preço especificado (ou melhor). A prioridade do argumento limit é maior do que a prioridade do argumento profit (limit é usado em vez de profit, se seu valor não for NaN). O valor padrão é NaN.
  • loss(série int/float) Um argumento opcional. Stop loss (especificado em ticks). Se for especificado, uma ordem stop é colocada para sair da posição de mercado quando o valor especificado de perda (em ticks) é atingido. O valor padrão é NaN.
  • stop(série int/float) Um argumento opcional. Stop loss (requer um preço específico). Se for especificado, uma ordem stop é colocada para sair da posição de mercado no preço especificado (ou pior). A prioridade do argumento stop é maior do que a prioridade do argumento loss (stop é usado em vez de loss, se seu valor não for NaN).

Mais.

Pedidos de ajudaPor que a estratégia de replicação da praça dos pinheiros não funciona?

Inventor quantificado - sonho pequenoMuito bem, vamos ver.

Pedidos de ajudaO Tracker de Tendências Otimizado de Zhang

Inventor quantificado - sonho pequenoOlá, por favor, qual é a estratégia?