je länger der Pfeil gezogen wird, desto höher der Indikatorwert.
plotarrow(series, title, colorup, colordown, offset, minheight, maxheight, editable, show_last, display)
Beispiel
codiff = close - open
plotarrow(codiff, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40), overlay=true)
Argumente
series
(Serie int/float) Datenreihe, die als Pfeile dargestellt werden soll.title
Titel des Grundstücks.colorup
(Serienfarbe) Farbe der Pfeile nach oben.colordown
(Serienfarbe) Farbe der Pfeile nach unten.offset
(series int) Verschieben der Pfeile nach links oder nach rechts auf die angegebene Anzahl von Balken.minheight
(Eingabe-Int) Mindestmögliche Pfeilhöhe in Pixel.maxheight
(Input int) Maximale mögliche Pfeilhöhe in Pixeln.editable
(const bool) Wenn wahr, dann ist der Plotarrow-Stil im Format-Dialog bearbeitbar.show_last
(input int) Wenn eingestellt, definiert die Anzahl der Pfeile (vom letzten Balken zurück in die Vergangenheit), die auf dem Diagramm gezeichnet werden sollen.display
(plot_display) Steuerelemente, bei denen das Plot angezeigt wird. Mögliche Werte sind: display.none, display.all. Standard ist display.all.overlay
(const bool) ist das Erweiterungsargument der FMZ-Plattform, es wird verwendet, um die aktuelle Funktion, die auf dem Hauptbild (auf wahr gesetzt) oder Unterbild (auf falsch gesetzt) angezeigt werden soll, festzulegen, der Standardwert ist falsch.overlay
Argumentation instrategy
oderindicator
, wennstrategy
oderindicator
nicht dieoverlay
Das wird nach den Standardargumenten verarbeitet.Siehe auch
plot
plotshape
plotchar
barcolor
bgcolor
Die Funktion entfernt das letzte Element aus einem Array und gibt seinen Wert zurück.
array.pop(id)
Beispiel
// array.pop example
a = array.new_float(5,high)
removedEl = array.pop(a)
plot(array.size(a))
plot(removedEl)
RückkehrDer Wert des entfernten Elements.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.Siehe auch
array.new_float
array.set
array.push
array.remove
array.insert
array.shift
Die Funktion entfernt das erste Element eines Arrays und gibt seinen Wert zurück.
array.shift(id)
Beispiel
// array.shift example
a = array.new_float(5,high)
removedEl = array.shift(a)
plot(array.size(a))
plot(removedEl)
RückkehrDer Wert des entfernten Elements.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.Siehe auch
array.unshift
array.set
array.push
array.remove
array.includes
Die Funktion fügt den Wert zu Beginn des Arrays ein.
array.unshift(id, value)
Beispiel
// array.unshift example
a = array.new_float(5, 0)
array.unshift(a, open)
plot(array.get(a, 0))
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.value
(series <type of the array's elements>
) Der Wert, der am Anfang des Arrays hinzugefügt werden soll.Siehe auch
array.shift
array.set
array.insert
array.remove
array.indexof
Die Funktion gibt die Anzahl der Elemente in einem Array zurück.
array.size(id)
Beispiel
// 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))
RückkehrAnzahl der Elemente im Array.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.Siehe auch
array.new_float
array.sum
array.slice
array.sort
Die Funktion erstellt einen Slice aus einem vorhandenen Array. Wenn sich ein Objekt aus dem Slice ändert, werden die Änderungen sowohl auf das neue als auch auf das ursprüngliche Array angewendet.
array.slice(id, index_from, index_to)
Beispiel
// 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)
RückkehrEine flache Kopie eines Arrays.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.index_from
(series int) Null-basierter Index, bei dem die Extraktion beginnen soll.index_to
(series int) Null-basierter Index, vor dem die Extraktion beendet wird.Siehe auch
array.new_float
array.get
array.sort
Gibt ein Array zurück, das den absoluten Wert jedes Elements im ursprünglichen Array enthält.
array.abs(id)
Argumente
id
(int[]/float[]) Ein Arrayobjekt.Siehe auch
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Die Funktion gibt den Index des Wertes zurück, oder -1 wenn der Wert nicht gefunden wird.
array.binary_search(id, val)
Beispiel
// 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)
Argumente
id
(int[]/float[]) Ein Arrayobjekt.val
(serie int/float) Der Wert, nach dem im Array gesucht wird.AnmerkungenEine binäre Suche funktioniert in aufsteigender Reihenfolge. Sie beginnt mit dem Vergleich eines Elements in der Mitte des Arrays mit dem Zielwert. Wenn das Element mit dem Zielwert übereinstimmt, wird seine Position im Array zurückgegeben. Wenn der Wert des Elements größer als der Zielwert ist, wird die Suche in der unteren Hälfte des Arrays fortgesetzt. Wenn der Wert des Elements kleiner als der Zielwert ist, wird die Suche in der oberen Hälfte des Arrays fortgesetzt.
Siehe auch
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Die Funktion gibt den Index des Wertes zurück, wenn er gefunden wird. Wenn der Wert nicht gefunden wird, gibt die Funktion den Index des nächstkleinsten Elements links von dem zurück, wo der Wert liegen würde, wenn er im Array wäre. Das zu suchende Array muss in aufsteigender Reihenfolge sortiert werden.
array.binary_search_leftmost(id, val)
Beispiel
// 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)
Argumente
id
(int[]/float[]) Ein Arrayobjekt.val
(serie int/float) Der Wert, nach dem im Array gesucht wird.AnmerkungenEine binäre Suche funktioniert in aufsteigender Reihenfolge. Sie beginnt mit dem Vergleich eines Elements in der Mitte des Arrays mit dem Zielwert. Wenn das Element mit dem Zielwert übereinstimmt, wird seine Position im Array zurückgegeben. Wenn der Wert des Elements größer als der Zielwert ist, wird die Suche in der unteren Hälfte des Arrays fortgesetzt. Wenn der Wert des Elements kleiner als der Zielwert ist, wird die Suche in der oberen Hälfte des Arrays fortgesetzt.
Siehe auch
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Die Funktion gibt den Index des Wertes zurück, wenn er gefunden wird. Wenn der Wert nicht gefunden wird, gibt die Funktion den Index des Elements rechts von dem zurück, wo der Wert liegen würde, wenn er im Array wäre. Das Array muss in steigender Reihenfolge sortiert werden.
array.binary_search_rightmost(id, val)
Beispiel
// 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)
Argumente
id
(int[]/float[]) Ein Arrayobjekt.val
(serie int/float) Der Wert, nach dem im Array gesucht wird.AnmerkungenEine binäre Suche funktioniert auf sortierten Arrays in aufsteigender Reihenfolge. Sie beginnt mit dem Vergleich eines Elements in der Mitte des Arrays mit dem Zielwert. Wenn das Element mit dem Zielwert übereinstimmt, wird seine Position im Array zurückgegeben. Wenn der Wert des Elements größer als der Zielwert ist, wird die Suche in der unteren Hälfte des Arrays fortgesetzt. Wenn der Wert des Elements kleiner als der Zielwert ist, wird die Suche in der oberen Hälfte des Arrays fortgesetzt.
Siehe auch
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Die Funktion sortiert die Elemente eines Arrays.
array.sort(id, order)
Beispiel
// 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))
Argumente
id
(int[]/float[]/string[]) Ein Arrayobjekt.order
(sort_order) Die Sortierfolge: order.ascending (Standard) oder order.descending.Siehe auch
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Gibt ein Array von Indizes zurück, das, wenn es zum Indexieren des ursprünglichen Arrays verwendet wird, in ihrer sortierten Reihenfolge auf seine Elemente zugreift.
array.sort_indices(id, order)
Beispiel
// 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)
Argumente
id
(int[]/float[]/string[]) Ein Arrayobjekt.order
(sort_order) Die Sortierfolge: order.ascending oder order.descending. Optional. Standard ist order.ascending.Siehe auch
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Die Funktion entfernt alle Elemente aus einem Array.
array.clear(id)
Beispiel
// 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))
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.Siehe auch
array.new_float
array.insert
array.push
array.remove
array.pop
Die Funktion wird verwendet, um zwei Arrays zu verschmelzen. Sie schiebt alle Elemente des zweiten Arrays in das erste Array und gibt das erste Array zurück.
array.concat(id1, id2)
Beispiel
// 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))
RückkehrDas erste Array mit zusammengefügten Elementen aus dem zweiten Array.
Argumente
id1
(Jeder Array-Typ) Das erste Array-Objekt.id2
(Jeder Array-Typ) Das zweite Array-Objekt.Siehe auch
array.new_float
array.insert
array.slice
Die Funktion erstellt eine Kopie eines vorhandenen Arrays.
array.copy(id)
Beispiel
// 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)
RückkehrEine Kopie eines Arrays.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.Siehe auch
array.new_float
array.get
array.slice
array.sort
Die Funktion gibt die Standardabweichung eines Arrays zurück.
array.stdev(id, biased)
Beispiel
// array.stdev example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.stdev(a))
RückkehrDie Standardabweichung der Elemente des Arrays.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.biased
(Serien bool) Bestimmt, welche Schätzung verwendet werden soll.AnmerkungenWennbiased
ist wahr, wird die Funktion mit einer voreingenommenen Schätzung der gesamten Population berechnet, wenn falsch - eine unvoreingenommene Schätzung einer Stichprobe.
Siehe auch
array.new_float
array.max
array.min
array.avg
Die Funktion gibt das Array standardisierter Elemente zurück.
array.standardize(id)
Beispiel
// 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))
RückkehrDie Reihe der standardisierten Elemente.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.Siehe auch
array.max
array.min
array.mode
array.avg
array.variance
array.stdev
Die Funktion gibt die Varianz eines Arrays zurück.
array.variance(id, biased)
Beispiel
// array.variance example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.variance(a))
RückkehrDie Varianz der Elemente des Arrays.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.biased
(Serien bool) Bestimmt, welche Schätzung verwendet werden soll.AnmerkungenWennbiased
ist wahr, wird die Funktion mit einer voreingenommenen Schätzung der gesamten Population berechnet, wenn falsch - eine unvoreingenommene Schätzung einer Stichprobe.
Siehe auch
array.new_float
array.stdev
array.min
array.avg
array.covariance
Die Funktion gibt die Kovarianz von zwei Arrays zurück.
array.covariance(id1, id2, biased)
Beispiel
// 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))
RückkehrDie Kovarianz von zwei Arrays.
Argumente
id1
(int[]/float[]) Ein Arrayobjekt.id2
(int[]/float[]) Ein Arrayobjekt.biased
(Serien bool) Bestimmt, welche Schätzung verwendet werden soll.AnmerkungenWennbiased
ist wahr, wird die Funktion mit einer voreingenommenen Schätzung der gesamten Population berechnet, wenn falsch - eine unvoreingenommene Schätzung einer Stichprobe.
Siehe auch
array.new_float
array.max
array.stdev
array.avg
array.variance
Die Funktion setzt Elemente eines Arrays auf einen einzigen Wert. Wenn kein Index angegeben wird, werden alle Elemente gesetzt. Wenn nur ein Startindex (Standard 0) bereitgestellt wird, werden die Elemente gesetzt, die von diesem Index anfangen. Wenn beide Indexargumente verwendet werden, werden die Elemente vom Startindex bis zum Endindex (Standard na) gesetzt.
array.fill(id, value, index_from, index_to)
Beispiel
// array.fill example
a = array.new_float(10)
array.fill(a, close)
plot(array.sum(a))
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.value
(series <type of the array's elements>
) Wert, mit dem das Array ausgefüllt werden soll.index_from
Startindex, Standard ist 0.index_to
(series int) Endindex, Standard ist na. muss um einen größer sein als der Index des zuletzt eingestellten Elements.Siehe auch
array.new_float
array.set
array.slice
Die Funktion gibt true zurück, wenn der Wert in einem Array gefunden wurde, andernfalls false.
array.includes(id, value)
Beispiel
// array.includes example
a = array.new_float(5,high)
p = close
if array.includes(a, high)
p := open
plot(p)
RückkehrRichtig, wenn der Wert im Array gefunden wurde, falsch andernfalls.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.value
(series <type of the array's elements>
) Der Wert, der im Array gesucht werden soll.Siehe auch
array.new_float
array.indexof
array.shift
array.remove
array.insert
Die Funktion ändert den Inhalt eines Arrays, indem sie neue Elemente hinzufügt.
array.insert(id, index, value)
Beispiel
// array.insert example
a = array.new_float(5, close)
array.insert(a, 0, open)
plot(array.get(a, 5))
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.index
(Serie int) Der Index, an dem der Wert eingefügt werden soll.value
(series <type of the array's elements>
) Der Wert, der dem Array hinzugefügt werden soll.Siehe auch
array.new_float
array.set
array.push
array.remove
array.pop
array.unshift
Die Funktion erstellt und gibt eine neue Zeichenfolge zurück, indem sie alle Elemente eines Arrays, die durch die angegebene Trennzeichenfolge getrennt sind, miteinander verknüpft.
array.join(id, separator)
Beispiel
// array.join example
a = array.new_float(5, 5)
runtime.log(array.join(a, ","))
Argumente
id
(int[]/float[]/string[]) Ein Arrayobjekt.separator
(Serie-String) Die Zeichenfolge, mit der jedes Array-Element getrennt wird.Siehe auch
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
Die Funktion gibt den Index des letzten Auftretens des Werts zurück oder -1 wenn der Wert nicht gefunden wurde.
array.lastindexof(id, value)
Beispiel
// array.lastindexof example
a = array.new_float(5,high)
index = array.lastindexof(a, high)
plot(index)
RückkehrDer Index eines Elements.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.value
(series <type of the array's elements>
) Der Wert, der im Array gesucht werden soll.Siehe auch
array.new_float
array.set
array.push
array.remove
array.insert
Die Funktion gibt den größten Wert oder den n-ten größten Wert in einem gegebenen Array zurück.
array.max(id, nth)
Beispiel
// array.max
a = array.from(5, -2, 0, 9, 1)
secondHighest = array.max(a, 2) // 1
plot(secondHighest)
RückkehrDer größte oder der nstgrößte Wert im Array.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.nth
(serie int) Der n-te größte Wert, der zurückgegeben wird, wobei Null der größte ist.Siehe auch
array.new_float
array.min
array.sum
Die Funktion gibt den kleinsten Wert oder den n-ten kleinsten Wert in einem gegebenen Array zurück.
array.min(id, nth)
Beispiel
// array.min
a = array.from(5, -2, 0, 9, 1)
secondLowest = array.min(a, 1) // 0
plot(secondLowest)
RückkehrDer kleinste oder n-t-kleinste Wert im Array.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.nth
(serie int) Der n-te kleinste Wert, der zurückgegeben wird, wobei Null der kleinste ist.Siehe auch
array.new_float
array.max
array.sum
Die Funktion gibt den Median eines Arrays zurück.
array.median(id)
Beispiel
// array.median example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.median(a))
RückkehrDie Mediane der Elemente des Arrays.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.Siehe auch
array.avg
array.variance
array.min
Die Funktion gibt den Modus eines Arrays zurück. Wenn mehrere Werte mit der gleichen Frequenz vorhanden sind, gibt sie den kleinsten Wert zurück.
array.mode(id)
Beispiel
// array.mode example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.mode(a))
RückkehrDer Modus der Elemente des Arrays.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.Siehe auch
array.new_float
array.avg
array.variance
array.min
Gibt den Wert zurück, für den der angegebene Prozentsatz der Array-Werte (Perzentil) kleiner oder gleich ist, indem lineare Interpolation verwendet wird.
array.percentile_linear_interpolation(id, percentage)
Argumente
id
(int[]/float[]) Ein Arrayobjekt.percentage
(Serie int/float) Der Prozentsatz der Werte, der dem zurückgegebenen Wert gleich oder kleiner sein muss.AnmerkungenIn der Statistik ist der Perzentil der Prozentsatz der Ranglisten, die bei oder unter einer bestimmten Punktzahl erscheinen.
Siehe auch
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Gibt den Wert zurück, für den der angegebene Prozentsatz der Array-Werte (Perzentil) mit der nächstgelegenen Rangmethode kleiner oder gleich ist.
array.percentile_nearest_rank(id, percentage)
Argumente
id
(int[]/float[]) Ein Arrayobjekt.percentage
(Serie int/float) Der Prozentsatz der Werte, der dem zurückgegebenen Wert gleich oder kleiner sein muss.AnmerkungenIn der Statistik ist der Perzentil der Prozentsatz der Ranglisten, die bei oder unter einer bestimmten Punktzahl erscheinen.
Siehe auch
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Gibt die Perzentilstufe eines Wertes im Array zurück.
array.percentrank(id, index)
Argumente
id
(int[]/float[]) Ein Arrayobjekt.index
(Serie int) Der Wert, für den die Perzentilstufe berechnet wird.AnmerkungenPerzentilrang ist der Prozentsatz, wie viele Elemente im Array kleiner oder gleich dem Referenzwert sind.
Siehe auch
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Die Funktion gibt die Differenz zwischen den Min- und Max-Werten eines gegebenen Arrays zurück.
array.range(id)
Beispiel
// array.range example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.range(a))
RückkehrDer Unterschied zwischen den Min- und Max-Werten im Array.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.Siehe auch
array.new_float
array.min
array.max
array.sum
Die Funktion ändert den Inhalt eines Arrays, indem sie das Element mit dem angegebenen Index entfernt.
array.remove(id, index)
Beispiel
// array.remove example
a = array.new_float(5,high)
removedEl = array.remove(a, 0)
plot(array.size(a))
plot(removedEl)
RückkehrDer Wert des entfernten Elements.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.index
(Serie int) Der Index des zu entfernenden Elements.Siehe auch
array.new_float
array.set
array.push
array.insert
array.pop
array.shift
Die Funktion kehrt ein Array um. Das erste Array-Element wird zum letzten und das letzte Array-Element zum ersten.
array.reverse(id)
Beispiel
// 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))
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.Siehe auch
array.new_float
array.sort
array.push
array.set
array.avg
Die Funktion nimmt eine variable Anzahl von Argumenten mit einem der Typen: int, float, bool, string, label, line, color, box, table, linefill und gibt ein Array des entsprechenden Typs zurück.
array.from(arg0, arg1, ...)
Beispiel
// array.from_example
arr = array.from("Hello", "World!") // arr (string[]) will contain 2 elements: {Hello}, {World!}.
plot(close)
RückkehrDer Wert des Array-Elements.
Argumente
arg0, arg1, ...
(Serie int/float/bool/color/string/line/linefill) Array-Argumente.Die Funktion erstellt ein neues Array-Objekt von<type>
elements.
array.new(size, initial_value)
Beispiel
// array.new<string> example
a = array.new<string>(1, "Hello, World!")
runtime.log(array.get(a, 0))
Beispiel
// 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))
Beispiel
// 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")
Beispiel
// 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)
RückkehrDie ID eines Array-Objekts, das in anderen Array.*(-Funktionen verwendet werden kann.
Argumente
size
(serie int) Anfangsgröße eines Arrays. Optional.initial_value
(Serie AnmerkungenEin Array-Index beginnt bei 0. Wenn Sie ein Array initialisieren und alle Elemente gleichzeitig angeben möchten, verwenden Sie die Funktion array.from.
Siehe auch
array.from
array.push
array.get
array.size
array.remove
array.shift
array.sum
Die Funktion erzeugt ein neues Arrayobjekt von Boolelementen.
array.new_bool(size, initial_value)
Beispiel
// array.new_bool example
length = 5
a = array.new_bool(length, close > open)
plot(array.get(a, 0) ? close : open)
RückkehrDie ID eines Array-Objekts, das in anderen Array.*(-Funktionen verwendet werden kann.
Argumente
size
(serie int) Anfangsgröße eines Arrays. Optional.initial_value
(Serie bool) Anfangswert aller Array-Elemente. Optional. Der Standardwert ist AnmerkungenDer Array-Index beginnt bei 0.
Siehe auch
array.new_float
array.get
array.slice
array.sort
Die Funktion erstellt ein neues Arrayobjekt von Elementen des Float-Typs.
array.new_float(size, initial_value)
Beispiel
// array.new_float example
length = 5
a = array.new_float(length, close)
plot(array.sum(a) / length)
RückkehrDie ID eines Array-Objekts, das in anderen Array.*(-Funktionen verwendet werden kann.
Argumente
size
(serie int) Anfangsgröße eines Arrays. Optional.initial_value
(series int/float) Anfangswert aller Array-Elemente. Optional. Standard ist AnmerkungenEin Array-Index beginnt bei 0.
Siehe auch
array.new_bool
array.get
array.slice
array.sort
Die Funktion erstellt ein neues Arrayobjekt mit Elementen des Typs int.
array.new_int(size, initial_value)
Beispiel
// array.new_int example
length = 5
a = array.new_int(length, int(close))
plot(array.sum(a) / length)
RückkehrDie ID eines Array-Objekts, das in anderen Array.*(-Funktionen verwendet werden kann.
Argumente
size
(serie int) Anfangsgröße eines Arrays. Optional.initial_value
(series int) Anfangswert aller Array-Elemente. Optional.AnmerkungenEin Array-Index beginnt bei 0.
Siehe auch
array.new_float
array.get
array.slice
array.sort
Die Funktion erstellt ein neues Arrayobjekt aus String-Elementen.
array.new_string(size, initial_value)
Beispiel
// array.new_string example
length = 5
a = array.new_string(length, "text")
runtime.log(array.get(a, 0))
RückkehrDie ID eines Array-Objekts, das in anderen Array.*(-Funktionen verwendet werden kann.
Argumente
size
(serie int) Anfangsgröße eines Arrays. Optional.initial_value
(Serienstring) Anfangswert aller Array-Elemente. Optional. Der Standardwert ist AnmerkungenEin Array-Index beginnt bei 0.
Siehe auch
array.new_float
array.get
array.slice
Die Funktion gibt den Wert des Elements am angegebenen Index zurück.
array.get(id, index)
Beispiel
// 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))
RückkehrDer Wert des Array-Elements.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.index
(series int) Der Index des Elements, dessen Wert zurückgegeben werden soll.Siehe auch
array.new_float
array.set
array.slice
array.sort
Die Funktion fügt einem Array einen Wert hinzu.
array.push(id, value)
Beispiel
// array.push example
a = array.new_float(5, 0)
array.push(a, open)
plot(array.get(a, 5))
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.value
(series <type of the array's elements>
) Der Wert des zum Ende des Arrays hinzugefügten Elements.Siehe auch
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
Die Funktion legt den Wert des Elements am angegebenen Index fest.
array.set(id, index, value)
Beispiel
// array.set example
a = array.new_float(10)
for i = 0 to 9
array.set(a, i, close[i])
plot(array.sum(a) / 10)
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.index
(serie int) Der Index des zu verändernden Elements.value
(series <type of the array's elements>
) Der neue festzulegende Wert.Siehe auch
array.new_float
array.get
array.slice
Die Funktion gibt die Summe der Elemente eines Arrays zurück.
array.sum(id)
Beispiel
// array.sum example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.sum(a))
RückkehrDie Summe der Elemente des Arrays.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.Siehe auch
array.new_float
array.max
array.min
Die Funktion gibt den Mittelwert eines Arrays zurück.
array.avg(id)
Beispiel
// array.avg example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.avg(a))
RückkehrMittel der Elemente des Arrays.
Argumente
id
(int[]/float[]) Ein Arrayobjekt.Siehe auch
array.new_float
array.max
array.min
array.stdev
Die Funktion gibt den Index des ersten Auftretens des Werts zurück oder -1 wenn der Wert nicht gefunden wurde.
array.indexof(id, value)
Beispiel
// array.indexof example
a = array.new_float(5,high)
index = array.indexof(a, high)
plot(index)
RückkehrDer Index eines Elements.
Argumente
id
(Jeder Array-Typ) Ein Array-Objekt.value
(series <type of the array's elements>
) Der Wert, der im Array gesucht werden soll.Siehe auch
array.lastindexof
array.get
array.lastindexof
array.remove
array.insert
In den eingebauten Funktionen im Zusammenhang mitstrategy
, werden die Stop-Loss-Punkte und die Take-Profit-Punkte als Multiplikatoren eines Preissprunges definiert.profit
undloss
Argumente derstrategy.exit
Funktion repräsentieren Stop-Loss und Gewinn in Punkten und das Argumentprofit
ist auf 10, das heißt, der Preis Sprung ist multipliziert mit 10 als die Take-Profit-Spread, und der Preis Sprung ist die integrierte Variablesyminfo.mintick
.
Die Funktion legt eine Reihe von Strategie-Eigenschaften fest.
Beachten Sie, dass nurtitle
, shorttitle
, overlay
, pyramiding
, default_qty_type
, default_qty_value
andere Argumente können über die Schnittstellenargumente der PINE-Sprachstrategie gesetzt werden.
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)
Beispiel
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)
Argumente
title
(const string) Indikatortitel, der im Widget Indikatoren/Strategien angezeigt wird.shorttitle
(const string) Indikator kurzer Titel, der in der Diagrammlegende angezeigt wird.overlay
(const bool) wenn wahr wird der Indikator als Überlagerung für die Hauptreihe hinzugefügt. Wenn falsch - wird er in einem separaten Diagrammbereich hinzugefügt.format
precision
scale
pyramiding
(const int) Die maximale Anzahl der in derselben Richtung zulässigen Einträge. Wenn der Wert 0 ist, kann nur ein Eintrittsbefehl in derselben Richtung geöffnet werden und weitere Eintrittsbefehle werden abgelehnt. Der Standardwert ist 0.calc_on_order_fills
(const bool) Zusätzliche einmalige Berechnung der Intrabar-Order. Wenn das Argument auf calc_on_every_tick
max_bars_back
backtest_fill_limits_assumption
default_qty_type
(const string) Bestimmt, welcher Wert für dieqty
Argument repräsentiert in den Funktionen strategy.entry oder strategy.order. Mögliche Werte sind: strategy.fixed für Verträge/Aktien/Lotten,strategy.cashfür Währungsbeträge oder strategy.percent_of_equity für einen Prozentsatz des verfügbaren Eigenkapitals.default_qty_value
(const int/float) Die Standardgröße für den Handel in der Strategie.Eintrag oder Strategie.Order Funktionen, wenn ihr currency
slippage
commission_type
commission_value
process_orders_on_close
true
, erzeugt einen zusätzlichen Versuch, Bestellungen auszuführen, nachdem eine Bar geschlossen ist und die Strategieberechnungen abgeschlossen sind. Wenn es sich bei den Bestellungen um Marktbestellungen handelt, führt der Broker-Emulator sie aus, bevor die nächste Bar geöffnet wird. Wenn die Bestellungen vom Preis abhängen, werden sie nur ausgeführt, wenn die Preisbedingungen erfüllt sind. Diese Option ist nützlich, wenn Sie Positionen auf der aktuellen Bar schließen möchten. Der Standardwert ist close_entries_rule
max_lines_count
max_labels_count
max_boxes_count
margin_long
margin_short
~~ (const int/float) Margin short ist der Prozentsatz des Kaufpreises eines Wertpapiers, der durch Bargeld oder Sicherheiten für Short-Positionen gedeckt werden muss.explicit_plot_zorder
false
.initial_capital
currency
- Optional. Der Standardwert ist 1000000.risk_free_rate
AnmerkungenJedes Strategie-Skript muss einen Strategie-Aufruf haben. Pine Script-Code, der das Argument calc_on_every_tick = true verwendet, könnte unterschiedlich auf Historie- und Echtzeitdaten berechnen. Bei der Verwendung von nicht standardisierten Chart-Typen als Grundlage für die Strategie müssen Sie erkennen, dass das Ergebnis unterschiedlich sein wird. Die Aufträge werden zu den Preisen dieses Chartes ausgeführt (z.B. für Heikin Ashi werden Heikin Ashi-Preise (die durchschnittlichen) und nicht die realen Marktpreise verwendet). Daher empfehlen wir Ihnen dringend, den Standard-Chart-Typ für Strategien zu verwenden.
Siehe auch
indicator
Es handelt sich um einen Befehl zur Eingabe einer Marktposition. Wenn eine Bestellung mit derselben ID bereits aussteht, kann die Bestellung geändert werden. Wenn keine Bestellung mit der angegebenen ID vorliegt, wird eine neue Bestellung platziert. Um eine Eingabe zu deaktivieren, sollte der Befehl strategy.cancel oder strategy.cancel_all verwendet werden. Im Vergleich zur Funktion strategy.order wird die Funktion strategy.entry durch Pyramiden beeinflusst und kann die Marktposition korrekt umkehren. Wenn sowohl die
strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
Beispiel
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
Argumente
id
(Seriezeichenfolge) Ein erforderliches Argument. Die Auftrags-Identifikator. Es ist möglich, eine Bestellung zu stornieren oder zu ändern, indem man auf ihre Identifikator verweist.direction
(Strategie_Richtung) Erforderliches Argument. Marktpositionrichtung: qty
(Serie int/float) Ein optionales Argument. Anzahl der zu handelnden Verträge/Aktien/Losen/Einheiten. Der Standardwert ist limit
(series int/float) Ein optionales Argument. Grenzpreis der Bestellung. Wenn es angegeben wird, ist der Auftragstyp entweder stop
(series int/float) Ein optionales Argument. Stop-Preis des Auftrags. Wenn es angegeben wird, ist der Auftragstyp entweder oca_name
oca_type
comment
(Serienreihe) Ein optionales Argument. Zusätzliche Hinweise zur Reihenfolge.when
(serie bool) Ein optionaler Argument. Bedingung der Bestellung. Die Bestellung wird platziert, wenn die Bedingung alert_message
(Serienfolge) Ein optionales Argument, das den Platzhalter {{strategy.order.alert_message}} ersetzt, wenn es im Dialogfeld Es handelt sich um einen Befehl, der den Eintrag mit der angegebenen ID beendet. Wenn mehrere Eintragsaufträge mit derselben ID vorliegen, werden alle gleichzeitig beendet. Wenn zum Zeitpunkt der Auslösung des Befehls keine offenen Einträge mit der angegebenen ID vorhanden sind, tritt der Befehl nicht in Kraft. Der Befehl verwendet eine Marktaufgabe. Jeder Eintrag wird durch eine separate Marktaufgabe geschlossen.
strategy.close(id, when, comment, qty, qty_percent, alert_message)
Beispiel
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)
Argumente
id
(Seriezeichenfolge) Ein erforderliches Argument. Die Auftrags-Identifikator. Es ist möglich, eine Bestellung zu schließen, indem man auf ihre Identifikator verweist.when
(Serie bool) Ein optionales Argument. Bedingung des Befehls.qty
(series int/float) Ein optionales Argument. Anzahl der Verträge/Aktien/Lots/Einheiten, mit denen ein Handel beendet werden soll. Der Standardwert ist qty_percent
(series int/float) Definiert den Prozentsatz (0-100) der zu schließenden Position. Seine Priorität ist niedriger als die des Arguments comment
(Serienreihe) Ein optionales Argument. Zusätzliche Hinweise zur Reihenfolge.alert_message
(Serienfolge) Ein optionales Argument, das den Platzhalter {{strategy.order.alert_message}} ersetzt, wenn es im Dialogfeld Verlässt die aktuelle Marktposition und macht sie flach.
strategy.close_all(when, comment, alert_message)
Beispiel
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)
Argumente
when
(Serie bool) Ein optionales Argument. Bedingung des Befehls.comment
(Serienreihe) Ein optionales Argument. Zusätzliche Hinweise zur Reihenfolge.alert_message
(Serienfolge) Ein optionales Argument, das den Platzhalter {{strategy.order.alert_message}} ersetzt, wenn es im Dialogfeld Es handelt sich um einen Befehl, um entweder einen bestimmten Eintrag oder eine gesamte Marktposition zu verlassen. Wenn eine Bestellung mit der gleichen ID bereits aussteht, ist es möglich, die Bestellung zu ändern. Wenn eine Eintragung nicht ausgeführt wurde, aber eine Ausgangsanordnung generiert wird, wartet die Ausgangsanordnung, bis die Eintragung ausgefüllt ist, und dann wird die Ausgangsanordnung platziert. Um eine Ausgangsanordnung zu deaktivieren, sollte der Befehl strategy.cancel oder strategy.cancel_all verwendet werden.strategy.exitWenn Sie mehrmals verlassen möchten, wird der Befehlstrategy.exitWenn Sie einen Stop-Loss und einen Trailing-Stop verwenden, ist ihr Auftragstyp
strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, when, alert_message)
Beispiel
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"
Argumente
id
(Seriezeichenfolge) Ein erforderliches Argument. Die Auftrags-Identifikator. Es ist möglich, eine Bestellung zu stornieren oder zu ändern, indem man auf ihre Identifikator verweist.from_entry
(Serie-String) Ein optionales Argument. Die Kennung einer spezifischen Eingabeanordnung, um aus ihr auszugehen. Um alle Eingaben zu verlassen, sollte eine leere Zeichenfolge verwendet werden. Die Standardwerte sind leere Zeichenfolge.qty
(series int/float) Ein optionales Argument. Anzahl der Verträge/Aktien/Lots/Einheiten, mit denen ein Handel beendet werden soll. Der Standardwert ist qty_percent
(serie int/float) Definiert den Prozentsatz der zu schließenden Position (0-100). Seine Priorität ist niedriger als die des Arguments profit
(series int/float) Ein optionales Argument. Gewinnziel (in Tick angegeben). Wenn es angegeben ist, wird eine Limit-Order auf die Marktausgangsposition platziert, wenn der angegebene Gewinnbetrag (in Tick) erreicht wird. Der Standardwert ist limit
(series int/float) Ein optionales Argument. Gewinnziel (erfordert einen bestimmten Preis). Wenn es angegeben ist, wird eine Limit-Order platziert, um die Marktposition zum angegebenen Preis (oder besser) zu verlassen. Die Priorität des Arguments loss
(series int/float) Ein optionales Argument. Stop-Loss (in Tick angegeben). Wenn es angegeben ist, wird ein Stop-Order zur Marktausstiegsposition platziert, wenn der angegebene Verlustbetrag (in Tick) erreicht wird. Der Standardwert ist stop
(series int/float) Ein optionales Argument. Stop-Loss (erfordert einen bestimmten Preis). Wenn es angegeben wird, wird eine Stop-Order platziert, um die Marktposition zum angegebenen Preis (oder schlechter) zu verlassen. Die Priorität des Arguments Die BettlerWarum kann die Strategie der Quadrat-Kopie die Strategie der Pine nicht realisieren?
Die Erfinder quantifizieren - Kleine TräumeDas ist eine sehr schlechte Idee.
Die BettlerDer Optimierte Trend-Tracker von Zhang Ziyi
Die Erfinder quantifizieren - Kleine TräumeHallo, was ist die Strategie?