En la carga de los recursos... Cargando...

FMZ PINE Doc de guión

El autor:Los inventores cuantifican - sueños pequeños, Creado: 2022-04-28 16:05:05, Actualizado: 2024-10-12 17:25:27

valor del indicador cuanto más larga sea la flecha.

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

Ejemplo

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

Argumentos

  • series(serie int/float) Serie de datos que se trazará en forma de flechas.
  • titleTítulo de la parcela.
  • colorup(color de la serie) Color de las flechas hacia arriba.
  • colordown(color de serie) Color de las flechas hacia abajo.
  • offset(series int) Mueve las flechas a la izquierda o a la derecha en el número dado de barras.
  • minheightLa altura mínima de la flecha en píxeles, por defecto es 5.
  • maxheightLa altura máxima de la flecha en píxeles es 100.
  • editable(const bool) Si es verdadero entonces el estilo de la fila de gráficos será editable en el diálogo de formato.
  • show_last(input int) Si está configurado, define el número de flechas (desde la última barra hasta el pasado) para trazar en el gráfico.
  • display(plot_display) Controles donde se muestra la trama. Los valores posibles son: display.none, display.all. El valor predeterminado es display.all.
  • overlay(const bool) es el argumento de extensión de la plataforma FMZ, se utiliza para establecer la función actual que se mostrará en la imagen principal (establecida en verdadera) o sub-imagen (establecida en falsa), el valor predeterminado es falso.overlayel argumento enstrategyo bienindicator, sistrategyo bienindicatorno establece eloverlayArgumento, se procesará de acuerdo con los argumentos predeterminados.

Véase también plot plotshape plotchar barcolor bgcolor

el conjunto

array.pop

La función elimina el último elemento de una matriz y devuelve su valor.

array.pop(id)

Ejemplo

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

Las devolucionesEl valor del elemento eliminado.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.

Véase también array.new_float array.set array.push array.remove array.insert array.shift

array.shift

La función elimina el primer elemento de una matriz y devuelve su valor.

array.shift(id)

Ejemplo

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

Las devolucionesEl valor del elemento eliminado.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.

Véase también array.unshift array.set array.push array.remove array.includes

array.unshift

La función inserta el valor al principio de la matriz.

array.unshift(id, value)

Ejemplo

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

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • value (series <type of the array's elements>) El valor a añadir al comienzo de la matriz.

Véase también array.shift array.set array.insert array.remove array.indexof

array.size

La función devuelve el número de elementos en una matriz.

array.size(id)

Ejemplo

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

Las devolucionesEl número de elementos en la matriz.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.

Véase también array.new_float array.sum array.slice array.sort

array.slice

La función crea una rebanada de una matriz existente. Si un objeto de la rebanada cambia, los cambios se aplican tanto a la nueva como a la matriz original.

array.slice(id, index_from, index_to)

Ejemplo

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

Las devolucionesUna copia superficial de una rebanada de matriz.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • index_from(serie int) Índice basado en cero para comenzar la extracción.
  • index_to(serie int) índice basado en cero antes de que termine la extracción.

Véase también array.new_float array.get array.sort

array.abs

Devuelve una matriz que contiene el valor absoluto de cada elemento de la matriz original.

array.abs(id)

Argumentos

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

Véase también array.new_float array.insert array.slice array.reverse order.ascending order.descending

- ¿ Qué quieres decir con esto?

La función devuelve el índice del valor, o -1 si no se encuentra el valor.

array.binary_search(id, val)

Ejemplo

// 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[]) Un objeto de matriz.
  • val(serie int/float) El valor a buscar en la matriz.

Las observacionesUna búsqueda binaria funciona en matrices pre-ordenadas en orden ascendente. Comienza comparando un elemento en el medio de la matriz con el valor objetivo. Si el elemento coincide con el valor objetivo, se devuelve su posición en la matriz. Si el valor del elemento es mayor que el valor objetivo, la búsqueda continúa en la mitad inferior de la matriz. Si el valor del elemento es menor que el valor objetivo, la búsqueda continúa en la mitad superior de la matriz. Al hacerlo de manera recursiva, el algoritmo elimina progresivamente porciones cada vez más pequeñas de la matriz en las que el valor objetivo no puede estar.

Véase también array.new_float array.insert array.slice array.reverse order.ascending order.descending

- ¿ Qué quieres decir con esto?

La función devuelve el índice del valor si se encuentra. Cuando el valor no se encuentra, la función devuelve el índice del siguiente elemento más pequeño a la izquierda de donde el valor estaría si estuviera en la matriz. La matriz a buscar debe ordenarse en orden ascendente.

array.binary_search_leftmost(id, val)

Ejemplo

// 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[]) Un objeto de matriz.
  • val(serie int/float) El valor a buscar en la matriz.

Las observacionesUna búsqueda binaria funciona en matrices pre-ordenadas en orden ascendente. Comienza comparando un elemento en el medio de la matriz con el valor objetivo. Si el elemento coincide con el valor objetivo, se devuelve su posición en la matriz. Si el valor del elemento es mayor que el valor objetivo, la búsqueda continúa en la mitad inferior de la matriz. Si el valor del elemento es menor que el valor objetivo, la búsqueda continúa en la mitad superior de la matriz. Al hacerlo de manera recursiva, el algoritmo elimina progresivamente porciones cada vez más pequeñas de la matriz en las que el valor objetivo no puede estar.

Véase también array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search_rightmost (Encuesta_binaria_derecha_más)

La función devuelve el índice del valor si se encuentra. Cuando el valor no se encuentra, la función devuelve el índice del elemento a la derecha de donde el valor estaría si estuviera en la matriz. La matriz debe ordenarse en orden ascendente.

array.binary_search_rightmost(id, val)

Ejemplo

// 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[]) Un objeto de matriz.
  • val(serie int/float) El valor a buscar en la matriz.

Las observacionesUna búsqueda binaria funciona en matrices ordenadas en orden ascendente. Comienza comparando un elemento en el medio de la matriz con el valor objetivo. Si el elemento coincide con el valor objetivo, se devuelve su posición en la matriz. Si el valor del elemento es mayor que el valor objetivo, la búsqueda continúa en la mitad inferior de la matriz. Si el valor del elemento es menor que el valor objetivo, la búsqueda continúa en la mitad superior de la matriz. Al hacerlo de manera recursiva, el algoritmo elimina progresivamente porciones cada vez más pequeñas de la matriz en las que el valor objetivo no puede estar.

Véase también array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.sort

La función ordena los elementos de una matriz.

array.sort(id, order)

Ejemplo

// 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[]) Un objeto de matriz.
  • order(sort_order) El orden de clasificación: orden.ascendente (por defecto) o orden.descendiente.

Véase también array.new_float array.insert array.slice array.reverse order.ascending order.descending

Array.sort_indices

Devuelve una matriz de índices que, cuando se utiliza para indexar la matriz original, accederá a sus elementos en su orden ordenado.

array.sort_indices(id, order)

Ejemplo

// 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[]) Un objeto de matriz.
  • order(sort_order) El orden de clasificación: order.ascending o order.descending. Opcional. El orden por defecto es order.ascending.

Véase también array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.clear

La función elimina todos los elementos de una matriz.

array.clear(id)

Ejemplo

// 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(cualquier tipo de matriz) Un objeto matriz.

Véase también array.new_float array.insert array.push array.remove array.pop

array.concat

La función se utiliza para fusionar dos matrices. Empuja todos los elementos de la segunda matriz a la primera matriz y devuelve la primera matriz.

array.concat(id1, id2)

Ejemplo

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

Las devolucionesLa primera matriz con elementos fusionados de la segunda matriz.

Argumentos

  • id1(cualquier tipo de matriz) El primer objeto de matriz.
  • id2(cualquier tipo de matriz) El segundo objeto de matriz.

Véase también array.new_float array.insert array.slice

array.copy

La función crea una copia de una matriz existente.

array.copy(id)

Ejemplo

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

Las devolucionesUna copia de una matriz.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.

Véase también array.new_float array.get array.slice array.sort

array.stdev

La función devuelve la desviación estándar de un conjunto de elementos.

array.stdev(id, biased)

Ejemplo

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

Las devolucionesLa desviación estándar de los elementos de la matriz.

Argumentos

  • id(int[]/float[]) Un objeto de matriz.
  • biased(serie bool) Determina qué estimación se debe utilizar. Opcional. El valor predeterminado es verdadero.

Las observacionesSi esbiasedsi es verdad, la función calculará usando una estimación sesgada de toda la población, si es falsa - estimación imparcial de una muestra.

Véase también array.new_float array.max array.min array.avg

array.standardize

La función devuelve la matriz de elementos estandarizados.

array.standardize(id)

Ejemplo

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

Las devolucionesLa matriz de elementos estandarizados.

Argumentos

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

Véase también array.max array.min array.mode array.avg array.variance array.stdev

array.variance

La función devuelve la varianza de los elementos de una matriz.

array.variance(id, biased)

Ejemplo

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

Las devolucionesLa varianza de los elementos del conjunto.

Argumentos

  • id(int[]/float[]) Un objeto de matriz.
  • biased(serie bool) Determina qué estimación se debe utilizar. Opcional. El valor predeterminado es verdadero.

Las observacionesSi esbiasedsi es verdad, la función calculará usando una estimación sesgada de toda la población, si es falsa - estimación imparcial de una muestra.

Véase también array.new_float array.stdev array.min array.avg array.covariance

array.covariance

La función devuelve la covarianza de dos matrices.

array.covariance(id1, id2, biased)

Ejemplo

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

Las devolucionesLa covarianza de dos matrices.

Argumentos

  • id1(int[]/float[]) Un objeto de matriz.
  • id2(int[]/float[]) Un objeto de matriz.
  • biased(serie bool) Determina qué estimación se debe utilizar. Opcional. El valor predeterminado es verdadero.

Las observacionesSi esbiasedsi es verdad, la función calculará usando una estimación sesgada de toda la población, si es falsa - estimación imparcial de una muestra.

Véase también array.new_float array.max array.stdev array.avg array.variance

array.fill

La función establece elementos de una matriz a un solo valor. Si no se especifica ningún índice, se establecen todos los elementos. Si solo se proporciona un índice de inicio (default 0), se establecen los elementos que comienzan en ese índice. Si se usan ambos argumentos de índice, se establecen los elementos desde el índice de inicio hasta, pero sin incluir, el índice final (default na).

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

Ejemplo

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

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • value (series <type of the array's elements>) Valor para llenar la matriz.
  • index_from(serie int) índice de inicio, por defecto es 0.
  • index_to(serie int) Índice final, por defecto es na. Debe ser uno mayor que el índice del último elemento a establecer.

Véase también array.new_float array.set array.slice

array.includes

La función devuelve verdadero si el valor se encontró en una matriz, falso de lo contrario.

array.includes(id, value)

Ejemplo

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

Las devolucionesVerdadero si el valor se encontró en la matriz, falso de lo contrario.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • value (series <type of the array's elements>) El valor a buscar en la matriz.

Véase también array.new_float array.indexof array.shift array.remove array.insert

array.insert

La función cambia el contenido de una matriz agregando nuevos elementos en su lugar.

array.insert(id, index, value)

Ejemplo

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

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • index(serie int) El índice en el que se inserta el valor.
  • value (series <type of the array's elements>) El valor a añadir a la matriz.

Véase también array.new_float array.set array.push array.remove array.pop array.unshift

array.join

La función crea y devuelve una nueva cadena concatenando todos los elementos de una matriz, separados por la cadena separadora especificada.

array.join(id, separator)

Ejemplo

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

Argumentos

  • id(int[]/float[]/string[]) Un objeto de matriz.
  • separatorLa cadena utilizada para separar cada elemento de la matriz.

Véase también array.new_float array.set array.insert array.remove array.pop array.unshift

array.lastindexof

La función devuelve el índice de la última aparición del valor, o -1 si no se encuentra el valor.

array.lastindexof(id, value)

Ejemplo

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

Las devolucionesEl índice de un elemento.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • value (series <type of the array's elements>) El valor a buscar en la matriz.

Véase también array.new_float array.set array.push array.remove array.insert

array.max

La función devuelve el mayor valor, o el n ° mayor valor en una matriz dada.

array.max(id, nth)

Ejemplo

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

Las devolucionesEl mayor o el n-ésimo mayor valor de la matriz.

Argumentos

  • id(int[]/float[]) Un objeto de matriz.
  • nth(serie int) El n ° mayor valor a devolver, donde cero es el mayor.

Véase también array.new_float array.min array.sum

array.min

La función devuelve el valor más pequeño, o el n menor valor en una matriz dada.

array.min(id, nth)

Ejemplo

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

Las devolucionesEl valor más pequeño o el n-ésimo más pequeño de la matriz.

Argumentos

  • id(int[]/float[]) Un objeto de matriz.
  • nth(serie int) El n menor valor a devolver, donde el cero es el más pequeño.

Véase también array.new_float array.max array.sum

array.median

La función devuelve la mediana de un conjunto de elementos.

array.median(id)

Ejemplo

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

Las devolucionesLa mediana de los elementos del conjunto.

Argumentos

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

Véase también array.avg array.variance array.min

array.mode

Si hay varios valores con la misma frecuencia, devuelve el valor más pequeño.

array.mode(id)

Ejemplo

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

Las devolucionesEl modo de los elementos del array.

Argumentos

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

Véase también array.new_float array.avg array.variance array.min

Se trata de una serie de datos que se utilizan para determinar el valor de la interpolación.

Devuelve el valor para el cual el porcentaje especificado de los valores de la matriz (percentil) es menor o igual a él, utilizando la interpolación lineal.

array.percentile_linear_interpolation(id, percentage) 

Argumentos

  • id(int[]/float[]) Un objeto de matriz.
  • percentage(serie int/float) El porcentaje de valores que deben ser iguales o inferiores al valor devuelto.

Las observacionesEn estadística, el percentil es el porcentaje de elementos de clasificación que aparecen en o por debajo de una determinada puntuación.

Véase también array.new_float array.insert array.slice array.reverse order.ascending order.descending

Array.percentile_nearest_rank (Rango más cercano)

Devuelve el valor para el cual el porcentaje especificado de los valores de la matriz (percentil) es menor o igual a él, utilizando el método de rango más cercano.

array.percentile_nearest_rank(id, percentage) 

Argumentos

  • id(int[]/float[]) Un objeto de matriz.
  • percentage(serie int/float) El porcentaje de valores que deben ser iguales o inferiores al valor devuelto.

Las observacionesEn estadística, el percentil es el porcentaje de elementos de clasificación que aparecen en o por debajo de una determinada puntuación.

Véase también array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.percentrank

Devuelve el rango percentil de un valor en la matriz.

array.percentrank(id, index) 

Argumentos

  • id(int[]/float[]) Un objeto de matriz.
  • index(serie int) El valor para el que se calcula su rango percentil.

Las observacionesEl rango percentil es el porcentaje de cuántos elementos de la matriz son menores o iguales al valor de referencia.

Véase también array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.range

La función devuelve la diferencia entre los valores mínimos y máximos de una matriz dada.

array.range(id) 

Ejemplo

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

Las devolucionesLa diferencia entre los valores mínimos y máximos en la matriz.

Argumentos

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

Véase también array.new_float array.min array.max array.sum

array.remove

La función cambia el contenido de una matriz eliminando el elemento con el índice especificado.

array.remove(id, index)

Ejemplo

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

Las devolucionesEl valor del elemento eliminado.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • index(serie int) El índice del elemento a eliminar.

Véase también array.new_float array.set array.push array.insert array.pop array.shift

array.reverse

La función invierte una matriz. El primer elemento de la matriz se convierte en el último, y el último elemento de la matriz se convierte en el primero.

array.reverse(id)

Ejemplo

// 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(cualquier tipo de matriz) Un objeto matriz.

Véase también array.new_float array.sort array.push array.set array.avg

array.from

La función toma un número variable de argumentos con uno de los tipos: int, float, bool, cadena, etiqueta, línea, color, caja, tabla, linefill, y devuelve una matriz del tipo correspondiente.

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

Ejemplo

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

Las devolucionesEl valor del elemento de la matriz.

Argumentos

  • arg0, arg1, ...(serie int/float/bool/color/string/line/linefill) Argumentos de la matriz.

array.new

La función crea un nuevo objeto de matriz de<type> elements.

array.new(size, initial_value)

Ejemplo

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

Ejemplo

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

Ejemplo

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

Ejemplo

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

Las devolucionesEl ID de un objeto de matriz que puede ser utilizado en otras funciones de matriz.*().

Argumentos

  • size(series int) Tamaño inicial de una matriz. Opcional. El valor predeterminado es 0.
  • initial_value(serie ) Valor inicial de todos los elementos de la matriz. Opcional. El valor predeterminado es na.

Las observacionesUn índice de matriz comienza en 0. Si desea iniciar una matriz y especificar todos sus elementos al mismo tiempo, entonces use la función array.from.

Véase también array.from array.push array.get array.size array.remove array.shift array.sum

¿ Qué está pasando?

La función crea un nuevo objeto de matriz de elementos de tipo bool.

array.new_bool(size, initial_value)

Ejemplo

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

Las devolucionesEl ID de un objeto de matriz que puede ser utilizado en otras funciones de matriz.*().

Argumentos

  • size(series int) Tamaño inicial de una matriz. Opcional. El valor predeterminado es 0.
  • initial_value(serie bool) Valor inicial de todos los elementos de la matriz. Opcional. El valor predeterminado es na.

Las observacionesEl índice de la matriz comienza en 0.

Véase también array.new_float array.get array.slice array.sort

Array.new_float

La función crea un nuevo objeto de matriz de elementos de tipo float.

array.new_float(size, initial_value)

Ejemplo

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

Las devolucionesEl ID de un objeto de matriz que puede ser utilizado en otras funciones de matriz.*().

Argumentos

  • size(series int) Tamaño inicial de una matriz. Opcional. El valor predeterminado es 0.
  • initial_value(serie int/float) Valor inicial de todos los elementos de la matriz. Opcional. El valor predeterminado es na.

Las observacionesUn índice de matriz comienza en 0.

Véase también array.new_bool array.get array.slice array.sort

En el caso de las aplicaciones

La función crea un nuevo objeto de matriz de elementos de tipo int.

array.new_int(size, initial_value)

Ejemplo

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

Las devolucionesEl ID de un objeto de matriz que puede ser utilizado en otras funciones de matriz.*().

Argumentos

  • size(series int) Tamaño inicial de una matriz. Opcional. El valor predeterminado es 0.
  • initial_value(serie int) Valor inicial de todos los elementos de la matriz. Opcional. El valor predeterminado es na.

Las observacionesUn índice de matriz comienza en 0.

Véase también array.new_float array.get array.slice array.sort

Array.new_string

La función crea un nuevo objeto de matriz de elementos de tipo de cadena.

array.new_string(size, initial_value)

Ejemplo

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

Las devolucionesEl ID de un objeto de matriz que puede ser utilizado en otras funciones de matriz.*().

Argumentos

  • size(series int) Tamaño inicial de una matriz. Opcional. El valor predeterminado es 0.
  • initial_value(serie de cadenas) Valor inicial de todos los elementos de la matriz. Opcional. El valor predeterminado es na.

Las observacionesUn índice de matriz comienza en 0.

Véase también array.new_float array.get array.slice

array.get

La función devuelve el valor del elemento en el índice especificado.

array.get(id, index)

Ejemplo

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

Las devolucionesEl valor del elemento de la matriz.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • index(serie int) El índice del elemento cuyo valor se devuelve.

Véase también array.new_float array.set array.slice array.sort

array.push

La función añade un valor a una matriz.

array.push(id, value)

Ejemplo

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

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • value (series <type of the array's elements>) El valor del elemento añadido al final del conjunto.

Véase también array.new_float array.set array.insert array.remove array.pop array.unshift

array.set

La función establece el valor del elemento en el índice especificado.

array.set(id, index, value) 

Ejemplo

// 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(cualquier tipo de matriz) Un objeto matriz.
  • index(serie int) El índice del elemento a modificar.
  • value (series <type of the array's elements>) El nuevo valor a establecer.

Véase también array.new_float array.get array.slice

array.sum

La función devuelve la suma de los elementos de una matriz.

array.sum(id) 

Ejemplo

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

Las devolucionesLa suma de los elementos del conjunto.

Argumentos

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

Véase también array.new_float array.max array.min

array.avg

La función devuelve la media de los elementos de una matriz.

array.avg(id)

Ejemplo

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

Las devolucionesLa media de los elementos de la matriz.

Argumentos

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

Véase también array.new_float array.max array.min array.stdev

array.indexof

La función devuelve el índice de la primera aparición del valor, o -1 si no se encuentra el valor.

array.indexof(id, value)

Ejemplo

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

Las devolucionesEl índice de un elemento.

Argumentos

  • id(cualquier tipo de matriz) Un objeto matriz.
  • value (series <type of the array's elements>) El valor a buscar en la matriz.

Véase también array.lastindexof array.get array.lastindexof array.remove array.insert

estrategia

En las funciones integradas relacionadas constrategy, los puntos de stop loss y los puntos de take profit se definen como múltiplos de un salto de precio.profitylossLas conclusiones de lastrategy.exitLa función representa stop loss y take profit en puntos y el argumentoprofitse establece en 10, es decir, el salto de precio se multiplica por 10 como el beneficio de tomar el diferencial, y el salto de precio es la variable incorporadasyminfo.mintick.

estrategia

La función establece una serie de propiedades de estrategia. Tenga en cuenta que sólotitle, shorttitle, overlay, pyramiding, default_qty_type, default_qty_valueLos argumentos de interfaz de la estrategia de lenguaje PINE son compatibles con los argumentos de paso.

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) 

Ejemplo

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) el título del indicador que se vería en el widget Indicadores/Estrategias.
  • shorttitle(const string) título corto del indicador que se vería en la leyenda del gráfico.
  • overlay(const bool) si es cierto el indicador se añadirá como una superposición para la serie principal. si es falso - se añadirá en un panel de gráfico separado.
  • format(const string) tipo de valores del indicador de formato en el eje de precios. Los valores posibles son: format.inherit, format.price, format.volume. El valor predeterminado es format.inherit.
  • precision(const int) número de dígitos después del punto flotante para los valores del indicador en el eje de precios. Debe ser un número entero no negativo y no mayor de 16. Si se omite, utilizando el formato de la serie principal. Si el formato es format.inherit y se establece este argumento, entonces el formato se convierte en format.price.
  • scale(scale_type) escala de precios a la que debe adjuntarse el indicador. Los valores posibles son: scale.right, scale.left, scale.none. El valor scale.none solo se puede aplicar en combinación con el ajuste overlay=true.
  • pyramiding(const int) El número máximo de entradas permitidas en la misma dirección. Si el valor es 0, solo se puede abrir una orden de entrada en la misma dirección y se rechazan órdenes de entrada adicionales. El valor predeterminado es 0.
  • calc_on_order_fills(const bool) Cálculo de orden intrabar adicional de una vez. Si el argumento está establecido en true, entonces la estrategia se recalcula una vez intrabar después de que se llena una orden (no solo al cierre de la barra). El valor predeterminado es false.
  • calc_on_every_tick(const bool) Cálculos adicionales de estrategia intrabar. Si el argumento es true, entonces la estrategia calculará en cada tick en tiempo real, en lugar de en barras cierra. El argumento no afecta el cálculo de estrategia en datos históricos. El valor predeterminado es false.
  • max_bars_back(const int) Número máximo de barras disponibles para una estrategia de referencia histórica. Este argumento se aplica a cada variable incorporada o de usuario en el script si hay una referencia a datos históricos de una variable en el código del script (se utiliza el operador []). Los tamaños de búfer variable en el Pine Script se detectan típicamente automáticamente. Sin embargo, esto no es posible en ciertos casos, por lo que el argumento permite al usuario establecer manualmente el límite inferior de este valor. NOTA: el uso de la función max_bars_back en lugar del argumento es óptimo porque se aplica a una sola variable.
  • backtest_fill_limits_assumption(const int) suposición de ejecución de órdenes de límite. Las órdenes de límite se ejecutan intrabar solo si el precio de mercado excede el nivel de la orden de límite por el número especificado de ticks.
  • default_qty_type(const string) Determina cuál es el valor utilizado para elqtyLos valores posibles son: strategy.fixed para contratos/acciones/lotes,strategy.cashpara los importes en moneda, o strategy.percent_of_equity para un porcentaje del capital disponible.
  • default_qty_value(const int/float) La cantidad predeterminada para operar en las funciones de strategy.entry o strategy.order cuando su argumento qty no está definido, en unidades determinadas por el argumento utilizado con el argumento default_qty_type.
  • currency(const string) Moneda de cuenta para esta estrategia. Opcional. El valor predeterminado es la moneda en la que se negocia el símbolo en el gráfico. Los valores posibles son: 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) Deslizamiento en ticks para añadir/ restar del precio de llenado del mercado de compra/venta o órdenes de parada. Si mintick=0.01 y deslizamiento=5, el monto del deslizamiento será 5*0.01=0.05.
  • commission_type(const string) Tipo de comisión para una orden. Los valores permitidos son: strategy.commission.percent (porcentaje del volumen de efectivo de la orden), strategy.commission.cash_per_contract (dinero mostrado en la moneda de la cuenta por contrato), strategy.commission.cash_per_order (dinero mostrado en la moneda de la cuenta por orden).
  • commission_value(const int/float) Valor de la comisión para una orden. Dependiendo del tipo seleccionado (commission_type) incluye porcentaje o dinero.
  • process_orders_on_close(const bool) Cuando se establece entrue, genera un intento adicional de ejecutar órdenes después de que una barra se cierra y se completen los cálculos de estrategia. Si las órdenes son órdenes de mercado, el emulador de corredor las ejecuta antes de que se abra la siguiente barra. Si las órdenes están condicionadas al precio, solo se llenarán si se cumplen las condiciones del precio. Esta opción es útil si desea cerrar posiciones en la barra actual. El valor predeterminado es false.
  • close_entries_rule(const string) Determina el orden en que se cierran las órdenes. Los valores permitidos son: FIFO o ANY. FIFO (First-In, First-Out) significa que cuando se abren varias operaciones, las primeras operaciones deben cerrarse primero. Esta regla se aplica a las acciones, futuros y divisas estadounidenses (Regla de cumplimiento de la NFA 2-43b). ANY significa que las operaciones pueden cerrarse en cualquier orden; esto está permitido en divisas no estadounidenses. El valor predeterminado es FIFO.
  • max_lines_count(const int) El número de dibujos de última línea que se muestran. El valor predeterminado es 50 y el máximo permitido es 500.
  • max_labels_count(const int) El número de últimos dibujos de etiquetas mostrados. El valor predeterminado es 50 y el máximo permitido es 500.
  • max_boxes_count(const int) El número de últimos dibujos de casilla que se muestran. El valor predeterminado es 50 y el máximo permitido es 500.
  • margin_long(const int/float) Margen largo es el porcentaje del precio de compra de un valor que debe ser cubierto por efectivo o garantía para posiciones largas. Debe ser un número no negativo. Opcional. El valor predeterminado es 100. - ¿Qué quieres decir?margin_short~~ (const int/float) Margen corto es el porcentaje del precio de compra de un valor que debe ser cubierto por efectivo o garantía para posiciones cortas. Debe ser un número no negativo. Opcional. El valor predeterminado es 100.
  • explicit_plot_zorder(const bool) Especifica el orden en el que se representan las gráficas, los rellenos y las líneas del indicador. Si es cierto, las gráficas se dibujarán en función del orden en que aparecen en el código del indicador, cada gráfica más nueva se dibujará por encima de las anteriores. Esto solo se aplica a las funciones de gráfica*(), relleno y línea. Opcional.false.
  • initial_capital(const int/float) La cantidad de fondos inicialmente disponible para la estrategia de negociación, en la moneda definida encurrency- Opcional. El valor predeterminado es 1000000.
  • risk_free_rate(const int/float) La tasa de rendimiento libre de riesgo es el porcentaje anual de cambio en el valor de una inversión con riesgo mínimo o cero, utilizado para calcular los ratios Sharpe y Sortino.

Las observacionesCada guión de estrategia debe tener una llamada de estrategia. El código Pine Script que utiliza el argumento calc_on_every_tick = true podría calcular de manera diferente en el historial y los datos en tiempo real. Cuando se utilizan tipos de gráfico no estándar como base para la estrategia, es necesario darse cuenta de que el resultado será diferente. Las órdenes se ejecutarán a los precios de este gráfico (por ejemplo, para Heikin Ashi se tomarán los precios de Heikin Ashi (los promedio) no los precios reales del mercado). Por lo tanto, le recomendamos encarecidamente que use el tipo de gráfico estándar para las estrategias.

Véase también indicator

strategy.entry

Es un comando para ingresar a una posición de mercado. Si una orden con el mismo ID ya está pendiente, es posible modificar la orden. Si no hay una orden con el ID especificado, se coloca una nueva orden. Para desactivar una orden de entrada, se debe usar el comando strategy.cancel o strategy.cancel_all. En comparación con la función strategy.order, la función strategy.entry se ve afectada por la pirámide y puede revertir la posición de mercado correctamente. Si los argumentos limit y stop son NaN, el tipo de orden es orden de mercado.

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

Ejemplo

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 de cadenas) Un argumento requerido. El identificador del pedido. Es posible cancelar o modificar un pedido haciendo referencia a su identificador.
  • direction(strategy_direction) Un argumento requerido. Dirección de posición de mercado: strategy.long es para largo, strategy.short es para corto.
  • qty(serie int/float) Un argumento opcional. Número de contratos/acciones/lotes/unidades a negociar. El valor predeterminado es NaN.
  • limit(series int/float) Un argumento opcional. Precio límite de la orden. Si se especifica, el tipo de orden es limit, o stop-limit. NaN debe especificarse para cualquier otro tipo de orden.
  • stop(series int/float) Un argumento opcional. Precio de parada de la orden. Si se especifica, el tipo de orden es stop, o stop-limit. NaN debe especificarse para cualquier otro tipo de orden.
  • oca_name(serie de cadenas) Un argumento opcional. Nombre del grupo OCA al que pertenece el orden. Si el orden no debe pertenecer a ningún grupo OCA en particular, debe haber una cadena vacía.Tenga en cuenta que FMZ no apoya este argumento.~~
  • oca_type(correa de entrada) Un argumento opcional. Tipo del grupo OCA. Los valores permitidos son: strategy.oca.none - la orden no debe pertenecer a ningún grupo OCA en particular; strategy.oca.cancel - la orden debe pertenecer a un grupo OCA, donde tan pronto como se cumpla una orden, todas las demás órdenes del mismo grupo se cancelarán; strategy.oca.reduce - la orden debe pertenecer a un grupo OCA, donde si se cumple X número de contratos de una orden, el número de contratos para cada otra orden del mismo grupo OCA se disminuye en X.Tenga en cuenta que FMZ no apoya este argumento.
  • commentUn argumento opcional. Notas adicionales sobre el orden.
  • when(series bool) Un argumento opcional. Condición del orden. El orden se coloca si la condición es true. Si la condición es false, no sucede nada (el orden colocado previamente con el mismo ID no se cancela).
  • alert_message(serie de cadenas) Un argumento opcional que reemplaza el marcador de posición {{strategy.order.alert_message}} cuando se utiliza en el cuadro de diálogo Create Alert Message.

strategy.close

Es un comando para salir de la entrada con el ID especificado. Si hubo varias órdenes de entrada con el mismo ID, todas ellas se salen a la vez. Si no hay entradas abiertas con el ID especificado en el momento en que se activa el comando, el comando no entrará en vigencia. El comando utiliza un pedido de mercado. Cada entrada se cierra con un pedido de mercado separado.

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

Ejemplo

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 de cadenas) Un argumento requerido. El identificador del pedido. Es posible cerrar un pedido haciendo referencia a su identificador.
  • whenUn argumento opcional, condición del comando.
  • qty(series int/float) Un argumento opcional. Número de contratos/acciones/lotes/unidades con los que salir de una operación. El valor predeterminado es NaN.
  • qty_percent(series int/float) Define el porcentaje (0-100) de la posición a cerrar. Su prioridad es menor que la del argumento qty. Opcional. El valor predeterminado es 100.
  • commentUn argumento opcional. Notas adicionales sobre el orden.
  • alert_message(serie de cadenas) Un argumento opcional que reemplaza el marcador de posición {{strategy.order.alert_message}} cuando se utiliza en el cuadro de diálogo Create Alert Message.

estrategia.cerrar_todo

Salga de la posición actual del mercado, haciéndolo plano.

strategy.close_all(when, comment, alert_message) 

Ejemplo

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

  • whenUn argumento opcional, condición del comando.
  • commentUn argumento opcional. Notas adicionales sobre el orden.
  • alert_message(serie de cadenas) Un argumento opcional que reemplaza el marcador de posición {{strategy.order.alert_message}} cuando se utiliza en el cuadro de diálogo Create Alert Message.

strategy.exit

Es un comando para salir de una entrada específica, o de una posición de mercado entera. Si una orden con el mismo ID ya está pendiente, es posible modificar la orden. Si una orden de entrada no se llenó, pero se genera una orden de salida, la orden de salida esperará hasta que se llene la orden de entrada y luego se coloca la orden de salida.strategy.exitSi se llama una vez, sale de una posición sólo una vez.strategy.exitSi se utiliza un stop loss y un trailing stop, su tipo de orden es stop, por lo que solo se coloca uno de ellos (el que se supone que se debe llenar primero). Si todos los siguientes argumentos profit, limit, loss, stop, trail_points, trail_offset son NaN, el comando fallará. Para usar la orden de mercado para salir, se debe usar el comando strategy.close o strategy.close_all.

strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, when, alert_message) 

Ejemplo

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 de cadenas) Un argumento requerido. El identificador del pedido. Es posible cancelar o modificar un pedido haciendo referencia a su identificador.
  • from_entry(serie de cadenas) Un argumento opcional. El identificador de una orden de entrada específica para salir de ella. Para salir de todas las entradas se debe utilizar una cadena vacía. Los valores predeterminados son cadena vacía.
  • qty(series int/float) Un argumento opcional. Número de contratos/acciones/lotes/unidades con los que salir de una operación. El valor predeterminado es NaN.
  • qty_percent(series int/float) Define el porcentaje de (0-100) de la posición a cerrar. Su prioridad es menor que la del argumento qty. Opcional. El valor predeterminado es 100.
  • profit(series int/float) Un argumento opcional. Objetivo de ganancia (especificado en ticks). Si se especifica, se coloca una orden límite para salir de la posición de mercado cuando se alcanza el monto especificado de ganancia (en ticks). El valor predeterminado es NaN.
  • limit(series int/float) Un argumento opcional. Objetivo de ganancia (requiere un precio específico). Si se especifica, se coloca una orden de límite para salir de la posición de mercado al precio especificado (o mejor). La prioridad del argumento limit es mayor que la prioridad del argumento profit (limit se usa en lugar de profit, si su valor no es NaN). El valor predeterminado es NaN.
  • loss(series int/float) Un argumento opcional. Stop loss (especificado en ticks). Si está especificado, se coloca una orden de stop para salir de la posición de mercado cuando se alcanza el monto especificado de pérdida (en ticks). El valor predeterminado es NaN.
  • stop(series int/float) Un argumento opcional. Stop loss (requiere un precio específico). Si se especifica, se coloca una orden de stop para salir de la posición de mercado al precio especificado (o peor). La prioridad del argumento stop es mayor que la prioridad del argumento loss (stop se usa en lugar de loss, si su valor no es NaN).

Más.

El mendigo¿Por qué las estrategias de la Plaza de Replicación de la estrategia de Pine no pueden ser reales?

Los inventores cuantifican - sueños pequeñosBien, vamos a ver qué pasa.

El mendigoEl rastreador de tendencias optimizado de Zhang

Los inventores cuantifican - sueños pequeñosHola, ¿cuál es la estrategia en concreto?