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.title
Tí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.overlay
Argumento emstrategy
ouindicator
, sestrategy
ouindicator
não estabelece ooverlay
argumentos, será processado de acordo com os argumentos padrão.Veja também:
plot
plotshape
plotchar
barcolor
bgcolor
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
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
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
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
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
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
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
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
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
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 matrizorder
(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
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 matrizorder
(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
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
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
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
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çõesSebiased
se 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
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
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çõesSebiased
se 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
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çõesSebiased
se 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
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
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
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
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 matrizseparator
(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
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
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
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
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
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
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
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
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
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
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
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
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.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 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
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 é ObservaçõesO índice da matriz começa em 0.
Veja também:
array.new_float
array.get
array.slice
array.sort
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 é ObservaçõesUm índice de matriz começa em 0.
Veja também:
array.new_bool
array.get
array.slice
array.sort
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 é ObservaçõesUm índice de matriz começa em 0.
Veja também:
array.new_float
array.get
array.slice
array.sort
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 é ObservaçõesUm índice de matriz começa em 0.
Veja também:
array.new_float
array.get
array.slice
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
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
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
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
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
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
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.profit
eloss
O Tribunal de Justiçastrategy.exit
funçã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
.
A função define uma série de propriedades de estratégia.
Observe que apenastitle
, shorttitle
, overlay
, pyramiding
, default_qty_type
, default_qty_value
Outros 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
precision
scale
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 calc_on_every_tick
max_bars_back
backtest_fill_limits_assumption
default_qty_type
(const string) Determina qual o valor utilizado para oqty
Os 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 currency
slippage
commission_type
commission_value
process_orders_on_close
true
A 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
max_lines_count
max_labels_count
max_boxes_count
margin_long
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
false
.initial_capital
currency
- Opcional, o padrão é 1000000.risk_free_rate
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
É 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
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: qty
(série int/float) Um argumento opcional. Número de contratos/acções/lotes/unidades a negociar. O valor por defeito é limit
(série int/float) Um argumento opcional. Preço limite da ordem. Se for especificado, o tipo de ordem é stop
(série int/float) Um argumento opcional. Preço de parada da ordem. Se for especificado, o tipo de ordem é oca_name
oca_type
comment
Um 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 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 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.when
Um 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 é qty_percent
(série int/float) Define a porcentagem (0-100) da posição a fechar. Sua prioridade é menor do que a do argumento comment
Um 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 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
when
Um argumento opcional, condição do comando.comment
Um 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 É 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 é
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 é 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 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 é 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 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 é 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 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?