Rückgabe von WertenDie Mittelzahl der Array-Elemente.
Parameter
id
(int[]/float[]) Arrayobjekte.Bis dann
array.avg
array.variance
array.min
Die Funktion gibt den Modell des Array-Elements zurück. Wenn mehrere Werte mit der gleichen Frequenz vorhanden sind, gibt sie den Mindestwert zurück.
array.mode(id)
Beispiele
// array.mode example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.mode(a))
Rückgabe von WertenDas Modell der Array-Elemente.
Parameter
id
(int[]/float[]) Arrayobjekte.Bis dann
array.new_float
array.avg
array.variance
array.min
Die angegebene Prozentsatz (Prozentsatz) eines Arraywerts, der kleiner als oder gleich seinem Wert ist, wird mit einem linearen Intagel zurückgegeben.
array.percentile_linear_interpolation(id, percentage)
Parameter
id
(int[]/float[]) Arrayobjekte.percentage
(series int/float) muss der Prozentsatz des Wertes sein, der gleich oder kleiner als der zurückgegebene Wert ist.AnmerkungenIn Statistiken ist ein Prozentanteil der Rangliste, die in einem bestimmten Punkt oder unter einem bestimmten Punkt erscheint. Diese Messung zeigt den Anteil der Punkte in Prozent an der Standardfrequenzverteilung, die unterhalb der von Ihnen gemessenen Prozentstufe liegt.
Bis dann
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Mit der kürzesten Reihenfolge-Methode wird ein Arraywert (Prozentsatz) für die angegebene Prozentzahl zurückgegeben, der kleiner als oder gleich ihrem Wert ist.
array.percentile_nearest_rank(id, percentage)
Parameter
id
(int[]/float[]) Arrayobjekte.percentage
(series int/float) muss der Prozentsatz des Wertes sein, der gleich oder kleiner als der zurückgegebene Wert ist.AnmerkungenIn Statistiken ist ein Prozentsatz das Prozentsatz der Ranglisten, die in einer bestimmten Punktzahl oder unter einer bestimmten Punktzahl erscheinen. Diese Messung zeigt den Prozentsatz der Anteile in der Standardfrequenzverteilung der von Ihnen gemessenen Prozentzahl an, die niedriger ist als die gewünschte Punktzahl.
Bis dann
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Das Ergebnis ist die Anzahl der Arrays, in denen die Arrays mitteln.
array.percentrank(id, index)
Parameter
id
(int[]/float[]) Arrayobjekte.index
(series int) berechnet den Wert ihrer Prozentzahl.AnmerkungenDie Perzentualstufe ist die Prozentzahl der Elemente, die weniger als oder gleich dem Referenzwert sind.
Bis dann
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
Die Funktion gibt die Differenz zwischen dem Mindestwert und dem Maximum der gegebenen Array zurück.
array.range(id)
Beispiele
// array.range example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.range(a))
Rückgabe von WertenDie Differenz zwischen dem Minimum und dem Maximum der Arrays.
Parameter
id
(int[]/float[]) Arrayobjekte.Bis dann
array.new_float
array.min
array.max
array.sum
Die Funktion ändert den Inhalt des Arrays, indem sie Elemente entfernt, die einen bestimmten Index haben.
array.remove(id, index)
Beispiele
// array.remove example
a = array.new_float(5,high)
removedEl = array.remove(a, 0)
plot(array.size(a))
plot(removedEl)
Rückgabe von WertenDer Wert des entfernten Elements.
Parameter
id
(any array type) Array-Objekte.index
(series int) Index der zu löschenden Elemente.Bis dann
array.new_float
array.set
array.push
array.insert
array.pop
array.shift
Die Funktion umkehrt die Array. Das erste Element wird zum letzten und das letzte Element zum ersten.
array.reverse(id)
Beispiele
// 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))
Parameter
id
(any array type) Array-Objekte.Bis dann
array.new_float
array.sort
array.push
array.set
array.avg
Die Funktion verwendet eine Anzahl von Variablen von einem der folgenden Typen: int, float, boole, string, line, color, linefill und gibt eine Array des entsprechenden Typs zurück.
array.from(arg0, arg1, ...)
Beispiele
// array.from_example
arr = array.from("Hello", "World!") // arr (string[]) will contain 2 elements: {Hello}, {World!}.
plot(close)
Rückgabe von WertenDie Werte der Elemente der Array.
Parameter
arg0, arg1, ...
(series int/float/bool/color/string/line/linefill) Arrayparameter;Die Funktion erstellt eine neue<type>
Elementar-Array-Objekte.
array.new(size, initial_value)
Beispiele
// array.new<string> example
a = array.new<string>(1, "Hello, World!")
runtime.log(array.get(a, 0))
Beispiele
// 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))
Beispiele
// 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")
Beispiele
// 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ückgabe von WertenDie ID der Array-Objekte, die zusammen mit anderen Arrays verwendet werden können.
Parameter
size
Die ursprüngliche Größe der (series int) Serie↑ Optional↑ Default 0↑initial_value
(series AnmerkungenDie Arrayindex beginnen bei 0. Wenn Sie ein Array einlösen und alle Elemente gleichzeitig angeben möchten, verwenden Sie die Funktion array.from.
Bis dann
array.from
array.push
array.get
array.size
array.remove
array.shift
array.sum
Diese Funktion erstellt ein neues Array-Objekt, das aus Elementen des Typs bool besteht.
array.new_bool(size, initial_value)
Beispiele
// array.new_bool example
length = 5
a = array.new_bool(length, close > open)
plot(array.get(a, 0) ? close : open)
Rückgabe von WertenDie ID der Array-Objekte, die zusammen mit anderen Arrays verwendet werden können.
Parameter
size
Die ursprüngliche Größe der (series int) Serie↑ Optional↑ Default 0↑initial_value
(series bool) Der Anfangswert aller Sequenzelemente↑ Optional↑ Der Standardwert ist AnmerkungenDie Arrayindex beginnen bei 0.
Bis dann
array.new_float
array.get
array.slice
array.sort
Diese Funktion erzeugt ein neues Arrayobjekt mit einem Floating-Point-Element.
array.new_float(size, initial_value)
Beispiele
// array.new_float example
length = 5
a = array.new_float(length, close)
plot(array.sum(a) / length)
Rückgabe von WertenDie ID der Array-Objekte, die zusammen mit anderen Arrays verwendet werden können.
Parameter
size
Die ursprüngliche Größe der (series int) Serie↑ Optional↑ Default 0↑initial_value
(series int/float) Der Anfangswert für alle Sequenzelemente. Optional. Der Standardwert ist AnmerkungenDie Arrayindex beginnen bei 0.
Bis dann
array.new_bool
array.get
array.slice
array.sort
Die Funktion erstellt ein neues Arrayobjekt, das aus Elementen des Typs int besteht.
array.new_int(size, initial_value)
Beispiele
// array.new_int example
length = 5
a = array.new_int(length, int(close))
plot(array.sum(a) / length)
Rückgabe von WertenDie ID der Array-Objekte, die zusammen mit anderen Arrays verwendet werden können.
Parameter
size
Die ursprüngliche Größe der (series int) Serie↑ Optional↑ Default 0↑initial_value
(series int) Der Anfangswert aller Sequenzelemente↑ Optional↑ Der Standardwert ist AnmerkungenDie Arrayindex beginnen bei 0.
Bis dann
array.new_float
array.get
array.slice
array.sort
Die Funktion erstellt neue Arrayobjekte mit einem String-Typ-Element.
array.new_string(size, initial_value)
Beispiele
// array.new_string example
length = 5
a = array.new_string(length, "text")
runtime.log(array.get(a, 0))
Rückgabe von WertenDie ID der Array-Objekte, die zusammen mit anderen Arrays verwendet werden können.
Parameter
size
Die ursprüngliche Größe der (series int) Serie↑ Optional↑ Default 0↑initial_value
(series string) Der Anfangswert aller Sequenzelemente↑ Optional↑ Der Standardwert ist AnmerkungenDie Arrayindex beginnen bei 0.
Bis dann
array.new_float
array.get
array.slice
Die Funktion gibt den Wert des angegebenen Indexpunktelements zurück.
array.get(id, index)
Beispiele
// 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ückgabe von WertenDie Werte der Elemente der Array.
Parameter
id
(any array type) Array-Objekte.index
(series int) ist ein Index für ein Element, dessen Wert zurückgegeben werden soll.Bis dann
array.new_float
array.set
array.slice
array.sort
Die Funktion fügt einen Wert zu einem Array hinzu.
array.push(id, value)
Beispiele
// array.push example
a = array.new_float(5, 0)
array.push(a, open)
plot(array.get(a, 5))
Parameter
id
(any array type) Array-Objekte.value
(series <type of the array's elements>
) wird dem Elementwert am Ende des Arrays hinzugefügt.Bis dann
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
Die Funktion setzt den Wert eines Elements auf den angegebenen Index.
array.set(id, index, value)
Beispiele
// array.set example
a = array.new_float(10)
for i = 0 to 9
array.set(a, i, close[i])
plot(array.sum(a) / 10)
Parameter
id
(any array type) Array-Objekte.index
(series int) Das Index eines Elements wird geändert.value
(series <type of the array's elements>
) neue Werte zu setzen.Bis dann
array.new_float
array.get
array.slice
Die Funktion gibt die Summe der Elemente zurück.
array.sum(id)
Beispiele
// array.sum example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.sum(a))
Rückgabe von WertenDie Summe der Elemente eines Arrays.
Parameter
id
(int[]/float[]) Arrayobjekte.Bis dann
array.new_float
array.max
array.min
Die Funktion gibt den Durchschnittswert der Array-Elemente zurück.
array.avg(id)
Beispiele
// array.avg example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.avg(a))
Rückgabe von WertenDie Mittelwerte der Array-Elemente.
Parameter
id
(int[]/float[]) Arrayobjekte.Bis dann
array.new_float
array.max
array.min
array.stdev
Diese Funktion gibt den Index zurück, in dem der Wert zuerst erschien. Wenn der Wert nicht gefunden wird, gibt sie -1 zurück.
array.indexof(id, value)
Beispiele
// array.indexof example
a = array.new_float(5,high)
index = array.indexof(a, high)
plot(index)
Rückgabe von WertenDas ist der Index eines Elements.
Parameter
id
(any array type) Array-Objekte.value
(series <type of the array's elements>
) ist der Wert, nach dem man in einem Array suchen soll.Bis dann
array.lastindexof
array.get
array.lastindexof
array.remove
array.insert
In derstrategy
In den entsprechenden eingebauten Funktionen wird die Stop-Loss-Nummer, die Stop-Spring-Nummer definiert als das Multiplikator des Preissprunges.strategy.exit
Die Funktionprofit
、loss
Parameter mit Punkten für Stopp, Stopp, Parameterprofit
Setzen Sie auf 10, d.h. Preissprung multipliziert mit 10 als Stopppreisdifferenz, wobei Preissprung die eingebaute Variable ist.syminfo.mintick
。
Die Funktion setzt verschiedene Policy-Eigenschaften ein.
Bitte beachten Sie, dass es nur Unterstützung gibt.title
,shorttitle
,overlay
,pyramiding
,default_qty_type
,default_qty_value
Parameter, andere Parameter können über die Interfaceparameter der PINE-Sprachpolitik eingestellt 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)
Beispiele
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)
Parameter
title
(const string) wird der Index-Titel, den Sie im Indikator-/Strategien-Plugin sehen.shorttitle
(const string) Die Kurzüberschrift der Indikatoren, die in den Diagrammbeispielen zu sehen sind.overlay
(const bool) Wenn true, wird der Indikator als Überlagerung der Hauptreihe hinzugefügt. Wenn false - er wird in eine separate Grafikfenzeile hinzugefügt.format
precision
scale
pyramiding
(const int) Die maximale Anzahl von Eintrittsbestellungen in die gleiche Richtung. Wenn dieser Wert 0 ist, kann nur eine Eintrittsbestellung in die gleiche Richtung geöffnet werden, und alle anderen Eintrittsbestellungen werden abgelehnt.calc_on_order_fills
calc_on_every_tick
max_bars_back
backtest_fill_limits_assumption
default_qty_type
(const string) wird fürqty
Der Wert des Parameters ist der Inhalt der Funktion strategy.entry oder strategy.order. Die möglichen Werte sind: strategy.fixed für Vertrag/Aktie/Handzahl, strategy.cash für Geldbetrag oder strategy.percent_of_equity für das Prozentsatz der verfügbaren Vermögenswerte.default_qty_value
(const int/float) Die Anzahl der Standardtransaktionen der Strategie.Entry- oder Strategie.Order-Funktionen, deren Einheit durch die Parameter bestimmt wird, die zusammen mit der Strategie.Default_qty_type-Parameter verwendet werden, wenn ihre currency
slippage
commission_type
commission_value
process_orders_on_close
close_entries_rule
max_lines_count
max_labels_count
max_boxes_count
margin_long
margin_short
explicit_plot_zorder
initial_capital
risk_free_rate
AnmerkungenJedes Strategie-Skript muss einen Strategie-Aufruf haben. PineScript-Code, der den Parameter calc_on_every_tick = true verwendet, kann unterschiedliche Berechnungen für historische Aufzeichnungen und Echtzeitdaten durchführen. Wenn Sie ein Diagramm mit einem nicht-standardischen Charttyp als Basis für Ihre Strategie verwenden, müssen Sie wissen, dass die Ergebnisse unterschiedlich sein können. Die Bestellung wird zum Preis der Tabelle ausgeführt (z. B. für Heikin Ashi wird der Preis von Heikin Ashi verwendet (durchschnittlich) ist nicht der tatsächliche Marktpreis). Daher empfehlen wir Ihnen dringend, den Standard-Charttyp in Ihrer Strategie zu verwenden.
Bis dann
indicator
Dies ist ein Market-Entry-Befehl. Wenn ein Auftrag mit derselben ID bereits aufgehängt ist, kann der Auftrag geändert werden. Wenn kein Auftrag mit derselben ID angegeben ist, wird ein neuer Auftrag ausgegeben. Um die Eintrittsanweisung zu beenden, sollte der Auftrag "strategy.cancel" oder "strategy.cancel_all" verwendet werden. Im Gegensatz zu der Funktion "strategy.order" kann die Strategy.entry-Funktion durch die Pyramiden beeinflusst werden und die Marktposition korrekt umkehren.
strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
Beispiele
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
Parameter
id
(series string) Notwendige Parameter. Auftrags-Identifikator.direction
(strategy_direction) Ein notwendiger Parameter. Markthaltungsrichtung: Strategy.long ist mehrfach, Strategy.short ist leer.qty
(series int/float) Optionable Parameter↑ Vertrag/Anzahl der Aktien/Handzahlen/Einheiten der Transaktionen↑ Voreinstellungswert limit
(series int/float) Einstellbares Parameter♦ Limit des Auftrags♦ Wenn angegeben, ist der Auftragstyp "limit" oder "stop-limit"♦ andere Auftragsformen sind "NaN"♦stop
(series int/float) Optionale Parameter. Stop-Loss-Preis der Bestellung. Wenn angegeben, ist der Bestelltyp "stop" oder "stop-limit".oca_name
oca_type
comment
(series string) Optionale Parameter.when
(series bool) Optionale Parameter. Status des Auftrags. Wenn "true", wird der Auftrag platziert. Wenn "false", passiert nichts.alert_message
(series string) Ein Optionsparameter, wenn Sie die {{strategy.order.alert_Message}}-Zeichen in der Strategie-Nachricht-Zeichen-Feld im Dialogfeld Alarm-Zeichen erstellen.Es handelt sich um einen Befehl für einen Ausstiegs-Auftrag mit einer angegebenen ID. Wenn mehrere Eintritts-Aufträge mit derselben ID vorhanden sind, werden sie alle gleichzeitig ausgeschlossen. Der Befehl wird nicht ausgeführt, wenn keine offene Order mit einer angegebenen ID beim Auslösen des Befehls vorhanden ist. Der Befehl verwendet Marktordern. Jeder Eintritt wird von einem separaten Marktordern geschlossen.
strategy.close(id, when, comment, qty, qty_percent, alert_message)
Beispiele
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)
Parameter
id
(series string) Notwendige Parameter.when
(series bool) Optionale Parameter.qty
(series int/float) Optionale Parameter↑ Anzahl der ausgehenden Verträge/Anzahl der Aktien/Anzahl der Hände/Einheiten↑ Default ist qty_percent
(series int/float) definiert den Anteil der Ausgleichsposition ((0-100) ). Seine Priorität liegt unter der Priorität des Parameters comment
(series string) Optionale Parameter.alert_message
(series string) Ein Optionsparameter, wenn Sie die {{strategy.order.alert_Message}}-Zeichen in der Strategie-Nachricht-Zeichen-Feld im Dialogfeld Alarm-Zeichen erstellen.Der Markt wird in den kommenden Monaten wieder stabilisiert, wenn die derzeitigen Marktpositionen ausgeschlossen werden.
strategy.close_all(when, comment, alert_message)
Beispiele
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)
Parameter
when
(series bool) Optionale Parameter.comment
(series string) Optionale Parameter.alert_message
(series string) Ein Optionsparameter, wenn Sie die {{strategy.order.alert_Message}}-Zeichen in der Strategie-Nachricht-Zeichen-Feld im Dialogfeld Alarm-Zeichen erstellen.Dies ist ein Ausstiegsbefehl, der einen bestimmten Eingang oder eine gesamte Marktposition angibt. Wenn ein Auftrag mit der gleichen ID bereits aufgehängt ist, kann der Auftrag geändert werden. Wenn ein Eingangsauftrag nicht ausgeführt wird, aber ein Auszugsauftrag auftritt, wird der Auszugsauftrag ausgesetzt, bis der Auftragseigentümer, der den Eingangsauftrag ausgeführt hat, den Auszugauftrag platzieren kann. Um einen Ausgangsauftrag zu beenden, sollte der Befehlstrategy.cancel oderstrategy.cancel_all verwendet werden.应该多次调用命令strategy.exitWenn Sie Stop-Loss- und Tracking-Stopp-Orders verwenden, deren Auftragsart die Stop-Loss-Kette ist, wird nur einer von ihnen platziert (er wird zuerst ausgeführt). Wenn alle folgenden Parameter: Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette, Stop-Loss-Kette und Stop-Loss-Kette, werden die Aufträge gescheitert.
strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, when, alert_message)
Beispiele
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"
Parameter
id
(series string) Notwendige Parameter. Auftrags-Identifikator.from_entry
(series string) Optionable Parameter↑ Zur Angabe des Eingabe-Anweisungs-Identifikators "Aussteigen"↑ Zur Aussteigen aus allen Positionen sollte eine leere String verwendet werden↑ Der Standardwert ist eine leere String↑qty
(series int/float) Optionale Parameter↑ Anzahl der ausgehenden Verträge/Anzahl der Aktien/Anzahl der Hände/Einheiten↑ Default ist qty_percent
(series int/float) definiert den Anteil der Ausgleichsposition ((0-100) ). Seine Priorität liegt unter der Priorität des Parameters profit
(series int/float) Optionale Parameter♦ Gewinnziele (doppelt angegeben)♦ Wenn angegeben, bei Erreichen der angegebenen Gewinnmenge (doppelt angegeben) eine Markteintrittsposition mit einem Limit-Order.limit
(series int/float) Optionale Parameter << Gewinnziel << Preis angezeigt werden muss << Wenn dies angegeben ist, geht man zu einem angegebenen Preis << oder besser >> aus der Marktposition << Die Priorität des Parameters NaN-Limit ist höher als die Priorität des Parameters NaN-Profit << Wenn der Wert nicht NaN-Limit ist, ersetzt NaN-Limit die NaN-Profit-Limit << Der Standardwert ist NaN-Limit <<loss
(series int/float) Optionale Parameter──Stoppverlust (d.h. Punkte) ─ Wenn angegeben, bei Erreichen des angegebenen Verlustbetrags (d.h. Punkte) mit einem Stoppverlust aus der Position aussteigen── Der Standardwert ist NaNstop
(series int/float) Optionale Parameter.Stopp-Loss (Preis angezeigt).Wenn angegeben, wird die Marktposition zum angegebenen Preis (oder schlechter) verlassen. Der Parameter Stopp-Loss-Loss hat eine höhere Priorität als der Parameter Stop-Loss-Loss-Loss-Loss. Der Standardwert ist Stop-Loss-Loss-Loss-Loss statt Stop-Loss-Loss-Loss-Loss-Loss-Loss-Loss.trail_price
(series int/float) Optionale Parameter: ◦ Tracking Stop-Loss-Aktivierungs-Level (Preis muss angegeben werden) ◦ Wenn angegeben, wird die Tracking Stop-Loss-Liste platziert, wenn die angegebene Preis-Level erreicht wird. ◦ In den Parametern der Tracking-Strail_offset-Liste wird die Abweichung angegeben, um den Anfangspreis der Tracking-Stop-Loss-Liste zu bestimmen. ◦ Punkte: X-Punkte unter dem Aktivierungs-Level für einen Multi-Head-Austritt; X-Punkte über dem Aktivierungs-Level für einen Leerlauf-Austritt.trail_points
(series int/float) Optionale Parameter: ◦ Tracking Stop-Loss-Aktivierungs-Level (geprägt durch Punkte) ◦ Wenn angegeben, wird die Tracking Stop-Loss-Liste platziert, wenn das berechnete Preisniveau (geprägt durch Punkte) erreicht wird. ◦ In der Parameterparameter der Tracking-Strail_offset-Liste wird die Abweichung angegeben, um den Anfangspreis der Tracking-Stop-Loss-Liste zu bestimmen (geprägt durch Punkte): X-Punkte unter dem Aktivierungs-Level für einen Multi-Head-Austritt; X-Punkte über dem Aktivierungs-Level für einen Blank-Head-Austritt. ◦ Der Standardwert ist NaN-NaN-Head.trail_offset
(series int/float) Optionale Parameter <oca_name
comment
(series string) Optionale Parameter.when
(series bool) Optionale Parameter. Status des Auftrags. Wenn "true", wird der Auftrag platziert. Wenn "false", passiert nichts.alert_message
(series string) Ein Optionsparameter, wenn Sie die {{strategy.order.alert_Message}}-Zeichen in der Strategie-Nachricht-Zeichen-Feld im Dialogfeld Alarm-Zeichen erstellen.Dies ist ein Benennungsanspruch, um alle Vorhanglisten zu deaktivieren, der von folgenden Funktionen erzeugt wird: strategy.order, strategy.entry andstrategy.exit。
strategy.cancel(id, when)
Beispiele
strategy(title = "simple order cancellation example")
conditionForBuy = open > high[1]
strategy.entry("long", strategy.long, 1, limit = low, when = conditionForBuy) // enter long using limit order at low price of current bar if conditionForBuy is true
strategy.cancel("long", when = not conditionForBuy) // cancel the entry order with name "long" if conditionForBuy is false
Parameter
id
(series string) Notwendige Parameter↑ Bestellzeichen↑ Stellen Sie dieses Zeichen an, um eine Bestellung zu widerrufen↑when
(series bool) Optionale Parameter. Eine Bestellung auf Basis der ID zu stornieren. Bei "true" wird die Bestellung storniert. Der Standardwert ist "true".这是取消/停用所有预挂单命令,由以下功能生成:strategy.order,strategy.entry和strategy.exit。
strategy.cancel_all(when)
Beispiele
strategy(title = "simple all orders cancellation example")
conditionForBuy1 = open > high[1]
strategy.entry("long entry 1", strategy.long, 1, limit = low, when = conditionForBuy1) // enter long by limit if conditionForBuy1 is true
conditionForBuy2 = conditionForBuy1 and open[1] > high[2]
strategy.entry("long entry 2", strategy.long, 1, limit = ta.lowest(low, 2), when = conditionForBuy2) // enter long by limit if conditionForBuy2 is true
conditionForStopTrading = open < ta.lowest(low, 2)
strategy.cancel_all(conditionForStopTrading) // cancel both limit orders if the conditon conditionForStopTrading is true
Parameter
when
(series bool) Optionale Parameter↑ Bedingungen für alle Bestellungen stornieren↑ Wenn die Bedingung wahr ist, werden alle aktiven Bestellungen storniert↑ Der Standardwert ist Das ist der Befehl, der die Bestellung aufhebt. Wenn eine Bestellung mit derselben ID bereits aufgehängt ist, kann der Befehl geändert werden. Wenn keine Bestellung mit derselben ID angegeben ist, wird eine neue Bestellung ausgegeben. Um die Bestellung zu beenden, sollte der Befehl strategy.cancel oder strategy.cancel_all verwendet werden. Im Gegensatz zu der Funktion strategy.entry ist die Funktion strategy.order nicht von der Form der Pyramide beeinflusst.
strategy.order(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
Beispiele
strategy(title = "simple strategy order example")
strategy.order("buy", strategy.long, 1, when = open > high[1]) // buy by market if current open great then previous high
strategy.order("sell", strategy.short, 1, when = open < low[1]) // sell by market if current open less then previous low
Parameter
id
(series string) Notwendige Parameter. Auftrags-Identifikator.direction
(strategy_direction) Ein notwendiger Parameter. Auftragsrichtung: "strategy.long für Kauf", "strategy.short für Verkauf".qty
(series int/float) Optionable Parameter↑ Vertrag/Anzahl der Aktien/Handzahlen/Einheiten der Transaktionen↑ Voreinstellungswert limit
(series int/float) Einstellbares Parameter♦ Limit des Auftrags♦ Wenn angegeben, ist der Auftragstyp "limit" oder "stop-limit"♦ andere Auftragsformen sind "NaN"♦stop
(series int/float) Optionale Parameter. Stop-Loss-Preis der Bestellung. Wenn angegeben, ist der Bestelltyp "stop" oder "stop-limit".oca_name
oca_type
comment
(series string) Optionale Parameter.when
(series bool) Optionale Parameter. Status des Auftrags. Wenn "true", wird der Auftrag platziert. Wenn "false", passiert nichts.alert_message
(series string) Ein Optionsparameter, wenn Sie die {{strategy.order.alert_Message}}-Zeichen in der Strategie-Nachricht-Zeichen-Feld im Dialogfeld Alarm-Zeichen erstellen.Gibt den Bar_index zurück, der nicht in den Handel eingegangen ist.
strategy.opentrades.entry_bar_index(trade_num)
Warten Sie auf 10 K-Linien und brechen Sie
Beispiele
strategy("`strategy.opentrades.entry_bar_index` Example")
barsSinceLastEntry() =>
strategy.opentrades > 0 ? bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) : na
// Enter a long position if there are no open positions.
if strategy.opentrades == 0
strategy.entry("Long", strategy.long)
// Close the long position after 10 bars.
if barsSinceLastEntry() >= 10
strategy.close("Long")
Parameter
trade_num
(series int) Transaktionsnummer der nicht in Ausgleich stehenden Transaktionen.Bis dann
strategy.closedtrades.entry_bar_index
strategy.closedtrades.exit_bar_index
Die Anmeldedaten für ungelöste Transaktionen werden zurückgegeben.
strategy.opentrades.entry_id(trade_num)
Beispiele
strategy("`strategy.opentrades.entry_id` Example", overlay = true)
// We enter a long position when 14 period sma crosses over 28 period sma.
// We enter a short position when 14 period sma crosses under 28 period sma.
longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
// Strategy calls to enter a long or short position when the corresponding condition is met.
if longCondition
strategy.entry("Long entry at bar #" + str.tostring(bar_index), strategy.long)
if shortCondition
strategy.entry("Short entry at bar #" + str.tostring(bar_index), strategy.short)
// Display ID of the latest open position.
if barstate.islastconfirmedhistory
runtime.log("Last opened position is " + strategy.opentrades.entry_id(strategy.opentrades - 1))
Rückgabe von WertenDie Anmeldedaten für ungelöste Transaktionen werden zurückgegeben.
Parameter
trade_num
(series int) Transaktionsnummer der nicht in Ausgleich stehenden Transaktionen.AnmerkungenWenn trade_num nicht im Bereich liegt, gibt die Funktion na:0 an strategy.opentrades-1 zurück.
Bis dann
strategy.opentrades.entry_bar_index
strategy.opentrades.entry_time
Der Preis für den Eintritt in eine nicht gebalancierte Transaktion wird zurückgegeben.
strategy.opentrades.entry_price(trade_num)
Beispiele
strategy("strategy.closedtrades.entry_price Example 1")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Return the entry price for the latest closed trade.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)
plot(entryPrice, "Long entry price")
Berechnung des durchschnittlichen ungleichgewichtigten Preises
Beispiele
strategy("strategy.opentrades.entry_price Example 2", pyramiding = 2)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate average open position price.
avgOpenPositionPrice() =>
sumOpenPositionPrice = 0.0
for tradeNo = 0 to strategy.opentrades - 1
sumOpenPositionPrice += strategy.opentrades.entry_price(tradeNo) * strategy.opentrades.size(tradeNo) / strategy.position_size
result = nz(sumOpenPositionPrice / strategy.opentrades)
plot(avgOpenPositionPrice())
Parameter
trade_num
(series int) Transaktionsnummer der nicht in Ausgleich stehenden Transaktionen.Bis dann
strategy.closedtrades.exit_price
Geben Sie die UNIX-Zeit zurück, in der ein nicht-ausgeglichener Handel eingegangen ist.
strategy.opentrades.entry_time(trade_num)
Beispiele
strategy("strategy.opentrades.entry_time Example")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculates duration in milliseconds since the last position was opened.
timeSinceLastEntry()=>
strategy.opentrades > 0 ? (time - strategy.opentrades.entry_time(strategy.opentrades - 1)) : na
plot(timeSinceLastEntry() / 1000 * 60 * 60 * 24, "Days since last entry")
Parameter
trade_num
(series int) Transaktionsnummer der nicht in Ausgleich stehenden Transaktionen.Bis dann
strategy.closedtrades.entry_time
strategy.closedtrades.exit_time
Die Gewinn- und Verlustwerte für nicht ausgeglichene Transaktionen werden zurückgegeben.
strategy.opentrades.profit(trade_num)
Die Gewinne aus der letzten Börse zurück
Beispiele
strategy("`strategy.opentrades.profit` Example 1", commission_type = strategy.commission.percent, commission_value = 0.1)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
plot(strategy.opentrades.profit(strategy.opentrades - 1), "Profit of the latest open trade")
Berechnen Sie die Gewinne für alle nicht ausgeglichenen Geschäfte
Beispiele
strategy("`strategy.opentrades.profit` Example 2", pyramiding = 5)
// Strategy calls to enter 5 long positions every 2 bars.
if bar_index % 2 == 0
strategy.entry("Long", strategy.long, qty = 5)
// Calculate open profit or loss for the open positions.
tradeOpenPL() =>
sumProfit = 0.0
for tradeNo = 0 to strategy.opentrades - 1
sumProfit += strategy.opentrades.profit(tradeNo)
result = sumProfit
plot(tradeOpenPL(), "Profit of all open trades")
Parameter
trade_num
(series int) Transaktionsnummer der nicht in Ausgleich stehenden Transaktionen.Bis dann
strategy.closedtrades.profit
strategy.openprofit
strategy.netprofit
strategy.grossprofit
Gibt die Handelsrichtung und die Anzahl der Kontrakte in nicht-ausgeglichenen Geschäften zurück. Wenn dieser Wert > 0, ist die Marktposition mehrfach. Wenn dieser Wert < 0, ist die Marktposition leer.
strategy.opentrades.size(trade_num)
Beispiele
strategy("`strategy.opentrades.size` Example 1")
// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
strategy.close("Long")
// Plot the number of contracts in the latest open trade.
plot(strategy.opentrades.size(strategy.opentrades - 1), "Amount of contracts in latest open trade")
Berechnung des Prozentsatzes des durchschnittlichen Gewinns von nicht gebundenen Geschäften
Beispiele
strategy("`strategy.opentrades.size` Example 2")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate profit for all open trades.
profitPct = 0.0
for tradeNo = 0 to strategy.opentrades - 1
entryP = strategy.opentrades.entry_price(tradeNo)
exitP = close
profitPct += (exitP - entryP) / entryP * strategy.opentrades.size(tradeNo) * 100
// Calculate average profit percent for all open trades.
avgProfitPct = nz(profitPct / strategy.opentrades)
Parameter
trade_num
(series int) Transaktionsnummer der nicht in Ausgleich stehenden Transaktionen.Bis dann
strategy.closedtrades.size
strategy.position_size
strategy.opentrades
strategy.closedtrades
Gibt den Bar_index zurück, der bereits eingetragen ist.
strategy.closedtrades.entry_bar_index(trade_num)
Beispiele
strategy("strategy.closedtrades.entry_bar_index Example")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Function that calculates the average amount of bars in a trade.
avgBarsPerTrade() =>
sumBarsPerTrade = 0
for tradeNo = 0 to strategy.closedtrades - 1
// Loop through all closed trades, starting with the oldest.
sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())
Parameter
trade_num
(series int) Die Transaktionsnummer, bei der die Transaktion abgewickelt wurde. Die Nummer der ersten Transaktion ist null.Bis dann
strategy.closedtrades.exit_bar_index
strategy.opentrades.entry_bar_index
Der Preis für den Ausgang eines ausgeglichenen Handels wird zurückgegeben.
strategy.closedtrades.exit_price(trade_num)
Beispiele
strategy("strategy.closedtrades.exit_price Example 1")
// We are creating a long trade every 5 bars
if bar_index % 5 == 0
strategy.entry("Long", strategy.long)
strategy.close("Long")
// Return the exit price from the latest closed trade.
exitPrice = strategy.closedtrades.exit_price(strategy.closedtrades - 1)
plot(exitPrice, "Long exit price")
Berechnen Sie die Prozentsätze der durchschnittlichen Gewinne aller ausgeglichenen Geschäfte
Beispiele
strategy("strategy.closedtrades.exit_price Example 2")
// Strategy calls to create single short and long trades.
if bar_index == last_bar_index - 15
strategy.entry("Long Entry", strategy.long)
else if bar_index == last_bar_index - 10
strategy.close("Long Entry")
strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
strategy.close("Short")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrades.entry_price(tradeNo)
exitP = strategy.closedtrades.exit_price(tradeNo)
profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)
plot(avgProfitPct)
Parameter
trade_num
(series int) Die Transaktionsnummer, bei der die Transaktion abgewickelt wurde. Die Nummer der ersten Transaktion ist null.Bis dann
strategy.closedtrades.entry_price
Bar_index wird zurückgegeben.
strategy.closedtrades.exit_bar_index(trade_num)
Beispiele
strategy("strategy.closedtrades.exit_bar_index Example 1")
// Strategy calls to place a single short trade. We enter the trade at the first bar and exit the trade at 10 bars before the last chart bar.
if bar_index == 0
strategy.entry("Short", strategy.short)
if bar_index == last_bar_index - 10
strategy.close("Short")
// Calculate the amount of bars since the last closed trade.
barsSinceClosed = strategy.closedtrades > 0 ? bar_index - strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) : na
plot(barsSinceClosed, "Bars since last closed trade")
Berechnen Sie die durchschnittliche Anzahl von K-Linien pro Transaktion.
Beispiele
strategy("strategy.closedtrades.exit_bar_index Example 2")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Function that calculates the average amount of bars per trade.
avgBarsPerTrade() =>
sumBarsPerTrade = 0
for tradeNo = 0 to strategy.closedtrades - 1
// Loop through all closed trades, starting with the oldest.
sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())
Parameter
trade_num
(series int) Die Transaktionsnummer, bei der die Transaktion abgewickelt wurde. Die Nummer der ersten Transaktion ist null.Bis dann
bar_index
Die Anmeldedaten für die bereits ausgeglichenen Transaktionen werden zurückgegeben.
strategy.closedtrades.entry_id(trade_num)
Beispiele
strategy("strategy.closedtrades.entry_id Example", overlay = true)
var isOpen = false
var openIndex = -1
// Enter a short position and close at the previous to last bar.
if not barstate.ishistory and not isOpen
strategy.entry("Short at bar #" + str.tostring(bar_index), strategy.short)
isOpen := true
openIndex := bar_index
if openIndex != -1 and bar_index > openIndex + 100
strategy.close_all()
// Display ID of the last entry position.
if barstate.islastconfirmedhistory
runtime.log("Last Entry ID is: " + strategy.closedtrades.entry_id(strategy.closedtrades - 1))
Rückgabe von WertenDie Anmeldedaten für die bereits ausgeglichenen Transaktionen werden zurückgegeben.
Parameter
trade_num
(series int) Die Transaktionsnummer, bei der die Transaktion abgewickelt wurde. Die Nummer der ersten Transaktion ist null.AnmerkungenWenn trade_num nicht im Bereich liegt, gibt die Funktion na:0 an strategy.closedtrades-1 zurück.
Bis dann
strategy.closedtrades.entry_bar_index
strategy.closedtrades.entry_time
Der Preis für den Eintritt in den ausgeglichenen Handel wird zurückgegeben.
strategy.closedtrades.entry_price(trade_num)
Beispiele
strategy("strategy.closedtrades.entry_price Example 1")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Return the entry price for the latest entry.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)
plot(entryPrice, "Long entry price")
Berechnen Sie die Prozentsätze der durchschnittlichen Gewinne aller ausgeglichenen Geschäfte
Beispiele
strategy("strategy.closedtrades.entry_price Example 2")
// Strategy calls to create single short and long trades
if bar_index == last_bar_index - 15
strategy.entry("Long Entry", strategy.long)
else if bar_index == last_bar_index - 10
strategy.close("Long Entry")
strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
strategy.close("Short")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrades.entry_price(tradeNo)
exitP = strategy.closedtrades.exit_price(tradeNo)
profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)
plot(avgProfitPct)
Parameter
trade_num
(series int) Die Transaktionsnummer, bei der die Transaktion abgewickelt wurde. Die Nummer der ersten Transaktion ist null.Bis dann
strategy.closedtrades.exit_price
strategy.closedtrades.size
strategy.closedtrades
Zurück zu der UNIX-Zeit, zu der der Handel eingegangen ist.
strategy.closedtrades.entry_time(trade_num)
Beispiele
strategy("strategy.closedtrades.entry_time Example", overlay = true)
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Calculate the average trade duration
avgTradeDuration() =>
sumTradeDuration = 0
for i = 0 to strategy.closedtrades - 1
sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i)
result = nz(sumTradeDuration / strategy.closedtrades)
// Display average duration converted to seconds and formatted using 2 decimal points
if barstate.islastconfirmedhistory
runtime.log(str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")
Parameter
trade_num
(series int) Die Transaktionsnummer, bei der die Transaktion abgewickelt wurde. Die Nummer der ersten Transaktion ist null.Bis dann
strategy.opentrades.entry_time
strategy.closedtrades.exit_time
time
Die Gewinne und Verluste der ausgeglichenen Transaktionen werden zurückgegeben.
strategy.closedtrades.profit(trade_num)
Beispiele
strategy("`strategy.closedtrades.profit` Example")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate average gross profit by adding the difference between gross profit and commission.
avgGrossProfit() =>
sumGrossProfit = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
sumGrossProfit += strategy.closedtrades.profit(tradeNo) - strategy.closedtrades.commission(tradeNo)
result = nz(sumGrossProfit / strategy.closedtrades)
plot(avgGrossProfit(), "Average gross profit")
Parameter
trade_num
(series int) Die Transaktionsnummer, bei der die Transaktion abgewickelt wurde. Die Nummer der ersten Transaktion ist null.Bis dann
strategy.opentrades.profit
strategy.closedtrades.commission
Gibt die Handelsrichtung und die Anzahl der Verträge in einem bereits ausgeglichenen Handel zurück. Wenn dieser Wert > 0, ist die Marktposition mehrfach. Wenn dieser Wert < 0, ist die Marktposition leer.
strategy.closedtrades.size(trade_num)
Beispiele
strategy("`strategy.closedtrades.size` Example 1")
// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
strategy.close("Long")
// Plot the number of contracts traded in the last closed trade.
plot(strategy.closedtrades.size(strategy.closedtrades - 1), "Number of contracts traded")
Berechnung des Prozentsatzes der durchschnittlichen Gewinne bei einem Aktienhandel
Beispiele
strategy("`strategy.closedtrades.size` Example 2")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrade
WeiweiweiWie geht es, wenn man mehrere Transaktionen gleichzeitig durchführen will?
Leichte WolkenKann Pine mehr als eine Transaktion durchführen, wie JS?
Lisa20231Danke für die detaillierte Dokumentation.
Künstlerische ArbeitWie kommt es, dass dieses Pine-Skript die Simulation von okex auf der Plattform verwendet?
Künstlerische ArbeitDas bedeutet, dass die Strategien der TradingView Plattform direkt auf die Plattform der Erfinder kopiert werden können.
Die Erfinder quantifizieren - Kleine TräumeDie PINE-Sprache kann nur einzigartige Strategien durchführen, wobei die Multi-Variate-Strategie am besten in Python, JavaScript oder C++ geschrieben wird.
Die Erfinder quantifizieren - Kleine TräumeOh, ja, OKX ist etwas Besonderes, ihre Analog-Umgebung und ihre Festplattenumgebung haben die gleiche Adresse, nur dass sie anderswo unterschieden werden.
Leichte WolkenEs ist nicht möglich, die okx-Analogplatte zu verwenden.
Die Erfinder quantifizieren - Kleine TräumeDiese vielfältige Architektur kann nicht gelöst werden, da jede Börse unterschiedliche Schnittstellen hat und die Frequenz der Schnittstellen nicht gleich ist.
Die Erfinder quantifizieren - Kleine TräumeDas ist eine gute Idee, danke für die Vorschläge, schreiben Sie hier weiter.
Leichte WolkenEs fühlt sich besser an, wenn man mit JS kombiniert wird, und JS kann sich besser an verschiedene Handelsmethoden anpassen.
Trends in der JagdWird es in Zukunft mehrere Sorten geben?
Die Erfinder quantifizieren - Kleine TräumeDas ist unhöflich.
Leichte WolkenDas ist gut, danke.
Die Erfinder quantifizieren - Kleine TräumeHallo, die PINE-Sprachstrategie ist vorübergehend nur für eine Sorte geeignet.
Die Erfinder quantifizieren - Kleine TräumeIch möchte Ihnen danken für Ihre Unterstützung. Die Dokumentation wird weiter verbessert.
Die Erfinder quantifizieren - Kleine TräumeJa, das stimmt.
Die Erfinder quantifizieren - Kleine TräumePINE-Template-Klassebücher, auf deren Parameter die Basisadresse der Umtauschbörse festgelegt werden kann.