Type/to search
8
Follow
1364
Followers
FMZ PINE Script Dokumentation
Tutorials
Created 2022-05-06 14:27:06  Updated 2025-08-21 13:47:34
 24
 20877

Schlüsselwörter, Grammatik und Einstellungsbeschreibung

Code-Struktur

Die allgemeine Struktur, der der Code in Pine folgt:

<version> <declaration_statement> <code>

Anmerkungen

Kommentare für die FMZ-Pine-Sprache: Einzeilinks//Mehrsprachige Anmerkungen/* */Wie die Kommentare in den folgenden Beispielen geschrieben werden:

pine
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) // 计算MACD指标 /* plot函数在图表上画出指标线 */ plot(macdLine, color = color.blue, title='macdLine') plot(signalLine, color = color.orange, title='signalLine') plot(histLine, color = color.red, title='histLine')

Veröffentlichung

Die Kompilator-Anweisung in der folgenden Form sagt dem Kompilator, in welcher Version des Skripts Pine geschrieben wurde:

pine
//@version=5

Standardversion v5, kann im Code übersehen werden//@version=5

Erklärung

Die Anweisungssätze bestimmen den Typ des Skripts, was wiederum entscheidet, was darin erlaubt ist, und wie es verwendet und ausgeführt wird. Sie setzen die Schlüsselattribute des Skripts ein, wie z. B. seinen Namen, wo er erscheint, wenn er in die Grafik hinzugefügt wird, die Genauigkeit und Format der Werte, die er anzeigt, und die Werte, die für bestimmte Verhaltensweisen bei der Steuerung seines Laufens gelten, wie z. B. die maximale Anzahl der Grafikobjekte, die er in der Grafik anzeigt. Für Strategien umfassen die Attribute Parameter, die mit der Rückwärtskontrolle gemessen werden, wie z. B. Startkapital, Provisionen, Gleitpunkte usw.indicator()oderstrategy()Das ist eine sehr schwierige Aufgabe.

Der Code

Eine Zeile in einem Skript, die keine Kommentare oder Kompilierer-Anweisungen enthält, ist ein Statement, das die Algorithmen des Skripts umsetzt. Ein Statement kann eines dieser Inhalte sein.

  • Variablenerklärung
  • Variablen neu zuordnen
  • Funktionserklärung
  • Eingebettete Funktionsaufrufe, benutzerdefinierte Funktionsaufrufe
  • ifforwhileoderswitchGleichgewichtsstruktur

Sätze können auf verschiedene Arten angeordnet werden.

  • Einige Sätze können in einer Zeile ausgedrückt werden, wie z. B. die meisten Variablenerklärungen, die nur eine Zeile mit einem Funktionsaufruf oder eine Einzelarbeitserklärung enthalten. Andere, wie Strukturen, benötigen immer mehrere Zeilen, da sie einen lokalen Block benötigen.
  • Die globalen Aussagen des Skripts (d. h. die Teile, die nicht zu den lokalen Blöcken gehören) können nicht als空格oder制表符(Tab-Taste) beginnen. Ihr erster Buchstabe muss auch der erste Buchstabe der Zeile sein. Zeilen, die mit der ersten Position in der Zeile beginnen, sind per Definition Teil des globalen Umfangs des Skripts.
  • Eine Struktur- oder Mehrzeilenfunktionsanweisung erfordert immer einelocal block。 Ein lokaler Block muss in ein Kennzeichen oder vier Leerzeichen geschrumpft werden (andernfalls wird er als die fortlaufende Inhalte der vorherigen Codezeile analysiert), wobei jeder lokale Block einen anderen lokalen Bereich definiert。
  • Mehrere einzelne Sätze können in einer Zeile durch die Verwendung des Kommas ((,) als Trennzeichen in einer Reihe zusammengefügt werden.
  • Eine Zeile kann Kommentare enthalten oder nur Kommentare sein.
  • Die Zeilen können auch eingewickelt werden (weiter auf mehreren Zeilen).

Zum Beispiel umfasst es drei lokale Blöcke, eine in einer benutzerdefinierten Funktionsanweisung und zwei, die die if-Struktur in einer Variablenanweisung verwenden, wie folgt:

pine
indicator("", "", true) // 声明语句(全局范围),可以省略不写 barIsUp() => // 函数声明(全局范围) close > open // 本地块(本地范围) plotColor = if barIsUp() // 变量声明 (全局范围) color.green // 本地块 (本地范围) else color.red // 本地块 (本地范围) runtime.log("color", color = plotColor) // 调用一个内置函数输出日志 (全局范围)

Code-Wechsel

Längere Zeilen können in mehrere Zeilen aufgeteilt oder "eingepflanzt" werden. Die eingepflanzte Zeile muss in eine beliebige Anzahl von Leerstellen geschrumpft werden, sofern sie nicht ein Vielfaches von 4 ist (diese Grenzen dienen dazu, in lokale Blöcke zu schrumpfen).

pine
a = open + high + low + close

Es kann in folgenden Formularen verpackt werden (beachten Sie, dass die Anzahl der Zeilen, die pro Zeile eingekrümmt werden, kein Vielfaches von 4 ist):

pine
a = open + high + low + close

Ein langer Plot ((() -Aufruf kann in eine Packe packt werden.

pine
close1 = request.security(syminfo.tickerid, "D", close) // syminfo.tickerid 当前交易对的日线级别收盘价数据系列 close2 = request.security(syminfo.tickerid, "240", close) // syminfo.tickerid 当前交易对的240分钟级别收盘价数据系列 plot(ta.correlation(close, open, 100), // 一行长的plot()调用可以被包装 color = color.new(color.purple, 40), style = plot.style_area, trackprice = true)

Sätze in einer benutzerdefinierten Funktionsanweisung können auch verpackt werden. Da jedoch die lokalen Blöcke grammatisch mit einem Verkürzungszeichen beginnen müssen (z. B. 4 Felder oder 1 Schreibzeichen), müssen die Fortsetzungssätze der Sätze, wenn sie in die nächste Zeile aufgeteilt werden, mit einem oder mehr Verkürzungen beginnen (z. B. nicht gleich dem Vielfachen von 4 Feldern).

pine
test(c, o) => ret = c > o ? (c > o+5000 ? 1 : 0): (c < o-5000 ? -1 : 0) a = test(close, open) plot(a, title="a")

Zeitfolge

Zeitreihen sind keine Datentypen oder -formate. Zeitreihen sind ein grundlegendes Konzept in der Sprache PINE. Sie werden verwendet, um Werte zu speichern, die sich zeitlich fortlaufend ändern, wobei jeder Wert einem Zeitpunkt entspricht.
Mit integrierten VariablenopenDas ist ein Beispiel.openDie eingebaute Variable zeichnet den Eröffnungspreis für jede K-Linie BAR auf, wenn dieseopenDas ist die Daten von 5 Minuten K-Linien-Perioden.openIn der Variablen werden die Eröffnungspreise für alle 5 Minuten der K-Zeile BAR ({column}) aufgezeichnet.openDas heißt, wir beziehen den Eröffnungswert der K-Linie BAR, in der wir uns gerade befinden. Um den vorherigen Wert in der Zeitserie zu beziehen, verwenden wir[]Der historische Operator, wenn die Strategie auf einer K-Linie BAR ausgeführt wird,open[1]Das bedeutet, dass der Anfangspreis der vorherigen K-Linie BAR der aktuellen K-Linie BAR angegeben wird.

ObwohlZeitfolgeEs ist leicht, an die Datenstruktur "Array" zu denken, obwohl die Sprache PINE auch Array-Typen hat. Sie sind jedoch ein völlig anderes Konzept als die Zeitreihen.

Die PINE-Sprache ist so konzipiert, dass die Zeitreihen in der Strategie-Code leicht berechnet werden können, ohne dass eine Kreislauf-Struktur wie for verwendet wird, sondern nur mit einer eingebauten Funktion der PINE-Sprache.ta.cum(close)Als weiteres Beispiel müssen wir den Mittelwert der Differenz zwischen dem höchsten und dem niedrigsten Wert der letzten 14 K-Linien berechnen.ta.sma(high - low, 14)

Das Ergebnis eines Aufrufs einer Funktion auf einer Zeitreihenfolge hinterlässt auch eine Spur auf der Zeitreihenfolge.[]Der historische Operator bezieht sich auf den vorherigen Wert. Zum Beispiel, um zu testen, ob der Schlusskurs der aktuellen K-Linie BAR den Maximalwert des höchsten Wertes der letzten 10 K-Linie BAR überschreitet (exklusive der aktuellen K-Linie BAR).breach = close > ta.highest(close, 10)[1]Das kann man auch so schreiben:breach = close > ta.highest(close[1], 10)Das ist es.ta.highest(close, 10)[1]Undta.highest(close[1], 10)Es ist gleichwertig.

Das kann mit folgenden Codes verifiziert werden:

pine
strategy("test pine", "test", true) a = ta.highest(close, 10)[1] b = ta.highest(close[1], 10) plotchar(true, title="a", char=str.tostring(a), location=location.abovebar, color=color.red) plotchar(true, title="b", char=str.tostring(b), location=location.belowbar, color=color.green)

Der oben genannte Testcode gibt a und b auf jeder BAR ihre entsprechenden Zeitreihenwerte aus, so dass a und b immer gleich sind, also gleichwertig.

Historisches Referenzieren

In Trading View gibt es eine maximale Anzahl von Artikeln für historische Datenbezüge (maximal 5000), z. B. folgender Code:

pine
//@version=6 indicator("test") ema = ta.ema(close, 10000) // 报错:Error on bar 0: The 'ema'->'sum' function references too many historical candles (10000), the limit is 5000. plot(ema, "ema") // pre10000 = ema[10000] // 报错:Invalid number of bars back specified in the history-referencing operator. It accepts a value between 0 and 5000. // plot(pre10000, "pre10000")

"Transaktions-Einstellungen" in der "Pine-Language-Trading-Klasse" mit der PINE-Language-Strategie auf der FMZ, Parameter: "Längste Periodennummer der Variablen" spezifisch für die maximale Anzahl von Artikeln, auf die Daten bezogen werden können.

img

pine
indicator("test") ema = ta.ema(close, 1000) // ema = ta.ema(close, 3000) 则报错:Invalid number 3000 of bars back specified in the history-referencing operator. It accepts a value between 0 and 2000. plot(ema, "ema")

Das Parameter "Längste Periodenzahl der Variablen" sollte nicht zu groß eingestellt werden.

Modellparameter der Pine-Sprache

Beschreibung der Parameter-Einstellungen für die in der PINE-Strategie integrierte Vorlage "Pine Language Transaction Class Repository".

img

Handelsplatz

  • Ausführung
    Schlusskursmodell: Das Modell wird erst ausgeführt, wenn der aktuelle BAR abgelaufen ist, und der Handel wird ausgeführt, wenn der folgende BAR beginnt.
    Echtzeit-Preismodell: Bei jeder Preisänderung wird das Modell ausgeführt, und der Handel wird sofort ausgeführt, wenn ein Signal vorliegt.
  • Default-Start-Hand-Nummer: Wenn die Handelsanweisung keine Handelsmenge angibt, wird der Handel mit der Anzahl ausgeführt, die für diese Einstellung festgelegt ist.
  • Maximaler Betrag pro Auftrag: Entsprechend der tatsächlichen Platzierung, in Kombination mit dieser Parameter-Einstellung, bestimmen Sie die maximale Anzahl pro Auftrag und vermeiden Sie die Platzierung.
  • Der Preisverlust liegt bei:定价货币精度Der Parameter und dieser Parameter bestimmen den Kursschwung zum Zeitpunkt des Auftrags. Zum Beispiel, wenn die Preisschwelle auf 2 festgelegt ist, d.h. auf die zweite Zahl der Komma, auf 0,01 genau. Dann repräsentiert jeder Kursschwungpunkt 0,01 Preiseinheiten. Wenn der Kursschwungpunkt auf 5 gesetzt ist, ist der Kursschwung zum Zeitpunkt des Auftrags 0,05 (der Kursschwungwert ist der Teil des Preises, der zum Zeitpunkt des Auftrags zum Zeitpunkt des Auftrags zum besseren Zweck und zum Abschluss des Auftrags überschüttet).
  • Maximaler Zyklus der Variablen: Anzahl der BAR-Linien, die das Diagramm beeinflussen, undjavascriptIn der Strategie aufgerufenSetMaxBarLenDie Funktionen sind gleich.

Futures-Optionen

  • Varietätcode: Vertragscode, der nur dann eingestellt werden muss, wenn das Exchange-Objekt ein Non-Cash Exchange-Objekt ist.
  • Mindestbetrag der Aufträge: Der Mindestbetrag der Aufträge zum Zeitpunkt der Bestellung.

Reale Optionen

  • Automatische Wiederaufnahme des Fortschritts: Wiederherstellung des Zustands vor dem Ende der letzten Strategie.
  • Anzahl der Auftragswiederholungen: Wenn der Auftrag nicht ausgeführt wird, wird der Auftrag widerrufen und der Auftrag erneut getestet. Dieser Parameter dient zur Begrenzung der maximalen Anzahl von Wiederholungen.
  • Netzwerk-Umfrageintervalle ((Millisekunden): Nur für REST-Protokollen gültig, um Netzwerk-Anfragenintervalle zu steuern und zu vermeiden, dass Anfragen zu häufig sind und die Börsengrenzen überschreiten.
  • Kontosynchronisierungszeit (in Sekunden): Zeitspanne, in der die Kontodaten synchronisiert werden.
  • Positionssynchronisierung nach der Eröffnung der Position (in Millisekunden): Die Einstellung einer größeren Synchronisierung kann diese Probleme lindern.
  • Hebelzahl: Setzen Sie die Hebelzahl.

In-Konto-Transaktionen und andere Einstellungen

  • Einmalige Transaktionsmenge: Die Standard-Einmalige Transaktionsmenge gilt nur für Bargeld.
  • Minimaler Umsatz: Minimaler Umsatz.
  • Preisexaktheit: Preisexaktheit, also die geringe Zahl der Preise.
  • Handelsartgenauigkeit: Genauigkeit der nächsten Bestellung, d.h. die kleine Zahl der nächsten Bestellung.
  • Die Gebühren für die Berechnung von Daten mit dieser Einstellung betragen 0,002 = 2 tausendstel.
  • Verlust- und Verluststatistiken: Verlust- und Verluststatistiken werden nur auf der Festplatte verwendet.
  • Versagter Wiederaufnahmeversuch ((ms): Wiederaufnahmeintervall bei fehlgeschlagenen Netzwerkanfragen.
  • Die Verwendung eines Agenten gilt nur für REST-Protokollen.
  • Verbergen Sie häufige Netzwerkfehler: Verbergen Sie häufige Fehler im Logbereich.
  • Die Umschalt-Basis-Adresse gilt nur für REST-Protokollen.
  • Push-Benachrichtigungen: Nachrichten an Postfächer weiterleiten usw.

Bestellung aufgeben

Positionen eröffnen

pine
strategy(title = "open long example", pyramiding = 3) // pyramiding 允许的同方向下单的次数 strategy.entry("long1", strategy.long, 0.01) // 市价开多仓,指定分组标签为long1 strategy.entry("long2", strategy.long, 0.02, when = close > ta.ema(close, 10)) // 条件触发,执行下单,市价开多仓 strategy.entry("long3", strategy.long, 0.03, limit = 30000) // 指定(较低的)价格,计划下买单订单,等待成交开仓,限价开仓

Niederlage

pine
strategy(title = "close long example", pyramiding = 2) // pyramiding 允许的同方向下单的次数 strategy.entry("long1", strategy.long, 0.1) // 市价开多仓,指定分组标签为long1 strategy.entry("long2", strategy.long, 0.1) // 市价开多仓,指定分组标签为long2 strategy.close("long1", when = strategy.position_size > 0.1, qty_percent = 50, comment = "close buy entry for 50%") // 平仓,指定平掉分组标签为long1的仓位的50%持仓 strategy.close("long2", when = strategy.position_size > 0.1, qty_percent = 80, comment = "close buy entry for 80%") // 平仓,指定平掉分组标签为long2的仓位的80%持仓

Handelsmechanismen

Die PINE-Sprache hat eine ähnliche Positionsmechanik wie einseitige Positionen. Zum Beispiel, wenn Positionen in mehreren Richtungen gehalten werden (z. B. wenn eine Position in mehreren Richtungen gehalten wird), werden die Orders, die zum Verkauf von Operationen, Planungslisten usw. ausgelöst (im Gegensatz zur Positionshaltung), zuerst die Positionen in mehreren Richtungen ausgeglichen (im Gegensatz zu allen Positionen), und dann die Orders ausgelöst (im Gegensatz zur Positionshaltung vor der Position).

Planungsbogen

Bei der Bestellung mit der Bestellinstruktion wird der Marktpreis als Default verwendet, wenn kein Preis angegeben ist. Außer dem Marktpreis kann auch über den Planbestell bestellt werden, der Planbestell wird nicht sofort betrieben. Der Planbestell kann in der Programmauftrags-Queue eingestellt werden, in der kein Programm vorhanden ist, wenn er ausgelöst wird.Festplatte / RückmessungIn der "Plan-Order"-Tabelle des Zeit-Status-Informations (d.h. der Status-Archiv, in dem die Strategie ausgeführt wird) sieht man, dass das System nur dann wirklich bestellt, wenn die Markt-Echtzeit-Preise die Bedingungen für die Auslösung dieser Plan-Einzelteile erfüllen. Daher ist es normal, dass diese Bestellungen mit einer geringen Abweichung von den Transaktionspreisen abschließen.strategy.entryWenn wir eine Funktion anfordern, können wirlimitstopParameter

var isTrade = false if not barstate.ishistory and not isTrade isTrade := true strategy.entry("test 1", strategy.long, 0.1, stop=close*1.3, comment="test 1 order") // stop strategy.entry("test 2", strategy.long, 0.2, limit=close*0.7, comment="test 2 order") // limit strategy.entry("test 3", strategy.short, 0.3, stop=close*0.6, limit=close*1.4, comment="test 3 order") // stop-limit
  • Limit-Bestellung

    Setzen Sie den Limitpreis für die Bestellung, wenn die Bestellung als Kaufpreis gilt (d.h.directionDie Parameter sindstrategy.longDer Auftrag wird nur dann ausgelöst, wenn der aktuelle Marktpreis unter diesem liegt.
    Wenn der Auftrag auf der Liste steht (d.h.directionDie Parameter sindstrategy.shortDer Auftrag wird nur dann ausgelöst, wenn der aktuelle Marktpreis höher ist als dieser Preis.

  • Stop-Befehl

    Setzen Sie einen Stop-Loss-Preis für eine Order, der nur dann ausgelöst wird, wenn der aktuelle Marktpreis höher ist als der Preis, zu dem die Order gekauft wurde.
    Wenn ein Auftrag als Verkaufspreis ausgeführt wird, wird der Auftrag nur dann ausgelöst, wenn der aktuelle Marktpreis unter diesem Preis liegt.

  • Stop-Limit-Bestellung

    Gleichzeitig eingestelltlimitstopParameter, bei denen der Auftrag zu dem zuerst qualifizierten Preis ausgelöst wird.

Prozentsatz der Ansprüche

pine
//@version=5 strategy("Percent of Equity Order", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // 简单的均线交叉策略 longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28)) shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) // 如果均线交叉条件满足,则买入或卖出 if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)

Geben Siedefault_qty_type=strategy.percent_of_equityNach der Einstellungdefault_qty_valueAls Prozentsatz ((0 ~ 100), 1 ist 1%. Der Auftrag wird nach der Anzahl der Währungen berechnet, die auf dem Konto angegeben sind. Beispielsweise: Das aktuelle Konto hat 10000 USDT und setzt einen Auftrag von 1%, d.h. einen Auftrag mit 100 USDT (berechnet nach dem aktuellen Preis beim Verkauf).

Erklärung, Logik und Schlüsselwörter

var

var ist das Schlüsselwort für die Verteilung und einmalige Initialisierung von Variablen.
In der Regel führt eine Variablenzuweisung ohne das Schlüsselwort var dazu, dass die Variablenwerte bei jeder Datenaktualisierung überschrieben werden. Im Gegensatz dazu können Variablen, die mit dem Schlüsselwort var zugewiesen werden, trotz der Datenaktualisierung die Statuskarte behalten und nur dann ändern, wenn die Bedingungen in den if-Expressions erfüllt sind.

var variable_name = expression

Erklärungen:

  • variable_name- jeder Name der in Pine Script erlaubten Benutzervariablen ((, der aus groß- und kleingeschriebenen lateinischen Buchstaben, Zahlen und Unterstrichen besteht))_), aber nicht mit einer Ziffer.)
  • expression- Jeder arithmetische Ausdruck, wie die Definition einer regulären Variablen. Der Ausdruck wird berechnet und der Variablen einmal zugewiesen.

Beispiel

pine
// Var keyword example var a = close var b = 0.0 var c = 0.0 var green_bars_count = 0 if close > open var x = close b := x green_bars_count := green_bars_count + 1 if green_bars_count >= 10 var y = close c := y plot(a, title = "a") plot(b, title = "b") plot(c, title = "c")

Die Variable 'a' behält den Schlusskurs der ersten Säule jeder Säule in der Reihe.
Die Variable 'b' hält den Schlusskurs der ersten in der Reihe, der grünen Zitronen-Preisschwange.
Die Variable 'c' hält den Schlusskurs für die zehnte Kartoffel in der Reihe.

Auf der FMZ gibt es eine Realzeit- und eine Schlusskursmodell, die für dievarvaripDie Variablen der Erklärung werden mit dem folgenden Code getestet:

pine
strategy("test pine", "test 1", true) // 测试 var varip var i = 0 varip ii = 0 // 将策略逻辑每轮改变的i、ii打印在图上 plotchar(true, title="ii", char=str.tostring(ii), location=location.abovebar, color=color.red) plotchar(true, title="i", char=str.tostring(i), location=location.belowbar, color=color.green) // 每轮逻辑执行都给i、ii递增1 if true i := i + 1 ii := ii + 1
  • Echtzeit-Preismodell
    Der Testcode wird in zwei Phasen ausgeführt: 1. Historische K-Linie 2. Echtzeit-K-Linie 3. Bei einem Echtzeit-Preismodell und der historischen K-Linie.varvaripDie Variablen i und ii der Erklärung werden bei jeder Ausführung des Strategiecodes in der Erhöhung ausgeführt, daif trueSo können wir sehen, dass die Zahlen, die auf der K-Linie BAR der Rückmessung angezeigt werden, jeweils in der Zunahme von 1 angezeigt werden. Wenn die historische K-Linie Phase endet, beginnt die reale K-Linie Phase.varvaripDa es sich um ein Echtzeit-Preismodell handelt, wird der Strategiecode für jede Preisänderung innerhalb einer K-Linie BAR ausgeführt.i := i + 1Undii := ii + 1Der Unterschied ist, dass ii jedes Mal geändert wird. Obwohl i auch jedes Mal geändert wird, wird der vorherige Wert bei der nächsten Ausführung der Strategie-Logik wiederhergestellt, bis der aktuelle K-Linien-BAR abgelaufen ist, um den Wert von i zu aktualisieren (das heißt, der vorherige Wert wird bei der nächsten Ausführung der Strategie-Logik nicht wiederhergestellt). So kann man sehen, dass die Variable i immer noch pro BAR erhöht wird.

  • Schlusskursmodell
    Da die Schlusskursmodelle eine Strategie-Logik ausführen, wenn jeder K-Line BAR abgelaufen ist. In der Schlusskursmodelle werden die historischen K-Line-Phasen und die Echtzeit-K-Line-Phasen in der SchlusskursmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodellmodvarvaripDie Variablen, die in der Erklärung angegeben sind, zeigen sich in den oben genannten Beispielen in einer exzessiven Erhöhung, nämlich in einer Erhöhung von 1 BAR pro K-Zeile.

varip

varip ((var intrabar persist) ist ein Schlüsselwort für die Verteilung und einmalige Initialisierung von Variablen. Es ist ähnlich wie das Schlüsselwort var, aber die Variablen mit der Varip-Erklärung behalten ihren Wert zwischen den K-Linien-Aktualisierungen in Echtzeit.

varip variable_name = expression

Erklärungen:

  • variable_name- jeder Name der in Pine erlaubten Benutzervariablen ((), der sich aus Groß- und Kleinbuchstaben, Zahlen und Unterstrichen zusammensetzen kann_), aber nicht mit einer Ziffer.)
  • expression- jeder arithmetische Ausdruck, wie bei der Definition einer regulären Variablen. Auf der ersten K-Zeile wird der Ausdruck nur einmal berechnet und der Variablen einmal zugewiesen.

Beispiel

pine
// varip varip int v = -1 v := v + 1 plot(v)

Mit var gibt die Grafik den Wert bar_index zurück. Mit varip geschieht das gleiche auf der historischen K-Linie, aber auf der realen K-Linie gibt die Grafik einen Wert zurück, der für jeden tick um 1 erhöht wird.

Anmerkung
Nur mit einfachen Typen wie float, int, bool, string und Arrays dieser Typen verwendet werden.

true

Der Wert einer Variablen vom Typ Boole, oder wenn der Ausdruck verwendet wirdVergleichoderLogikDer Operator berechnet die Werte:

Anmerkung
Siehe auchVergleichOperator undLogikBeschreibung des Operators:

Siehe auch
bool

false

Zeigt die Werte einer Boole-Variablen sowie die Ergebnisse von Vergleichs- und Logikoperationen.

Anmerkung
Siehe auchVergleichOperator undLogikBeschreibung des Operators:

Siehe auch
bool

if

Eine If-Anweisung definiert den Satzblock, der ausgeführt werden muss, wenn die Ausdrucksbedingung erfüllt wird. Die Schreibsprache Pine Version 4 erlaubt die Verwendung der <unk>else if<unk>-Syntax.

Der Code stammt von:

var_declarationX = if condition var_decl_then0 var_decl_then1 ... var_decl_thenN return_expression_then else if [optional block] var_decl_else0 var_decl_else1 ... var_decl_elseN return_expression_else else var_decl_else0 var_decl_else1 ... var_decl_elseN return_expression_else

Anmerkung
var_declarationX- Diese Variable erhält die Werte der if-Sätze
condition- Wenn die Bedingung wahr ist, wird ein Satzblock verwendetthenDie Logik in dervar_decl_then0var_decl_then1Wenn die Bedingung "false" ist, wird ein Satzblock verwendet.else ifoderelseDie Logik in dervar_decl_else0var_decl_else1Das ist eine gute Idee.
return_expression_then , return_expression_else- Der letzte Ausdruck im Modul oder der Ausdruck aus dem Blockelse gibt den endgültigen Wert des Statements zurück. Wenn die Variablen am Ende der Erklärung stehen, ist ihr Wert der Ergebnis.

Der Typ der zurückgegebenen Werte für die if-Aussage hängt vonreturn_expression_thenUndreturn_expression_elseDie Typen müssen übereinstimmen, wenn sie auf TradingView ausgeführt werden: Es ist unmöglich, einen Integerwert aus dem Then-Sentenzblock zurückzugeben, wenn Sie einen Stringwert in der else-Block haben. Wenn die folgenden Beispiele auf FMZ ausgeführt werden, werden sie nicht fehlerhaft, und wenn die y-Werte "open" sind, ist die Zahl bei der Plotzeichnung n/a.

Beispiel

pine
// This code compiles x = if close > open close else open // This code doesn’t compile by trading view // y = if close > open // close // else // "open" plot(x)

Kann weggelassen werdenelseBlock <unk> In diesem Fall wird der Variablen var_declarationX ein <unk>empty-Threshold (na, false oder <unk>) zugewiesen, wenn die Bedingung false ist:

Beispiel

pine
// if x = if close > open close // If current close > current open, then x = close. // Otherwise the x = na. plot(x)

Es können mehrere <unk>else if<unk>-Blöcke verwendet werden oder gar keine. <unk>then<unk>, <unk>else if<unk>, <unk>else<unk>-Blöcke werden mit vier Leerstellen verschoben:

Beispiel

pine
// if x = if open > close 5 else if high > low close else open plot(x)

Kann ignoriert werdenifDas Ergebnis der Aussage ((<unk>var_declarationX=<unk> ist auszulassen)). Es kann nützlich sein, wenn Sie die Nebenwirkungen der Aussage benötigen, z. B. im Strategiehandel:

Beispiel

pine
if (ta.crossover(high, low)) strategy.entry("BBandLE", strategy.long, stop=low) else strategy.cancel(id="BBandLE")

Die If-Sätze können sich gegenseitig umfassen:

Beispiel

pine
// if float x = na if close > open if close > close[1] x := close else x := close[1] else x := open plot(x)

for

Die 'for'-Struktur erlaubt die Wiederholung mehrerer Sätze:

[var_declaration =] for counter = from_num to to_num [by step_num] statements | continue | break return_expression

var_declaration- Eine optionale Variablen-Anweisung, die als Wert des return_expression für den Rücklauf zugewiesen wird.
counter- Variable, die den Wert des Rücklaufzählers speichern und bei jeder Iteration des Rücklaufes den Wert 1 oder step_num erhöhen/reduzieren.
from_num- Startwert des Zählers. Die Verwendung von Thresholds int/float Thresholds/Expressions ist erlaubt.
to_num- Endwert des Zählers. Der Kreislauf wird unterbrochen, wenn der Zähler größer als to_num ist (oder kleiner als to_num, wenn from_num > to_num ist). Die Verwendung von Thresholds int/float Thresholds/Expressions ist erlaubt, aber sie werden nur bei der ersten Iteration des Kreislaufs bewertet.
step_num- Der Zähler nimmt zu oder sinkt. Es ist optional. Der Standardwert ist +1 oder -1, je nachdem, welcher der größte von from_num oder to_num ist.
statements | continue | break- Eine beliebige Anzahl von Sätzen, oder 'continue' oder 'break' Schlüsselwörter, in 4 Leerzeichen oder eine Tab eingekrümmt.
return_expression- Die Rückgabewert des Loops wird, wenn vorhanden, einer Variablen in der var_declaration zugewiesen. Wenn der Loop aufgrund der Schlüsselwörter <unk>continue<unk> oder <unk>break<unk> aussteigt, wird die Rückgabewert des Loops der Wert der letzten Variablen zugewiesen, die vor dem Aussteigen des Loops zugewiesen wurden.
continue- Schlüsselwörter, die nur im Rücklauf verwendet werden können. Sie führen dazu, dass die nächste Iteration des Rücklaufes ausgeführt wird.
break- Die Schlüsselwörter für den Rückzug aus dem Kreis.

Beispiel

pine
// Here, we count the quantity of bars in a given 'lookback' length which closed above the current bar's close qtyOfHigherCloses(lookback) => int result = 0 for i = 1 to lookback if close[i] > close result += 1 result plot(qtyOfHigherCloses(14))

Siehe auch
for...in while

for...in

for...inDie Struktur erlaubt die Wiederholung von mehreren Anweisungen für jedes Element im Array. Sie kann mit jedem der folgenden Parameter verwendet werden:array_element, oder mit zwei Parametern:[index, array_element]Die zweite Form beeinträchtigt nicht die Funktion des Loops. Sie verfolgt den Index der aktuellen Iteration in der ersten Variablen des Moleküls.

[var_declaration =] for array_element in array_id statements | continue | break return_expression [var_declaration =] for [index, array_element] in array_id statements | continue | break return_expression

var_declaration- eine wählbare Variablen-Anweisung, die den Kreislaufreturn_expressionWerte von
index- Optionale Variablen, die den aktuellen Iterationsindex verfolgen. Der Index beginnt mit 0. Die Variablen sind im Kreislauf unveränderlich.array_elementIn der Untergruppe
array_element- enthält die Variablen für jedes Element der fortlaufenden Arrays, die in der Schleife behandelt werden sollen. Diese Variablen sind im Schleifer unveränderlich.
array_id- Array-ID für die Kreis-Iteration.
statements | continue | break- Eine beliebige Anzahl von Sätzen, oder 'continue' oder 'break' Schlüsselwörter, in 4 Leerzeichen oder eine Tab eingekrümmt.
return_expression- Die Rückgabewert des Loops wird zugewiesen anvar_declarationWenn der Lauf aufgrund des Schlüsselworts 'continue' oder 'break' beendet wird, ist der Rückgabewert der Lauf die letzte Variable, die vor dem Ausstieg bewertet wurde.
continue- Schlüsselwörter, die nur im Rücklauf verwendet werden können. Sie führen dazu, dass die nächste Iteration des Rücklaufes ausgeführt wird.
break- Die Schlüsselwörter für den Rückzug aus dem Kreis.

Es ist erlaubt, Elemente oder Größen der Arrays innerhalb der Loop zu ändern.
Hier verwenden wirfor...inEinparametrische Formulierungen für die Bestimmung, wie viele OHLC-Werte der K-Zeile größer sind als die 'close'-Werte der SMA auf jeder K-Zeile:

Beispiel

pine
// Here we determine on each bar how many of the bar's OHLC values are greater than the SMA of 'close' values float[] ohlcValues = array.from(open, high, low, close) qtyGreaterThan(value, array) => int result = 0 for currentElement in array if currentElement > value result += 1 result plot(qtyGreaterThan(ta.sma(close, 20), ohlcValues))

Hier benutzen wir die zwei Formulierungen von for...in, um unsereisPosDer Wert des Arrays ist trueWenn sie bei uns sind.valuesArrayDie entsprechenden Werte im Array sind in der richtigen Zeit:

Beispiel

pine
// for...in var valuesArray = array.from(4, -8, 11, 78, -16, 34, 7, 99, 0, 55) var isPos = array.new_bool(10, false) for [index, value] in valuesArray if value > 0 array.set(isPos, index, true) if barstate.islastconfirmedhistory runtime.log(str.tostring(isPos))

Siehe auch
for while array.sum array.min array.max

while

whileDie Sätze erlauben die bedingte Iteration der lokalen Codeblöcke.

variable_declaration = while boolean_expression ... continue ... break ... return_expression

Erklärungen:
variable_declaration- Wahlbare Variablen-Erklärungen.return expressionDie Variable kann mit einer Initialisierung versehen werden.
boolean_expression- Wenn es wahr ist, wird ausgeführtwhileWenn false ist, wird inwhileDie Szenarien werden nach den Sätzen ausgeführt.
continue - continueDie Schlüsselwörter führen zu einer Abzweigung des Kreislaufs in die nächste Iteration.
break - breakSchlüsselwörter beenden den Kreislauf. Das Skript wird ausgeführt.whileDie Aussage wird wieder aufgenommen.
return_expression- Ich gebe.whileOptionale Zeile, die Werte zurückgibt.

Beispiel

pine
// This is a simple example of calculating a factorial using a while loop. int i_n = input.int(10, "Factorial Size", minval=0) int counter = i_n int factorial = 1 while counter > 0 factorial := factorial * counter counter := counter - 1 plot(factorial)

Anmerkung
AnfangswhileDer lokale Codeblock nach der Zeile muss in vier Leerzeichen oder ein Zeichner eingekrempelt werden.whileDie KreisläufewhileDer nächste Boolean-Ausdruck muss entweder endgültig falsch sein oder ausgeführt werden.break

switch

Der switch-Operator überträgt die Kontrolle an einen der mehreren Sätze, je nach den Bedingungen und den Werten des Ausdrucks.

[variable_declaration = ] switch expression value1 => local_block value2 => local_block ... => default_local_block [variable_declaration = ] switch boolean_expression1 => local_block boolean_expression2 => local_block ... => default_local_block

Der Begriff "switch" wird mit den Ausdrücken:

Beispiel

pine
// Switch using an expression string i_maType = input.string("EMA", "MA type", options = ["EMA", "SMA", "RMA", "WMA"]) float ma = switch i_maType "EMA" => ta.ema(close, 10) "SMA" => ta.sma(close, 10) "RMA" => ta.rma(close, 10) // Default used when the three first cases do not match. => ta.wma(close, 10) plot(ma)

Switch ohne Ausdruck:

Beispiel

pine
strategy("Switch without an expression", overlay = true) bool longCondition = ta.crossover( ta.sma(close, 14), ta.sma(close, 28)) bool shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28)) switch longCondition => strategy.entry("Long ID", strategy.long) shortCondition => strategy.entry("Short ID", strategy.short)

Rückgabewert
Der Wert des letzten Ausdrucks in dem ausgeführten lokalen Statementblock.

Anmerkung
Nur ausgeführtlocal_blockBeispiel oderdefault_local_blockEiner davon.default_local_blockNur mit=>Die Markierung wird zusammen eingeführt und nur ausgeführt, wenn das vorherige Block nicht ausgeführt wurde. WennswitchDas Ergebnis der Aussage ist einer Variablen zugewiesen und nicht angegebendefault_local_blockWenn nicht ausgeführt,local_block, wird zurückgegeben.naIch werde...switchWenn die Ergebnisse der Sätze den Variablen zugeordnet werden, werden allelocal_blockDie Instanz muss den gleichen Typ zurückgeben.

Siehe auch
if ?:

series

series ist ein Schlüsselwort, das den Datensatztyp angibt.seriesSchlüsselwörter sind in der Regel unnötig.

Operator

=

Verwendet wird, um Variablen Werte zuzuweisen, aber nur wenn Variablen erklärt werden (für den ersten Gebrauch).

:=

Der Verwertungsoperator, der den Werten der Variablen auf der linken Seite zugeordnet wird.

!=

Nicht gleich ≠. Die Ausdrucksweise ist für jeden Typ gültig ≠.

expr1 != expr2

Rückgabewert
Bull-Werte, oder eine Reihe von Bull-Werten.

%

Modellzahlen ((Integer-Zusatzzahlen)) gelten für Zahlenwerte ausgedrückt.

expr1 % expr2

Rückgabewert
Eine ganze Zahl oder ein Floating Point oder eine Reihe von Werten.

Anmerkung
In einem Pine-Skript wird der Handel bei der Berechnung des Restbetrages der ganzen Zahlen unterbrochen. Das heißt, er wird zu dem kleinsten absoluten Wert umgerechnet. Der erhaltene Wert wird mit dem gleichen Symbol wie die Dividende gekennzeichnet.

Beispiel: -1 % 9 = -1 - 9 * truncate ((-1/9) = -1 - 9 * truncate ((-0.111) = -1 - 9 * 0 = -1。

%=

Modulbezeichnung. Gilt für Zahlen.

expr1 %= expr2

Beispiel

pine
// Equals to expr1 = expr1 % expr2. a = 3 b = 3 a %= b // Result: a = 0. plot(a)

Rückgabewert
Eine ganze Zahl oder ein Floating Point oder eine Reihe von Werten.

*

Die Multiplikation gilt für Zahlen.

expr1 * expr2

Rückgabewert
Eine ganze Zahl oder ein Floating Point oder eine Reihe von Werten.

*=

Die Multiplikationsbezeichnung gilt für Zahlen.

expr1 *= expr2

Beispiel

pine
// Equals to expr1 = expr1 * expr2. a = 2 b = 3 a *= b // Result: a = 6. plot(a)

Rückgabewert
Eine ganze Zahl oder ein Floating Point oder eine Reihe von Werten.

+

Zusätzliche oder einheitliche Positivzahlen. Für Zahlen oder Zeichenketten.

expr1 + expr2
+ expr

Rückgabewert
Binäre Strings+Gibt eine Zusammenführung von express1 und express2 zurück
Die Zahl gibt eine ganze Zahl oder einen Floating-Point-Wert oder eine Reihe von Werten zurück:
Die binäre '+' gibt expr1 plus expr2。 zurück.
Ein Yuan + Ein Yuan gibt expr zurück (nicht hinzugefügt für die Symmetrie des Ein-Yuan-Operators).

Anmerkung
Sie können Arithmetik-Operatoren mit Zahlen und Variablen verwenden. Im Falle von Variablen werden die Operatoren auf die Elemente angewendet.

+=

Adjektiv-Beschreibung <unk> für Zahlen oder Zeichenketten <unk>

expr1 += expr2

Beispiel

pine
// Equals to expr1 = expr1 + expr2. a = 2 b = 3 a += b // Result: a = 5. plot(a)

Rückgabewert
Für Strings gibt es eine Serienfolge von expr1 und expr2. Für Zahlen gibt es eine ganze Zahl oder einen Floating-Point-Wert oder eine Reihe von Werten.

Anmerkung
Sie können Arithmetik-Operatoren mit Zahlen und Variablen verwenden. Im Falle von Variablen werden die Operatoren auf die Elemente angewendet.

-

Abzug oder Ein-Meter-Negativ-Nummer. Für die Zahlen-Ausdrücke.

expr1 - expr2
- expr

Rückgabewert
Gibt eine ganze Zahl oder einen Floating-Point-Wert oder eine Reihe von Werten zurück:
Die Binäre '+' gibt expr1 minus expr2 wieder.
Einfache-Gibt die Negativform von express zurück.

Anmerkung
Sie können Arithmetik-Operatoren mit Zahlen und Variablen verwenden. Im Falle von Variablen werden die Operatoren auf die Elemente angewendet.

-=

Abträglichkeitsbezeichnung. Gilt für Zahlen.

expr1 -= expr2

Beispiel

pine
// Equals to expr1 = expr1 - expr2. a = 2 b = 3 a -= b // Result: a = -1. plot(a)

Rückgabewert
Eine ganze Zahl oder ein Floating Point oder eine Reihe von Werten.

/

Ausnahmen gelten für die numerischen Ausdrücke.

expr1 / expr2

Rückgabewert
Eine ganze Zahl oder ein Floating Point oder eine Reihe von Werten.

/=

Der Ausnahmebefehl gilt für die numerischen Ausdrücke.

expr1 /= expr2

Beispiel

pine
// Equals to expr1 = expr1 / expr2. a = 3 b = 3 a /= b // Result: a = 1. plot(a)

Rückgabewert
Eine ganze Zahl oder ein Floating Point oder eine Reihe von Werten.

<

Weniger als ≠ gilt für die Zahlenform ≠

expr1 < expr2

Rückgabewert
Bull-Werte, oder eine Reihe von Bull-Werten.

<=

Weniger als oder gleich ≠ ≠ ≠

expr1 <= expr2

Rückgabewert
Bull-Werte, oder eine Reihe von Bull-Werten.

==

Gilt für jede Art von Ausdruck.

expr1 == expr2

Rückgabewert
Bull-Werte, oder eine Reihe von Bull-Werten.

=>

Der Operator '=>' wird verwendet, um eine benutzerdefinierte Funktionsdeklaration undswitchIn der Aussage:

Die Syntax der Funktionsdeklaration lautet:

<identifier>([<parameter_name>[=<default_value>]], ...) => <local_block> <function_result>

Eine.<local_block>Es sind null oder mehr Pine-Aussagen.
<function_result>Ist eine Variable, ein Ausdruck oder eine Gruppe.

Beispiel

pine
// single-line function f1(x, y) => x + y // multi-line function f2(x, y) => sum = x + y sumChange = ta.change(sum, 10) // Function automatically returns the last expression used in it plot(f1(30, 8) + f2(1, 3))

Anmerkung
Weitere Informationen zu den Benutzerdefinitionen finden Sie auf den Seiten "Erklärungen" und "Skriptbibliothek" des Benutzerhandbuchs.

>

Größer als <unk> gilt für Zahlen.

expr1 > expr2

Rückgabewert
Bull-Werte, oder eine Reihe von Bull-Werten.

>=

Größer als oder gleich: Gilt für numerische Ausdrücke:

expr1 >= expr2

Rückgabewert
Bull-Werte, oder eine Reihe von Bull-Werten.

?:

Der Dreifach-Bedingungs-Operator.

expr1 ? expr2 : expr3

Beispiel

pine
// Draw circles at the bars where open crosses close s2 = ta.cross(open, close) ? math.avg(open,close) : na plot(s2, style=plot.style_circles, linewidth=2, color=color.red) // Combination of ?: operators for 'switch'-like logic c = timeframe.isintraday ? color.red : timeframe.isdaily ? color.green : timeframe.isweekly ? color.blue : color.gray plot(hl2, color=c)

Rückgabewert
Wenn expr1 als true bewertet wird, dann ist expr2 und wenn nicht, dann ist es expr3. Die Nullwerte ((0 und NaN+, Infinity,-Infinity) werden als false und alle anderen Werte als true angesehen.

Anmerkung
Wenn Sie es nicht benötigen, verwenden Sie na als eine Abzweigung von na.
Sie können zwei oder mehrere?:-Operatoren kombinieren, um eine Aussage wie "<unk>switch<unk>" zu realisieren (siehe Beispiel oben).
Sie können Arithmetik-Operatoren mit Zahlen und Variablen verwenden. Im Falle von Variablen werden die Operatoren auf die Elemente angewendet.

Siehe auch
na

[]

Die Serie Subtitle <unk> bietet Zugriff auf die vorherigen Werte der Serie expr1 <unk> expr2 ist die Zahl der letzten k Zeilen, die ein Wert sein muss <unk> die Floating wird nach unten umgeordnet <unk>

expr1[expr2]

Beispiel

pine
// [] can be used to "save" variable value between bars a = 0.0 // declare `a` a := a[1] // immediately set current value to the same as previous. `na` in the beginning of history if high == low // if some condition - change `a` value to another a := low plot(a)

Rückgabewert
Eine Reihe von Werten.

Siehe auch
math.floor

and

Die Logik AND ≠ gilt für Boolean-Ausdrücke ≠.

expr1 and expr2

Rückgabewert
Bull-Werte, oder eine Reihe von Bull-Werten.

or

OR-Logik gilt für Boolean-Ausdrücke.

expr1 or expr2

Rückgabewert
Bull-Werte, oder eine Reihe von Bull-Werten.

not

Logische Umkehrung ((NOT) <unk>) <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk>

not expr1

Rückgabewert
Bull-Werte, oder eine Reihe von Bull-Werten.

Datentyp Schlüsselwörter

bool

Die Schlüsselwörter des Typs bool (bool) für explizit erklärte Variablen oder Parameter. Die Werte der Variablen "Bool" können true, false oder na sein.

Beispiel

pine
// bool bool b = true // Same as `b = true` b := na plot(b ? open : close)

Anmerkung
Die ausdrückliche Erwähnung des Typs in der Variablenerklärung ist optional, es sei denn, er wird mit na initiiert. Weitere Informationen zum Typ Pine finden Sie auf der Benutzerhandbuchseite des Typesystems.

Siehe auch
var varip int float color string true false

int

Die Schlüsselwörter des Typs <unk>int <unk> ((integer)) für die eindeutige Angabe von Variablen oder Parametern.

Beispiel

pine
// int int i = 14 // Same as `i = 14` i := na plot(i)

Anmerkung
Die ausdrückliche Erwähnung des Typs in der Variablenerklärung ist optional, es sei denn, er wird mit na initiiert. Weitere Informationen zum Typ Pine finden Sie auf der Benutzerhandbuchseite des Typesystems.

Siehe auch
var varip float bool color string

float

Schlüsselwörter vom Typ float für explizit deklarierte Variablen oder Parameter.

Beispiel

pine
// float float f = 3.14 // Same as `f = 3.14` f := na plot(f)

Anmerkung
Die eindeutige Erwähnung des Typs in der Variablenerklärung ist optional, es sei denn, es wird mit na initialisiert.

Siehe auch
var varip int bool color string

string

Schlüsselwort vom Typ "string" für explizit deklarierte Variablen oder Parameter.

Beispiel

pine
// string string s = "Hello World!" // Same as `s = "Hello world!"` // string s = na // same as "" plot(na, title=s)

Anmerkung
Die ausdrückliche Erwähnung des Typs in der Variablenerklärung ist optional, es sei denn, er wird mit na initiiert. Weitere Informationen zum Typ Pine finden Sie auf der Benutzerhandbuchseite des Typesystems.

Siehe auch
var varip int float bool str.tostring str.format

color

Das Schlüsselwort für den Typ "color", der für die Variablen oder Parameter einer expliziten Erklärung verwendet wird.

Beispiel

pine
// color color textColor = color.green if barstate.islastconfirmedhistory runtime.log("test", textcolor = textColor)

Anmerkung
Die Farbschrift hat das folgende Format: #RRGGBB oder #RRGGBBAA. Die Buchstabenpaare repräsentieren die sechzehnstelligen Werte von 00 bis FF ((zehnstellige 0 bis 255), wobei RR, GG und BB die Werte der Farbanteile von Rot, Grün und Blau sind. AA ist die Farbtransparenz (oder die Alphaanteil), wobei 00 nicht sichtbar ist und FF nicht transparent ist.
Die ausdrückliche Erwähnung des Typs in der Variablenerklärung ist optional, es sei denn, er wird mit na initiiert. Weitere Informationen zum Typ Pine finden Sie auf der Benutzerhandbuchseite des Typesystems.

Siehe auch
var varip int float string color.rgb color.new

array

Die Schlüsselwörter für die Array-Array-Typen von Arrays, die Variablen oder Parameter ausdrücklich deklarieren.array.new<type>,array.fromDie Funktion erzeugt ein Arrayobjekt ((oder ID) <unk>.

Beispiel

pine
// array array<float> a = na a := array.new<float>(1, close) plot(array.get(a, 0))

Anmerkung
Die Array-Objekte sind immer in der Form von <unk>-Serie <unk>.

Siehe auch
var array.new array.from

Objects

Die PINE-Objekte sind ein Beispiel für die benutzerdefinierten Typen ((UDT) und können als Methodenlose Klassen verstanden werden, die es dem Benutzer ermöglichen, in der Strategie benutzerdefinierte Typen zu erstellen, die verschiedene Werte in einer Einheit organisieren.

Definition des Typs

Lassen Sie uns einen Order-Typ definieren, um die Bestellinformationen zu speichern:

pine
type order float price float amount string symbol
  • verwendentypeKeyword-Erklärungs-Typ
  • Das Schlüsselwort type wird von der Typenbezeichnung gefolgt.
  • Die erste Zeile "type" definiert den Typennamen und dann in vier Leerzeichen die Felder, die der Typ enthält.
  • Jedes Feld muss seinen Datentyp angeben, z. B. int, float, string.

Erstellen von Objekten

Benutzen Sie die erklärten Typen, die aufgerufen werdennew()Objekt der Funktion:

pine
order1 = order.new()
pine
order1 = order.new(100, 0.1, "BTC_USDT")
pine
order1 = order.new(amount = 0.1, symbol = "BTC_USDT", price = 100)

Sie können auch leere Objekte erstellen:

pine
order order1 = na

Hier ist ein Beispiel aus der Praxis:

pine
type order float price float amount string symbol if strategy.position_size == 0 and open > close strategy.entry("long", strategy.long, 1) order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker) // runtime.log(order1) // 输出 {"data":{"price":46002.8,"amount":1,"symbol":"swap"},"_meta":0,"_type":"order"}

Ein Beispiel ist dieser Satz:

pine
order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)

Das kann auch in folgender Form geschrieben werden:

pine
order order1 = na order1 := order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)

Objekt-Typ für die Verwendung von var-Keywords

pine
//@version=5 indicator("Objects using `var` demo") //@type A custom type to hold index, price, and volume information. type BarInfo int index = bar_index float price = close float vol = volume //@variable A `BarInfo` instance whose fields persist through all iterations, starting from the first bar. var BarInfo firstBar = BarInfo.new() //@variable A `BarInfo` instance declared on every bar. BarInfo currentBar = BarInfo.new() // Plot the `index` fields of both instances to compare the difference. plot(firstBar.index, "firstBar") plot(currentBar.index, "currentBar")

Wenn eine variable des Objekts mit einem benutzerdefinierten Typ zugewiesen wird, wird die Keyword-Erklärung mit var automatisch auf alle Felder des Objekts angewendet. Das bedeutet, dass ein mit der Keyword-Erklärung deklariertes Objekt seinen Zustand zwischen jeder Iteration behält, ohne dass seine Feldwerte bei jeder Iteration neu initialisiert werden müssen.

  • Das firstBar-Objekt wird mit dem Schlüsselwort var deklariert, so dass sein Feld ((index, price, vol)) seine Werte bei jeder Iteration behält, beginnend mit dem ersten Eintrag bis zum Ende des letzten Eintrags.
  • Das currentBar-Objekt verwendet keine var-Keyword-Erklärung, so dass seine Felder bei jedem Eintrag neu initialisiert werden und bei jeder Iteration ein neues Objekt vorhanden ist.

Indem Sie die Index-Felder zweier Objekte abbilden, können Sie die Unterschiede zwischen ihnen vergleichen. firstBar.index behält bei jeder Iteration den vorher festgelegten Wert bei, während currentBar.index bei jeder Iteration als bar_index-Wert des aktuellen Eintrags neu initialisiert wird.

Objekt-Typ für die Verwendung von Varip-Keywords

pine
//@version=5 indicator("Objects using `varip` fields demo") //@type A custom type that counts the bars and ticks in the script's execution. type Counter int bars = 0 varip int ticks = 0 //@variable A `Counter` object whose reference persists throughout all bars. var Counter counter = Counter.new() // Add 1 to the `bars` and `ticks` fields. The `ticks` field is not subject to rollback on unconfirmed bars. counter.bars += 1 counter.ticks += 1 // Plot both fields for comparison. plot(counter.bars, "Bar counter", color.blue, 3) plot(counter.ticks, "Tick counter", color.purple, 3)

In Pine kann die Varip-Keyword verwendet werden, um anzuzeigen, dass ein Feld mit einem Objekt während der gesamten Ausführung des Skripts fortbesteht und nicht in einer unbestätigten Spalte zurückläuft.
In einer Erklärung des Typs Counter verwendet das bars-Feld keine Varip-Schlüsselwörter, so dass es in jeder unbestätigten Spalte zurückläuft. Das ticks-Feld verwendet die Varip-Schlüsselwörter, so dass es in keiner unbestätigten Spalte zurückläuft.
Das counter-Objekt wird mit dem Schlüsselwort var deklariert, so dass es während der gesamten Ausführung des Skripts bestehen bleibt.
In jeder Iteration werden die bars- und ticks-Felder um 1 erhöht. Die bars-Felder werden in jeder unbestätigten Spalte zurückgerollt, während die ticks-Felder nicht.
Schließlich können Sie die Unterschiede zwischen den Feldern counter.bars und counter.ticks vergleichen, indem Sie die Felder counter.bars und counter.ticks abbilden. Die Werte von counter.bars werden in jeder unbestätigten Spalte zurückgerollt, während die Werte von counter.ticks steigen, bis die Ausführung des Skripts beendet ist.

Ändern von Feldwerten

pine
type order float price float amount string symbol if strategy.position_size == 0 and open > close strategy.entry("long", strategy.long, 1) order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker) if strategy.position_size != 0 runtime.log(order1) order1.price := 999 order1.amount := 100 runtime.log(order1) runtime.error("stop")

Verwendbar:=Der Revaluation-Operator ändert den Wert des Objektfeldes.

Objektgruppe

Das Beispiel deklariert ein Null-Array, das Objekte des benutzerdefinierten Order-Types speichert:

pine
type order float price float amount string symbol arrOrder = array.new<order>() order1 = order.new(99, 1, "BTC_USDT") order2 = order.new(100, 2, "ETH_USDT") array.push(arrOrder, order1) array.push(arrOrder, order2) runtime.log(arrOrder) runtime.error("stop")

oder

pine
type order float price float amount string symbol var array<order> arrOrder = na arrOrder := array.new<order>() order1 = order.new(99, 1, "BTC_USDT") order2 = order.new(100, 2, "ETH_USDT") array.push(arrOrder, order1) array.push(arrOrder, order2) runtime.log(arrOrder) runtime.error("stop")

Objekt zu kopieren

In Pine werden Objekte durch Referenzen zugewiesen. Wenn ein vorhandenes Objekt einer neuen Variablen zugewiesen wird, weisen beide auf dasselbe Objekt hin.

pine
//@version=5 indicator("") type pivotPoint int x float y pivot1 = pivotPoint.new() pivot1.x := 1000 pivot2 = pivot1 pivot2.x := 2000 // Both plot the value 2000. plot(pivot1.x) plot(pivot2.x)

In dem folgenden Beispiel erstellen wir ein Pivot1-Objekt und setzen dessen Feld x auf 1000. Dann erklären wir, dass ein Pivot2 eine Variable enthält, die auf dieses Pivot1-Objekt verweist, so dass beide auf die gleiche Instanz verweisen. Daher ändert eine Änderung von Pivot2.x auch Pivot1.x, da beide auf das Feld x des gleichen Objekts verweisen.

Um eine Kopie zu erstellen, die unabhängig von dem ursprünglichen Objekt ist, können wir in diesem Fall die integrierte copy () -Methode verwenden. In diesem Beispiel deklarieren wir die Variablen, in denen pivot2 auf die kopierte Instanz des pivot1-Objekts verweist. Jetzt ändert die Änderung von pivot2.x nicht pivot1.x, da es sich um ein Feld handelt, in dem x ein einzelnes Objekt ist:

pine
//@version=5 indicator("") type pivotPoint int x float y pivot1 = pivotPoint.new() pivot1.x := 1000 pivot2 = pivotPoint.copy(pivot1) pivot2.x := 2000 // Plots 1000 and 2000. plot(pivot1.x) plot(pivot2.x)

Es ist zu beachten, dass die Copy-Methode von TradingView eine leichte Kopie ist. Wenn ein Objekt Felder eines speziellen Typs (Array usw.) hat, werden diese Felder in der leichten Kopie des Objekts auf die gleiche Instanz des Objekts verweisen.
Die FMZ-Plattform implementiert Deep Copy direkt, ohne zusätzliche Bearbeitung, wie zum Beispiel:

Tiefkopie

pine
//@version=5 indicator("test deepCopy") type orderInfo float price float amount type labelInfo orderInfo order string labelMsg labelInfo1 = labelInfo.new(orderInfo.new(100, 0.1), "test labelInfo1") labelInfo2 = labelInfo.copy(labelInfo1) labelInfo1.labelMsg := "labelInfo1->2" // 修改 labelInfo1 的基础类型字段,看是否影响 labelInfo2 labelInfo1.order.price := 999 // 修改 labelInfo1 的复合类型字段,看是否影响 labelInfo2 runtime.log(labelInfo1) runtime.log(labelInfo2) runtime.error("stop")

Die Testergebnisse werden bei der Ausführung von labelInfo.copy ((labelInfo1) als tiefe Kopien ausgeführt, und Änderungen an den Feldern von labelInfo1 haben keinen Einfluss auf labelInfo2。

Methods

Methoden der Sprache Pine sind spezielle Funktionen, die mit den integrierten oder benutzerdefinierten Typen einer bestimmten Instanz verbunden sind. In den meisten Fällen sind sie im Wesentlichen die gleichen wie die regulären Funktionen, bieten jedoch eine kürzere und bequemere Syntax. Benutzer können Methoden direkt mit Punktzeichen auf Variablen zugreifen, so wie sie Felder von Pine-Objekten zugreifen.

Eingebettete Methoden

Ein Beispiel dafür ist der folgende Text:

pine
//@version=5 indicator("Custom Sample BB", overlay = true) float sourceInput = input.source(close, "Source") int samplesInput = input.int(20, "Samples") int n = input.int(10, "Bars") float multiplier = input.float(2.0, "StdDev") var array<float> sourceArray = array.new<float>(samplesInput) var float sampleMean = na var float sampleDev = na // Identify if `n` bars have passed. if bar_index % n == 0 // Update the queue. array.push(sourceArray, sourceInput) array.shift(sourceArray) // Update the mean and standard deviaiton values. sampleMean := array.avg(sourceArray) sampleDev := array.stdev(sourceArray) * multiplier // Calculate bands. float highBand = sampleMean + sampleDev float lowBand = sampleMean - sampleDev plot(sampleMean, "Basis", color.orange) plot(highBand, "Upper", color.lime) plot(lowBand, "Lower", color.red)

Das kann man auch so schreiben:

pine
//@version=5 indicator("Custom Sample BB", overlay = true) float sourceInput = input.source(close, "Source") int samplesInput = input.int(20, "Samples") int n = input.int(10, "Bars") float multiplier = input.float(2.0, "StdDev") var array<float> sourceArray = array.new<float>(samplesInput) var float sampleMean = na var float sampleDev = na // Identify if `n` bars have passed. if bar_index % n == 0 // Update the queue. sourceArray.push(sourceInput) sourceArray.shift() // Update the mean and standard deviaiton values. sampleMean := sourceArray.avg() sampleDev := sourceArray.stdev() * multiplier // Calculate band values. float highBand = sampleMean + sampleDev float lowBand = sampleMean - sampleDev plot(sampleMean, "Basis", color.orange) plot(highBand, "Upper", color.lime) plot(lowBand, "Lower", color.red)

Das zeigt die Unterstützung von PINE.MethodsDanach der Code.array.avg(sourceArray)Die Methoden können in folgender Form geschrieben werden:sourceArray.avg()
Hinweis: FMZ wird vorläufig nicht unterstütztarray.avgEin solcher Aufruf.

Benutzerdefinierte Methoden

Pine erlaubt die Benutzerdefinition von benutzerdefinierten Methoden, die mit Objekten jeglicher eingebetteter oder benutzerdefinierter Art verwendet werden. Die Definitionsmethode ist im Wesentlichen die gleiche wie die Definitionsfunktion, jedoch mit zwei wichtigen Unterschieden:

  1. Das Schlüsselwort "method" muss vor dem Funktionsnamen stehen.
  2. Parameter der Methode, wobei der Typ des ersten Parameter eine eindeutige Angabe sein muss, da er den Typ des Objekts angibt, mit dem die Methode verbunden ist.

Zum Beispiel wird der Code für die Berechnung des Brin-Index in den folgenden Code als benutzerdefinierte Methode eingebettet:

pine
//@version=5 indicator("Custom Sample BB", overlay = true) float sourceInput = input.source(close, "Source") int samplesInput = input.int(20, "Samples") int n = input.int(10, "Bars") float multiplier = input.float(2.0, "StdDev") var array<float> sourceArray = array.new<float>(samplesInput) var float sampleMean = na var float sampleDev = na // Identify if `n` bars have passed. if bar_index % n == 0 // Update the queue. sourceArray.push(sourceInput) sourceArray.shift() // Update the mean and standard deviaiton values. sampleMean := sourceArray.avg() sampleDev := sourceArray.stdev() * multiplier // Calculate band values. float highBand = sampleMean + sampleDev float lowBand = sampleMean - sampleDev plot(sampleMean, "Basis", color.orange) plot(highBand, "Upper", color.lime) plot(lowBand, "Lower", color.red)

Es wurde geändert in:

pine
//@version=5 indicator("Custom Sample BB", overlay = true) float sourceInput = input.source(close, "Source") int samplesInput = input.int(20, "Samples") int n = input.int(10, "Bars") float multiplier = input.float(2.0, "StdDev") var array<float> sourceArray = array.new<float>(samplesInput) method maintainQueue(array<float> srcArray, float value, bool takeSample = true) => if takeSample srcArray.push(value) srcArray.shift() srcArray method calcBB(array<float> srcArray, float mult, bool calculate = true) => var float mean = na var float dev = na if calculate mean := srcArray.avg() dev := srcArray.stdev() * mult [mean, mean + dev, mean - dev] bool newSample = bar_index % n == 0 [sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample) plot(sampleMean, "Basis", color.orange) plot(highBand, "Upper", color.lime) plot(lowBand, "Lower", color.red)

Man kann sehen, dass die benutzerdefinierte Methode, die die Schlüsselwortmethod-Erklärung verwendet, die erste Parameter in der Parameterliste von maintainQueue und calcBB istarray<float>Der Typ ≠ bedeutet, dass die Methodearray<float>Die Methode der Typusvariablen, so dass man sehen kann, dass man den folgenden Code aufruft, um den Brin-Index zu berechnen:

pine
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)

Methods erneut laden

Benutzerdefinierte Methoden können vorhandene eingebaute und benutzerdefinierte Methoden mit demselben Identifikator überladen und überladen. Diese Funktion erlaubt dem Benutzer, mehrere Prozeduren zu definieren, die mit unterschiedlichen Parametersignaturen unter demselben Methodennamen verbunden sind. Als einfaches Beispiel nehmen wir an, dass wir eine Methode definieren möchten, um den Typ einer Variablen zu identifizieren. Da wir den Objekttyp, der mit der benutzerdefinierten Methode verbunden ist, explizit angeben müssen, müssen wir für jeden Typ, den wir identifizieren möchten, eine Überlastung definieren.

pine
//@version=5 indicator("Type Inspection") // @function Identifies an object's type. // @param this Object to inspect. // @returns (string) A string representation of the type. method getType(int this) => na(this) ? "int(na)" : "int" method getType(float this) => na(this) ? "float(na)" : "float" method getType(bool this) => na(this) ? "bool(na)" : "bool" method getType(color this) => na(this) ? "color(na)" : "color" method getType(string this) => na(this) ? "string(na)" : "string" a = 1 // a.getType(): float b = 1.0 // b.getType(): float c = true // c.getType(): bool d = color.white // d.getType(): string(na) e = "1" // e.getType(): string runtime.log("a.getType():", a.getType()) runtime.log("b.getType():", b.getType()) runtime.log("c.getType():", c.getType()) runtime.log("d.getType():", d.getType()) runtime.log("e.getType():", e.getType()) runtime.error("stop")

Die Basisart für jede Variable wird festgelegtgetType()Welche Überlastung wird verwendet? Auf der FMZ-Plattform wird der Werttyp als Float-Daten beurteilt, da die Basis der PINE-Skripte als Javascript-Sprache implementiert ist.

Eingebettete Funktionen

Der Aufruf einer Funktion kann mit Parametern übertragen werden, kann mit einem Parameternamen bewertet werden, kann direkt in die Variablen der entsprechenden Parameterposition übertragen werden und unterstützt auch die Mischverwendung. Zum Beispiel:

pine
plot(close, title="test plot") // 直接传参数 close ;指定参数 title ,赋值字符串"test plot"

Nach der Angabe des Parameternamens können die Variablen nicht mehr direkt als Parameter übertragen werden, sondern die folgenden Parameter müssen als Parametername-Angabe geschrieben werden.

pine
// plot(close, title="test", color.red) // 虽然plot第三个参数是颜色值,但是这样写就会报错 plot(close, title="test", color=color.red) // 正确写法 plot(close, "test", color.red) // 正确写法

timeframe

timeframe.in_seconds

Wir werden es weitergeben.timeframeUmrechnung der Zeitspanne der Parameter in Sekunden.

timeframe.in_seconds(timeframe)

Beispiel

pine
// Get chart timeframe: i_tf = input.timeframe("1D") // Convert timeframe to the int value (number of seconds in 1 Day): tf = timeframe.in_seconds(i_tf) plot(tf)

Rückgabewert
timeframeDie Zahl der Sekunden in einer K-Zeile ist in der Form int angegeben.

Parameter

  • timeframe(simple string) Zeitrahmen. Optional. Der Standardwert ist timeframe.period.

Anmerkung
Fürtimeframe>= Die Funktion "1M" berechnet die Sekunden nach 30.4167 (365/12) Tagen in einem Monat.

Siehe auch
input.timeframe timeframe.period

ticker

ticker.heikinashi

Die Erstellung eines Code-Identifikators fordert einen glatten mittleren K-Linienwert.

ticker.heikinashi(symbol)

Beispiel

pine
heikinashi_close = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close) heikinashi_aapl_60_close = request.security(ticker.heikinashi(syminfo.tickerid), "60", close) plot(heikinashi_close) plot(heikinashi_aapl_60_close)

Rückgabewert
Die String-Werte des Aktiencodes können an die Funktion request.security weitergegeben werden.

Parameter

  • symbol(simple string) Kennzeichen für Warencodes.

Siehe auch
syminfo.tickerid syminfo.ticker request.security

request

request.data

Anfrage nach externen Daten

request.data(url, attribute)

Beispiel

pine
/*backtest start: 2024-09-01 16:00:00 end: 2024-10-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] args: [["RunMode",1,358374],["ZPrecision",0,358374]] */ var chart_data = "https://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data" spotPrice = request.data(chart_data, "$.spot_close_price") futuresPrice = request.data(chart_data, "$.future_close_price") diff = futuresPrice - spotPrice plot(diff, "永续-现货差价") plot(futuresPrice, "期货价格", overlay=true) plot(spotPrice, "现货价格", overlay=true) if diff > 80 and strategy.position_size >= 0 runtime.log("diff > 80") strategy.entry("Enter Short", strategy.short) if diff < 60 and strategy.position_size <= 0 runtime.log("diff < 60") strategy.entry("Enter Short", strategy.long)

Rückgabewert
ParameterattributeBestimmte Datenreihe

Parameter

  • url(simple string) Die Datenquelle, auf die die Anfrage eingereicht wurde, muss das Format haben, in dem die Antwort eingereicht wird (mindestens die Attribute time, data):{"data": [], "schema": ["time", "data"]}Die Datenformate in den Beispielen sind zu entnehmen:

    json
    { "data": [ [1720051200000, "{\"spot_close_price\" : 57050.01, \"future_close_price\" : 57045.9}"], [1720137600000, "{\"spot_close_price\" : 56628.79, \"future_close_price\" : 56604.9}"], // ... ], "schema": ["time", "data"] }
  • attribute(simple string) Geben Sie den Namen der Eigenschaft an und geben Sie die gewünschten Daten zurück."$.spot_close_price",verwenden$.Als Vorzeichen werden die Attribute in den Datenfeldern der Daten, die bei der Anforderung der Datenquelle beantwortet werden, mit den Attributnamen übereinstimmen.

Wenn es sich um eine Fehlermeldung handelt, müssen Sie diese überprüfen.request.dataOb der gewünschte Zeitrahmen mit dem Zeitrahmen der Rückmessung übereinstimmt.

In diesem Fall ist die SQL-Aussage für die Datenabfrage data-data:

sql
WITH latest_data AS ( SELECT klines.spot_1d.Time AS time, CONCAT('{\"spot_close_price\" : ', klines.spot_1d.Close, ', \"future_close_price\" : ', klines.future_1d.Close, '}') AS data FROM klines.spot_1d JOIN klines.future_1d ON klines.spot_1d.Time = klines.future_1d.Time WHERE klines.spot_1d.Symbol = 'btc_usdt' AND klines.future_1d.Symbol = 'btc_usdt.swap' AND klines.spot_1d.Exchange = 'Binance' AND klines.future_1d.Exchange = 'Binance' ORDER BY klines.spot_1d.Time DESC LIMIT 100 ) SELECT * FROM latest_data ORDER BY time ASC;

Das ist ein Video, das auf der FMZ-Plattform verfügbar ist.DatenexplorationSeitenabfragen, Erstellen von Datenlinks, wie in dem Beispielhttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data

request.security

Eine andere Sorte/Auflösung verlangen.

request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency)

Beispiel

pine
s = request.security(syminfo.tickerid, "D", close) // 1 Day plot(s) expr = ta.sma(close, 10) s1 = request.security(syminfo.tickerid, "240", expr) // 240 Minutes plot(s1) // To avoid difference in calculation on history/realtime you can request not latest values and use merge strategy flags as follows: s2 = request.security(syminfo.tickerid, "D", close[1], barmerge.gaps_off, barmerge.lookahead_on) plot(s2) f() => [open, high] [o, h] = request.security(syminfo.tickerid, "D", f()) [l, c] = request.security(syminfo.tickerid, "D", [low, close]) plot((o + h + l + c) / 4)

Rückgabewert
Anforderungsreihe

Parameter

  • symbol(simple string) Warencode.
  • timeframe(simple string) Zeitspanne. Die leere Zeichenfolge wird als die aktuelle Zeitspanne der Grafik interpretiert.
  • expression(series int/float/bool/color) kann von der Aufforderung request.security berechnet werden und einen Ausdruck zurückgeben. Es kann eine Reihe oder eine Gruppe von Elementen sein, die in eine Reihe umgewandelt werden können.
  • gaps(barmerge_gaps) Die angeforderte Datenzusammenschlussstrategie: die automatische Zusammenführung der Daten mit den Hauptreihen der OHLC-Daten. Mögliche Werte: barmerge.gaps_on, barmerge.gaps_off. barmerge.gaps_on - die angeforderten Daten werden mit möglichen Abständen zusammengeführt.
  • lookahead(barmerge_lookahead) Geben Sie die gewünschte Datenzusammenschlussstrategie. Mögliche Werte: barmerge.lookahead_on, barmerge.lookahead_off. Ab Version 3 ist der Standardwert barmerge.lookahead_off. Bitte beachten Sie, dass das Verhalten identisch mit dem Echtzeitverhalten ist, nur in der Geschichte.
  • ignore_invalid_symbol(const bool) Eine Option, die das Verhalten der Funktion bestimmt, wenn die angegebene Ware nicht gefunden wird: Wenn false, wird das Skript gestoppt und die Ausführung zurückgegeben. Wenn true, wird die Funktion zurückgegeben und ausgeführt.
  • currency(simple string) Umwandlung des Währungsbezogenen Wertes der Ware (z. B. OHLC) in die Währung <unk>. Dann berechnet man den Wert nach der Umwandlung <unk>expression <unk>. Die verwendeten Umrechnungsraten basieren auf dem täglichen Wechselkurs des FX_IDC-Paares am Vortag <unk> (z. B. in Bezug auf die berechnete K-Linie). Optional <unk>. Der Standardwert ist syminfo.currency <unk>. Mögliche Werte: Drei-Alpha-Zeichen mit einem Währungscode im ISO 4217-Format (z. B. <unk>USD<unk>) oder currency.* Eine der Konstanten im Namensraum, z. B. currency.USD <unk>

Anmerkung
Die PineScript-Code, die diese Funktion verwendet, kann unterschiedliche Berechnungen für die historischen und die Echtzeitdaten vornehmen.
Wenn Sie zusätzliche Parameter für die angeforderte Ware festlegen möchten, wie z. B. die Transaktionszeit oder den Anpassungstyp, können Sie die Funktion ticker.new() verwenden.
Es ist nicht möglich, die Variable 'ticker' zu verwenden, um die Abweichung an diese Funktion weiterzugeben. Sie können die Variable 'ticker.new' oder die Zeichenkettenform des Aktiencodes verwenden, z. B. AAPL+MSFT*TSLA”。
Derzeit können maximal 40 Request.security-Aufrufe in einem Skript verwendet werden.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.
Die zulässigen Auflösungsparameter sind:
1S, 5S, 15S, 30S - Sekundenintervalle (die Graphik-Periode sollte kleiner als oder gleich der Periode der Anfrage sein)
Von 1 bis 1440 Minuten
Von 1D bis 365D Tage
Von 1 W bis 52 W in wenigen Wochen
Von 1 M bis 12 M einige Monate

Siehe auch
syminfo.ticker syminfo.tickerid timeframe.period ta.correlation barmerge.lookahead_off barmerge.lookahead_on

str

str.contains

WennsourceDie Zeichenfolge enthältstrWenn Sie eine Substring verwenden, gibt es die Antwort "true" oder "false".

str.contains(source, str)

Beispiel

pine
// If the current chart is a continuous futures chart, e.g “BTC1!”, then the function will return true, false otherwise. var isFutures = str.contains(syminfo.tickerid, "!") plot(isFutures ? 1 : 0)

Rückgabewert
Wenn insourceFinde in einer Stringstr, ist wahr, andernfalls ist falsch.

Parameter

  • source(series string) Quelle der Zeichenfolge
  • str(series string) Suche nach einer Unterzeichenfolge.

Siehe auch
str.pos str.match

str.endswith

WennsourceDie Zeichenfolge iststrWenn die angegebene Unterzeichenfolge endet, wird true oder false zurückgegeben.

str.endswith(source, str)

Rückgabewert
WennsourceDie Zeichenfolge iststrDie in der Unterzeitschrift angegebenen Zeichenfolgen enden mit true oder false.

Parameter

  • source(series string) Quelle der Zeichenfolge
  • str(series string) Suche nach einer Unterzeichenfolge.

Siehe auch
str.startswith

str.startswith

WennsourceDie Zeichenfolge iststrWenn die angegebene Unterzeichenfolge beginnt, wird true zurückgegeben, andernfalls false.

str.startswith(source, str)

Rückgabewert
WennsourceDie Zeichenfolge iststrDie angegebene Unterzeichenfolge beginnt mit true, andernfalls mit false.

Parameter

  • source(series string) Quelle der Zeichenfolge
  • str(series string) Suche nach einer Unterzeichenfolge.

Siehe auch
str.endswith

str.substring

Gibt eine neue String zurück, diesourceUnterstring der String.begin_posDie Zeichen beginnen mit dem angegebenen Index und erstrecken sich bis zumsourceDas 'end_pos - 1' der String.

str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)

Beispiel

pine
sym= "EXCHANGE_NAME:SYMBOL_NAME" pos = str.pos(sym, ":") // Get position of ":" character tkr= str.substring(sym, pos+1) // "SYMBOL_NAME" if barstate.islastconfirmedhistory runtime.log(tkr)

Rückgabewert
Unterstring, der aus der Quelle extrahiert wird.

Parameter

  • source(series string) Quelle, aus der die Unterstring extrahiert wird.
  • begin_pos(series int) Der Anfangsort der extrahierten Unterstring. Es ist exklusiv. ((Die extrahierte Unterstring enthält die Zeichen dieser Position)
  • end_pos(series int) Endposition。 es ist exklusiv (die gewonnene Zeichenfolge enthält keine Zeichen für diese Position)。 optional。 die Standardwerte sindsourceDie Länge der Zeichenfolge.

Anmerkung
Die String-Index beginnt mit 0. Wennbegin_posgleichend_pos, die Funktion gibt eine leere Zeichenfolge zurück.

Siehe auch
str.contains str.pos str.match

str.tonumber

str.tonumber(string)

Rückgabewert
Wenn sie eine gültige Zahl enthält, ist sie der Floating-Point-Typ der String, ansonsten ist sie na。

Parameter

  • string(series string) Eine Zeichenkette, die in der Form von int oder float dargestellt wird.

str.format

Konvertieren von Formatstrings und -werten in formatierte Strings. Die Formatstrings können Text und ein Positionszeichen in Großklammern {} für jeden Wert enthalten, der formatiert werden soll. Jedes Positionszeichen enthält einen Index, der die erforderlichen Parameter ersetzt, die es ersetzen soll (beginnend mit 0), sowie eine optional Formatschreibung. Die Indexierung zeigt an, wo der Parameter in der Str.format-Parameterliste ist.

str.format(formatString, arg0, arg1, ...)

Beispiel

pine
// The format specifier inside the curly braces accepts certain modifiers: // - Specify the number of decimals to display: s1 = str.format("{0,number,#.#}", 1.34) // returns: 1.3 runtime.log(s1) // - Round a float value to an integer: s2 = str.format("{0,number,integer}", 1.34) // returns: 1 runtime.log(s2) // - Display a number in currency: s3 = str.format("{0,number,currency}", 1.34) // returns: $1.34 runtime.log(s3) // - Display a number as a percentage: s4 = str.format("{0,number,percent}", 0.5) // returns: 50% runtime.log(s4) // EXAMPLES WITH SEVERAL ARGUMENTS // returns: Number 1 is not equal to 4 s5 = str.format("Number {0} is not {1} to {2}", 1, "equal", 4) runtime.log(s5) // returns: 1.34 != 1.3 s6 = str.format("{0} != {0, number, #.#}", 1.34) runtime.log(s6) // returns: 1 is equal to 1, but 2 is equal to 2 s7 = str.format("{0, number, integer} is equal to 1, but {1, number, integer} is equal to 2", 1.34, 1.52) runtime.log(s7) // returns: The cash turnover amounted to $1,340,000.00 s8 = str.format("The cash turnover amounted to {0, number, currency}", 1340000) runtime.log(s8) // returns: Expected return is 10% - 20% s9 = str.format("Expected return is {0, number, percent} - {1, number, percent}", 0.1, 0.2) runtime.log(s9)

Rückgabewert
Formatierte Zeichenfolge.

Parameter

  • formatString(series string) Formatted Zeichenfolge。
  • arg0, arg1, ... (series int/float/bool/string/na/int[]/float[]/bool[]/string[]) Wert, der formatiert werden soll.

Anmerkung
Alle Klammern in einem nicht zitierten Stil müssen ausgeglichen sein. Zum Beispiel sind "ab {0} de" und "ab '}' de" gültige Stile, aber "ab {0'}' de", "ab } de" und "'{''" sind keine gültigen Stile.

str.length

Gibt eine ganze Zahl zurück, die der Anzahl der Zeichen in der Zeichenfolge entspricht.

str.length(string)

Rückgabewert
Anzahl der Zeichen in der Quellschnur.

Parameter

  • string(series string) Quelle der Zeichenfolge

str.lower

Gibt eine neue Zeichenfolge zurück, in der alle Buchstaben in Kleinbuchstaben umgewandelt werden.

str.lower(source)

Rückgabewert
Alle Buchstaben werden in eine neue Zeichenfolge mit Kleinbuchstaben umgewandelt.

Parameter

  • source(series string) Die zu konvertierende Zeichenfolge.

Siehe auch
str.upper

str.upper

Gibt eine neue Zeichenfolge zurück, in der alle Buchstaben in Großbuchstaben umgewandelt werden.

str.upper(source)

Rückgabewert
Alle Buchstaben werden in neue Strings in Großbuchstaben umgewandelt.

Parameter

  • source(series string) Die zu konvertierende Zeichenfolge.

Siehe auch
str.lower

str.match

Wenn es stimmt.regexRegelmäßige Ausdrücke werden zurückgegebensourceDie neue Unterzeichen einer Zeichenfolge, die 'na' zurückgibt.

str.match(source, regex)

Beispiel

pine
s = input.string("It's time to sell some EXCHANGE_NAME:SYMBOL_NAME!") // finding first substring that matches regular expression "[\w]+:[\w]+" var string tickerid = str.match(s, "[\\w]+:[\\w]+") if barstate.islastconfirmedhistory runtime.log(tickerid) // "EXCHANGE_NAME:SYMBOL_NAME"

Rückgabewert
sourceDer neue Unterstring der String, wenn es eineregexDie korrekte Ausdrucksweise ist 'na' <unk>

Parameter

  • source(series string) Quelle der Zeichenfolge
  • regex(series string) Reguläre Ausdrücke, die mit dieser Zeichenfolge übereinstimmen.

Anmerkung
Funktion gibt zurücksourceDer erste regelmäßige Ausdruck in der Zeichenkette:
regexDie Rückschreibung <unk> in einer String erfordert die Verwendung zusätzlicher Rückschreibungen, z. B. <unk>\d<unk> steht für den regulären Ausdruck <unk>\d<unk>。

Siehe auch
str.contains str.substring

str.pos

Zurück.sourceErstmals in einer ZeichenfolgestrDie Position der Zeichenfolge, sonst wird 'na' zurückgegeben.

str.pos(source, str)

Rückgabewert
strDie Zeichenfolge istsourcePosition in der Zeichenfolge.

Parameter

  • source(series string) Quelle der Zeichenfolge
  • str(series string) Suche nach einer Unterzeichenfolge.

Anmerkung
Die String-Index beginnt mit 0。

Siehe auch
str.contains str.match str.substring

str.replace

Gibt eine neue String zurück, in der die ersten N+1 Male vorkommentargetStrings und vorherigetargetDie Zeichenfolge wird durchreplacementString, bei dem N inoccurrenceGeben Sie in .N den entsprechenden Index an, der in der Quelle erscheint, um den Zielstring zu ersetzen.

str.replace(source, target, replacement, occurrence)

Beispiel

pine
var source = "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2" // Replace first occurrence of "EXCHANGE1" with "EXCHANGE2" replacement string var newSource = str.replace(source, "EXCHANGE1", "EXCHANGE2", 0) if barstate.islastconfirmedhistory // Display "EXCHANGE2:SYMBOL1 / EXCHANGE1:SYMBOL2" runtime.log(newSource)

Rückgabewert
String, der bearbeitet wurde

Parameter

  • source(series string) Quelle der Zeichenfolge
  • target(series string) wird durch eine String ersetzt
  • replacement(series string) Die String, die eingefügt werden soll, anstelle der Ziel-String.
  • occurrence(series int) Ziel-String, der ersetzt werden soll, ist der entsprechende Index, der in der Quell-String erscheint. Der erste entsprechende Index beginnt mit 0 und ist optional. Der Standardwert ist 0

Siehe auch
str.replace_all str.match

str.replace_all

Ersetzen Sie die Ziel-String, die jedes Mal in der Quelle erscheint, durch eine Ersatz-String.

str.replace_all(source, target, replacement)

Rückgabewert
String, der bearbeitet wurde

Parameter

  • source(series string) Quelle der Zeichenfolge
  • target(series string) wird durch eine String ersetzt
  • replacement(series string) Jedes Mal, wenn eine Zielserie erscheint, wird sie ersetzt

str.split

Spaltet die String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String-String

str.split(string, separator)

Rückgabewert
Die ID der String-Array

Parameter

  • string(series string) Quelle der Zeichenfolge
  • separator(series string) Die Strings, die jede einzelne Unterstringung trennen.

str.tostring

str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)

Rückgabewert
valueDie Strings der Parameter sind in der Form。
WennvalueDie Parameter sind Strings und werden als solche zurückgegeben.
WennvalueWenn na verwendet wird, gibt die Funktion die String-Zeiche NaN<unk> zurück.

Parameter

  • value (series int/float/bool/string/int[]/float[]/bool[]/string[]) dessen Elemente in die Werte oder Array-IDs der String umgewandelt werden.
  • format (series string) Format string. Accepts these format.* constants: format.mintick, format.percent, format.volume. Optional. The default value is '#.##########'.

Anmerkung
Die Formatierung von Floating-Point-Werten kann diese Werte auch umschreiben, wenn dies notwendig ist, z. B. wird str.tostring ((3.99, '#') zurückgegeben <unk>4<unk>。
Um die Null zu zeigen, verwenden Sie '0' anstelle von '#'. Zum Beispiel '#.000'.
Wenn format.mintick verwendet wird, wird dieser Wert zu der nächstgelegenen Zahl, die ohne Restzahl durch syminfo.mintick geteilt werden kann, umkreist. Die zurückgegebenen Strings werden mit Nullen gefolgt.
Wenn x ein String ist, wird der gleiche Stringwert zurückgegeben.
Der Typ Bool gibt entweder TRUE oder FALSE zurück.
Wenn x gleich na ist, gibt die Funktion <unk>NaN<unk>♦ zurück.

color

color.new

Funktionsfarben geben die Transparenz an, die auf die gegebene Farbe angewendet wird.

color.new(color, transp)

Beispiel

pine
plot(close, color=color.new(color.red, 50))

Rückgabewert
Die Farbe hat eine bestimmte Transparenz.

Parameter

  • color (series color)
  • transp(series int/float) Die verfügbaren Werte reichen von 0 (untransparent) bis 100 (unsichtbar)

Anmerkung
Die Verwendung einer unbegrenzten Anzahl von Parametern (z. B. <unk>simple<unk>, <unk>input<unk> oder <unk>series<unk>) wirkt sich auf die Farbe aus, die auf der Seite mit den Einstellungen/Styles der Skriptabelle angezeigt wird. Weitere Informationen finden Sie in der Benutzerhandbuch.

color.rgb

Erstellen Sie neue Farben mit Transparenz mithilfe des RGB-Farbmodells.

color.rgb(red, green, blue, transp)

Beispiel

pine
plot(close, color=color.rgb(255, 0, 0, 50))

Rückgabewert
Die Farbe hat eine bestimmte Transparenz.

Parameter

  • red(series int/float) Rot. Die möglichen Werte sind von 0 bis 255
  • green(series int/float) Grün. Die möglichen Werte liegen zwischen 0 und 255
  • blue(series int/float) Blau. Die möglichen Werte sind von 0 bis 255
  • transp(series int/float) ist optional. Die Farbe ist transparent. Die möglichen Werte reichen von 0 (untransparent) bis 100 (transparent). Der Standardwert ist 0 (transparent).

Anmerkung
Die Verwendung einer unbegrenzten Anzahl von Parametern (z. B. <unk>simple<unk>, <unk>input<unk> oder <unk>series<unk>) wirkt sich auf die Farbe aus, die auf der Seite mit den Einstellungen/Styles der Skriptabelle angezeigt wird. Weitere Informationen finden Sie in der Benutzerhandbuch.

runtime

runtime.debug

Drucken Sie die Variablen-Informationen auf der Steuerung.

FMZ PINE hat eine spezielle Funktion, die die Sprache beeinflusst.runtime.debug(value), nur ein Parameter.

runtime.log

Inhalte aus dem Tagebuch.

FMZ PINE hat eine spezielle Funktion, die die Sprache beeinflusst.runtime.log(1, 2, 3, close, high, ...), kann mehrere Parameter übertragen werden.

runtime.error

Wenn Sie diese aufrufen, können Sie einen Betriebsfehler verursachen, und es kann zu einem Fehler bei der Ausführung kommen.messageFehlermeldung im Parameter angegeben.

runtime.error(message)

Parameter
Message (series string) ist eine Fehlermeldung.

input

input

Input wird in die Eingabe-Tagseite der Skript-Einstellungen hinzugefügt, die es Ihnen ermöglicht, den Benutzern der Skripte Konfigurationsoptionen anzubieten. Diese Funktion erkennt automatisch die Arten von Parametern für die Defval-Einstellungen und verwendet die entsprechenden Eingabe-Plugins.

input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)

Beispiel

pine
i_switch = input(true, "On/Off") // 设置true,默认勾选 plot(i_switch ? open : na) i_len = input(7, "Length") i_src = input(close, "Source") // 下拉框,默认选择close plot(ta.sma(i_src, i_len)) i_col = input(color.red, "Plot Color") plot(close, color=i_col) i_text = input("Hello!", "Message") runtime.log(i_text)

Rückgabewert
Variablenwerte eingeben

Parameter

  • defval(const int/float/bool/string/color or source-type built-ins) Der Standardwert für die empfohlene Eingabevariable, der auf der Tabellen-Einstellungen/Eingabe-Tabellen-Tabellenseite des Skripts festgelegt wird, von dem aus der Skripterbenutzer sie ändern kann. Die Inbuilt-Funktion des Quelltyps ist die inbuilt-Serie von Buffer-Variablen, die die Berechnungsquelle angeben:closehlc3Und so weiter.
  • title(const string) Eingabetitel. Wenn nicht angegeben, wird der Variablenname als Eingabetitel verwendet. Wenn ein Titel angegeben ist, aber der Titel leer ist, wird der Name als leerer String verwendet.
  • tooltip(const string) Diese Zeichenfolge wird dem Benutzer angezeigt, wenn die Maus auf dem Tooltip-Icon hängt.
  • inline(const string) Alle Eingabeaufrufe, die die gleichen Parameter in einer Zeile verwenden, kombinieren. Die als Parameter verwendeten Strings werden nicht angezeigt. Sie werden nur verwendet, um Eingaben zu erkennen, die zu derselben Zeile gehören.
  • group(const string) Erstellen Sie eine Überschrift über allen Eingaben mit der gleichen Komponenten-Zahlen-String. Diese String wird auch als Text für die Überschrift verwendet.

Anmerkung
Die Rückgabe einer Input-Funktion sollte stets einer Variablen zugewiesen werden. Siehe oben.

Siehe auch
input.bool input.color input.int input.float input.string input.timeframe input.source

input.source

Hinzufügen von Input in die Input-Tab-Seite der Skript-Einstellungen, die es Ihnen ermöglicht, den Skriptbenutzern Konfigurationsoptionen anzubieten. Diese Funktion hat ein Dropdown-Menü hinzugefügt, das es dem Benutzer ermöglicht, die Berechnungsquelle zu wählen, z. B. close, hl2 usw. Wenn das Skript nur einen Input.source () Aufruf enthält, kann der Benutzer auch eine andere Kennziffer in der Tabelle als Ausgabequelle wählen.

input.source(defval, title, tooltip, inline, group)

Beispiel

pine
i_src = input.source(close, "Source") plot(i_src)

Rückgabewert
Variablenwerte eingeben

Parameter

  • defval(series int/float) Der Standardwert für die empfohlene Eingabevariable in der Tabelle Einstellungen/Eingabetabelle des Skripts, von der aus der Benutzer sie ändern kann.
  • title(const string) Eingabetitel. Wenn nicht angegeben, wird der Variablenname als Eingabetitel verwendet. Wenn ein Titel angegeben ist, aber der Titel leer ist, wird der Name als leerer String verwendet.
  • tooltip(const string) Diese Zeichenfolge wird dem Benutzer angezeigt, wenn die Maus auf dem Tooltip-Icon hängt.
  • inline(const string) Alle Eingabeaufrufe, die die gleichen Parameter in einer Zeile verwenden, kombinieren. Die als Parameter verwendeten Strings werden nicht angezeigt. Sie werden nur verwendet, um Eingaben zu erkennen, die zu derselben Zeile gehören.
  • group(const string) Erstellen Sie eine Überschrift über allen Eingaben mit der gleichen Komponenten-Zahlen-String. Diese String wird auch als Text für die Überschrift verwendet.

Anmerkung
Das Ergebnis der Funktion input.source sollte immer einer Variablen zugewiesen werden, wie in dem Beispiel oben.

Siehe auch
input.bool input.int input.float input.string input.timeframe input.color input

input.string

Die Input Optionskarte, in der Input zu den Skript-Einstellungen hinzugefügt wird, ermöglicht es Ihnen, den Benutzern der Skripte Konfigurationsoptionen anzubieten. Diese Funktion fügt den String-Eingabefeld in die Eingabe der Skripte ein.

input.string(defval, title, options, tooltip, inline, group, confirm)

Beispiel

pine
i_text = input.string("Hello!", "Message") runtime.log(i_text)

Rückgabewert
Variablenwerte eingeben

Parameter

  • defval(const string) Der Standardwert für die vorgeschlagene Eingabevariable in der Tabelle Einstellungen/Eingabetabelle des Skripts, von dem aus der Benutzer sie ändern kann.optionsWenn die Parameter zusammen verwendet werden, muss dieser Wert einer von ihnen sein.
  • title(const string) Eingabetitel. Wenn nicht angegeben, wird der Variablenname als Eingabetitel verwendet. Wenn ein Titel angegeben ist, aber der Titel leer ist, wird der Name als leerer String verwendet.
  • options (List of constants: [<type>...]) eine Liste der verfügbaren Optionen.
  • tooltip(const string) Diese Zeichenfolge wird dem Benutzer angezeigt, wenn die Maus auf dem Tooltip-Icon hängt.
  • inline(const string) Alle Eingabeaufrufe, die die gleichen Parameter in einer Zeile verwenden, kombinieren. Die als Parameter verwendeten Strings werden nicht angezeigt. Sie werden nur verwendet, um Eingaben zu erkennen, die zu derselben Zeile gehören.
  • group(const string) Erstellen Sie eine Überschrift über allen Eingaben mit der gleichen Komponenten-Zahlen-String. Diese String wird auch als Text für die Überschrift verwendet.
  • confirm(const bool) Wenn true verwendet wird, wird der Benutzer aufgefordert, die Eingabe zu bestätigen, bevor der Indikator in die Tabelle aufgenommen wird. Die Standardwahrheit ist false.

Anmerkung
Das Ergebnis einer input.string-Funktion sollte immer einer Variablen zugeordnet werden, wie in dem Beispiel oben.

Siehe auch
input.bool input.int input.float input.timeframe input.source input.color input

input.bool

Input wird in die Eingabe-Tagseite der Skript-Einstellungen hinzugefügt, die es Ihnen ermöglicht, den Benutzern der Skripte Konfigurationsoptionen anzubieten. Diese Funktion fügt den Eingaben der Skripte eine Auswahlmarkierung hinzu.

input.bool(defval, title, tooltip, inline, group, confirm)

Beispiel

pine
i_switch = input.bool(true, "On/Off") plot(i_switch ? open : na)

Rückgabewert
Variablenwerte eingeben

Parameter

  • defval(const bool) Bestimmt den Defaultwert für die empfohlene Eingabevariable auf der Tabelle Einstellungen/Eingabetabelle des Skripts, von der aus der Benutzer sie ändern kann.
  • title(const string) Eingabetitel. Wenn nicht angegeben, wird der Variablenname als Eingabetitel verwendet. Wenn ein Titel angegeben ist, aber der Titel leer ist, wird der Name als leerer String verwendet.
  • tooltip(const string) Diese Zeichenfolge wird dem Benutzer angezeigt, wenn die Maus auf dem Tooltip-Icon hängt.
  • inline(const string) Alle Eingabeaufrufe, die die gleichen Parameter in einer Zeile verwenden, kombinieren. Die als Parameter verwendeten Strings werden nicht angezeigt. Sie werden nur verwendet, um Eingaben zu erkennen, die zu derselben Zeile gehören.
  • group(const string) Erstellen Sie eine Überschrift über allen Eingaben mit der gleichen Komponenten-Zahlen-String. Diese String wird auch als Text für die Überschrift verwendet.
  • confirm(const bool) Wenn true verwendet wird, wird der Benutzer aufgefordert, die Eingabe zu bestätigen, bevor der Indikator in die Tabelle aufgenommen wird. Die Standardwahrheit ist false.

Anmerkung
Das Ergebnis der Funktion input.bool sollte immer einer Variablen zugewiesen werden, wie in dem Beispiel oben.

Siehe auch
input.int input.float input.string input.timeframe input.source input.color input

input.int

Hinzufügen von Input zu den Eingabe-Tagseiten der Skript-Einstellungen, die es Ihnen ermöglichen, den Benutzern der Skripte Konfigurationsoptionen anzubieten. Diese Funktion fügt die Integer-Eingabe-Felder zu den Eingaben der Skripte hinzu.

input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.int(defval, title, options, tooltip, inline, group, confirm)

Beispiel

pine
i_len1 = input.int(10, "Length 1", minval=5, maxval=21, step=1) plot(ta.sma(close, i_len1)) i_len2 = input.int(10, "Length 2", options=[5, 10, 21]) plot(ta.sma(close, i_len2))

Rückgabewert
Variablenwerte eingeben

Parameter

  • defval(const int) Der Standardwert für die empfohlene Eingabevariable, der in der Tabelle Einstellungen/Eingabetabelle des Skripts festgelegt wird, von dem aus der Skripterverbraucher sie ändern kann.optionsWenn die Parameter zusammen verwendet werden, muss dieser Wert einer von ihnen sein.
  • title(const string) Eingabetitel. Wenn nicht angegeben, wird der Variablenname als Eingabetitel verwendet. Wenn ein Titel angegeben ist, aber der Titel leer ist, wird der Name als leerer String verwendet.
  • minval(const int) Der kleinste mögliche Wert der eingegebenen Variablen.
  • maxval(const int) Höchstmögliche Werte der eingegebenen Variablen.
  • step(const int) Die Schrittlänge, um die Eingabe zu erhöhen/reduzieren. Optional. Der Standardwert ist 1
  • options (tuple of const int values: [val1, val2, ...]) Eine Liste der aus dem Dropdown-Menü gewählten Optionen, die durch Kommas getrennt und in quadratischen Klammern umschrieben sind:[val1, val2, ...] ≠ nicht verwendet werden, wenn der Parameter verwendet wirdminvalmaxvalUndstepParameter
  • tooltip(const string) Diese Zeichenfolge wird dem Benutzer angezeigt, wenn die Maus auf dem Tooltip-Icon hängt.
  • inline(const string) Alle Eingabeaufrufe, die die gleichen Parameter in einer Zeile verwenden, kombinieren. Die als Parameter verwendeten Strings werden nicht angezeigt. Sie werden nur verwendet, um Eingaben zu erkennen, die zu derselben Zeile gehören.
  • group(const string) Erstellen Sie eine Überschrift über allen Eingaben mit der gleichen Komponenten-Zahlen-String. Diese String wird auch als Text für die Überschrift verwendet.
  • confirm(const bool) Wenn true verwendet wird, wird der Benutzer aufgefordert, die Eingabe zu bestätigen, bevor der Indikator in die Tabelle aufgenommen wird. Die Standardwahrheit ist false.

Anmerkung
Das Ergebnis einer input.int-Funktion sollte immer einer Variablen zugeordnet werden, wie in dem Beispiel oben.

Siehe auch
input.bool input.float input.string input.timeframe input.source input.color input

input.float

Hinzufügen von Input in die Eingabe-Tagseite der Skript-Einstellungen, die Ihnen die Möglichkeit bietet, den Benutzern der Skripte Konfigurationsoptionen bereitzustellen. Diese Funktion fügt dem Eingabefeld der Floating-Points die Eingaben der Skripte hinzu.

input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)

Beispiel

pine
i_angle1 = input.float(0.5, "Sin Angle", minval=-3.14, maxval=3.14, step=0.02) plot(math.sin(i_angle1) > 0 ? close : open, "sin", color=color.green) i_angle2 = input.float(0, "Cos Angle", options=[-3.14, -1.57, 0, 1.57, 3.14]) plot(math.cos(i_angle2) > 0 ? close : open, "cos", color=color.red)

Rückgabewert
Variablenwerte eingeben

Parameter

  • defval(const int/float) Der Standardwert für die empfohlene Eingabevariable in der Tabelle Einstellungen/Eingabetabelle des Skripts, von der der Skripterbenutzer sie ändern kann. Wenn die Werteliste mit <unk> übereinstimmtoptionsWenn die Parameter zusammen verwendet werden, muss dieser Wert einer von ihnen sein.
  • title(const string) Eingabetitel. Wenn nicht angegeben, wird der Variablenname als Eingabetitel verwendet. Wenn ein Titel angegeben ist, aber der Titel leer ist, wird der Name als leerer String verwendet.
  • minval(const int/float) Minimaler möglicher Wert der eingegebenen Variablen。 optional。
  • maxval(const int/float) Höchstmögliche Werte der eingegebenen Variablen.
  • step(const int/float) Die Schrittlänge, um die Eingabe zu erhöhen/reduzieren. Optional. Der Standardwert ist 1
  • options (tuple of const int/float values: [val1, val2, ...]) Eine Liste der aus dem Dropdown-Menü gewählten Optionen, die durch Kommas getrennt und in quadratischen Klammern umschrieben sind:[val1, val2, ...] ≠ nicht verwendet werden, wenn der Parameter verwendet wirdminvalmaxvalUndstepParameter
  • tooltip(const string) Diese Zeichenfolge wird dem Benutzer angezeigt, wenn die Maus auf dem Tooltip-Icon hängt.
  • inline(const string) Alle Eingabeaufrufe, die die gleichen Parameter in einer Zeile verwenden, kombinieren. Die als Parameter verwendeten Strings werden nicht angezeigt. Sie werden nur verwendet, um Eingaben zu erkennen, die zu derselben Zeile gehören.
  • group(const string) Erstellen Sie eine Überschrift über allen Eingaben mit der gleichen Komponenten-Zahlen-String. Diese String wird auch als Text für die Überschrift verwendet.
  • confirm(const bool) Wenn true verwendet wird, wird der Benutzer aufgefordert, die Eingabe zu bestätigen, bevor der Indikator in die Tabelle aufgenommen wird. Die Standardwahrheit ist false.

Anmerkung
Das Ergebnis der Funktion input.float sollte immer einer Variablen zugeordnet werden, wie in dem Beispiel oben.

Siehe auch
input.bool input.int input.string input.timeframe input.source input.color input

input.color

Hinzufügen von Input in die Eingabe-Tagseite der Skript-Einstellungen, die es Ihnen ermöglicht, den Benutzern der Skripte Konfigurationsoptionen anzubieten. Diese Funktion fügt einen Farb-Selektor hinzu, der es dem Benutzer ermöglicht, Farbe und Transparenz aus der Farbpalette oder dem Sechzehntel zu wählen.

input.color(defval, title, tooltip, inline, group, confirm)

Beispiel

pine
i_col = input.color(color.red, "Plot Color") plot(close, color=i_col)

Rückgabewert
Variablenwerte eingeben

Parameter

  • defval(const color) Der Defaultwert für die empfohlene Eingabevariable in der Tabelle Einstellungen/Eingabetabelle des Skripts, von der der Benutzer sie ändern kann.
  • title(const string) Eingabetitel. Wenn nicht angegeben, wird der Variablenname als Eingabetitel verwendet. Wenn ein Titel angegeben ist, aber der Titel leer ist, wird der Name als leerer String verwendet.
  • tooltip(const string) Diese Zeichenfolge wird dem Benutzer angezeigt, wenn die Maus auf dem Tooltip-Icon hängt.
  • inline(const string) Alle Eingabeaufrufe, die die gleichen Parameter in einer Zeile verwenden, kombinieren. Die als Parameter verwendeten Strings werden nicht angezeigt. Sie werden nur verwendet, um Eingaben zu erkennen, die zu derselben Zeile gehören.
  • group(const string) Erstellen Sie eine Überschrift über allen Eingaben mit der gleichen Komponenten-Zahlen-String. Diese String wird auch als Text für die Überschrift verwendet.
  • confirm(const bool) Wenn true verwendet wird, wird der Benutzer aufgefordert, die Eingabe zu bestätigen, bevor der Indikator in die Tabelle aufgenommen wird. Die Standardwahrheit ist false.

Anmerkung
Das Ergebnis der Funktion input.color sollte immer einer Variablen zugeordnet werden, wie in dem Beispiel oben.

Siehe auch
input.bool input.int input.float input.string input.timeframe input.source input

input.price

Hinzufügen von Preiseinträgen in die Tabelle Einstellungen/Eingabe-Tabelle des Skripts.confirm = trueAktivieren Sie den interaktiven Eingabe-Modus und wählen Sie die Preise, indem Sie auf das Diagramm klicken.

input.price(defval, title, tooltip, inline, group, confirm)

Beispiel

pine
price1 = input.price(title="Date", defval=42) plot(price1) price2 = input.price(54, title="Date") plot(price2)

Rückgabewert
Variablenwerte eingeben

Parameter

  • defval(const int/float) Der Standardwert für die empfohlene Eingabevariable auf der Tabelle Einstellungen/Eingabetabelle des Skripts, von der aus der Benutzer sie ändern kann.
  • title(const string) Eingabetitel. Wenn nicht angegeben, wird der Variablenname als Eingabetitel verwendet. Wenn ein Titel angegeben ist, aber der Titel leer ist, wird der Name als leerer String verwendet.
  • tooltip(const string) Diese Zeichenfolge wird dem Benutzer angezeigt, wenn die Maus auf dem Tooltip-Icon hängt.
  • inline(const string) Alle Eingabeaufrufe, die die gleichen Parameter in einer Zeile verwenden, kombinieren. Die als Parameter verwendeten Strings werden nicht angezeigt. Sie werden nur verwendet, um Eingaben zu erkennen, die zu derselben Zeile gehören.
  • group(const string) Erstellen Sie eine Überschrift über allen Eingaben mit der gleichen Komponenten-Zahlen-String. Diese String wird auch als Text für die Überschrift verwendet.
  • confirm(const bool) Wenn true, wird der interaktive Eingabe-Modus aktiviert und die Auswahl erfolgt entweder durch Anklicken auf das Diagramm, wenn der Indikator in das Diagramm hinzugefügt wird, oder durch Auswahl des Indikators und anschließende Bewegung der Auswahl. Optional. Der Standardwert ist false.

Anmerkung
Wenn zwei Funktionen in Interaktionsmodus aufgerufen werdeninlineWenn die Parameter dieselben Parameter verwenden, kann die Zeit-Eingabe mit der Preis-Eingabe kombiniert werden.

Siehe auch
input.bool input.int input.float input.string input.resolution input.source input.color input

input.timeframe

Hinzufügen von Input in die Eingabe-Tabelle der Skript-Einstellungen, die es Ihnen ermöglicht, den Benutzern der Skripte Konfigurationsoptionen anzubieten. Diese Funktion fügt eine Dropdown-Liste hinzu, die es dem Benutzer ermöglicht, eine bestimmte Zeitspanne über den Zeitperiode-Selektor auszuwählen und sie als String zurückzugeben. Der Selektor enthält die Zeiträume, die der Benutzer möglicherweise in den Diagrammen verwendet, einschließlich der benutzerdefinierten Zeiträume, die er aus dem Dropdown-Menü hinzufügt.

input.timeframe(defval, title, options, tooltip, inline, group, confirm)

Beispiel

pine
i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M']) s = request.security(syminfo.tickerid, i_res, close) plot(s)

Rückgabewert
Variablenwerte eingeben

Parameter

  • defval(const string) Der Standardwert für die vorgeschlagene Eingabevariable in der Tabelle Einstellungen/Eingabetabelle des Skripts, von dem aus der Benutzer sie ändern kann.optionsWenn die Parameter zusammen verwendet werden, muss dieser Wert einer von ihnen sein.
  • title(const string) Eingabetitel. Wenn nicht angegeben, wird der Variablenname als Eingabetitel verwendet. Wenn ein Titel angegeben ist, aber der Titel leer ist, wird der Name als leerer String verwendet.
  • options (tuple of const string values: [val1, val2, ...]) eine Liste der verfügbaren Optionen.
  • tooltip(const string) Diese Zeichenfolge wird dem Benutzer angezeigt, wenn die Maus auf dem Tooltip-Icon hängt.
  • inline(const string) Alle Eingabeaufrufe, die die gleichen Parameter in einer Zeile verwenden, kombinieren. Die als Parameter verwendeten Strings werden nicht angezeigt. Sie werden nur verwendet, um Eingaben zu erkennen, die zu derselben Zeile gehören.
  • group(const string) Erstellen Sie eine Überschrift über allen Eingaben mit der gleichen Komponenten-Zahlen-String. Diese String wird auch als Text für die Überschrift verwendet.
  • confirm(const bool) Wenn true verwendet wird, wird der Benutzer aufgefordert, die Eingabe zu bestätigen, bevor der Indikator in die Tabelle aufgenommen wird. Die Standardwahrheit ist false.

Anmerkung
Die Ergebnisse der input.timeframe-Funktion sollten immer einer Variablen zugeordnet werden, wie in dem Beispiel oben.

Siehe auch
input.bool input.int input.float input.string input.source input.color input

input.integer

Nicht vorläufig

input.resolution

Nicht vorläufig

ta

ta.alma

Arnaud Legoux Moving Average. Es verwendet die Gauss-Verteilung als Gewichtung des Moving Averages.

ta.alma(series, length, offset, sigma)
ta.alma(series, length, offset, sigma, floor)

Beispiel

pine
plot(ta.alma(close, 9, 0.85, 6)) // same on pine, but much less efficient pine_alma(series, windowsize, offset, sigma) => m = offset * (windowsize - 1) //m = math.floor(offset * (windowsize - 1)) // Used as m when math.floor=true s = windowsize / sigma norm = 0.0 sum = 0.0 for i = 0 to windowsize - 1 weight = math.exp(-1 * math.pow(i - m, 2) / (2 * math.pow(s, 2))) norm := norm + weight sum := sum + series[windowsize - i - 1] * weight sum / norm plot(pine_alma(close, 9, 0.85, 6))

Rückgabewert
Arnaud Legoux bewegliche Durchschnittswerte

Parameter

  • series(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).
  • offset(simple int/float) Kontrolle der Balance zwischen Glattigkeit ((näher an 1) und Reaktionsfähigkeit ((näher an 0)).
  • sigma(simple int/float) Ändert die Glattigkeit von ALMA. Je größer die Sigma, desto glatter ist ALMA.
  • floor(simple bool) Optionale Parameter. Bevor ALMA berechnet wird, wird angegeben, ob die Abweichung als untere Grenze berechnet wird. Der Standardwert ist false.

Siehe auch
ta.sma ta.ema ta.rma ta.wma ta.vwma ta.swma

ta.sma

Die Funktion sma gibt den Moving Average zurück, also den letzten Wert von x in y, geteilt durch y。

ta.sma(source, length)

Beispiel

pine
plot(ta.sma(close, 15)) // same on pine, but much less efficient pine_sma(x, y) => sum = 0.0 for i = 0 to y - 1 sum := sum + x[i] / y sum plot(pine_sma(close, 15))

Rückgabewert
lengthK-Strecke zurückgegebensourceEin einfacher gleitender Durchschnitt.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.ema ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.cog

cog ((Schwerpunkt)) basiert auf der Statistik und der Fibonacci-Goldene Rate.

ta.cog(source, length)

Beispiel

pine
plot(ta.cog(close, 10)) // the same on pine pine_cog(source, length) => sum = math.sum(source, length) num = 0.0 for i = 0 to length - 1 price = source[i] num := num + price * (i + 1) -num / sum plot(pine_cog(close, 10))

Rückgabewert
Schwerpunkt

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.stoch

ta.dev

Unterschiede zwischen der Messreihe und ihrer ta.sma

ta.dev(source, length)

Beispiel

pine
plot(ta.dev(close, 10)) // the same on pine pine_dev(source, length) => mean = ta.sma(source, length) sum = 0.0 for i = 0 to length - 1 val = source[i] sum := sum + math.abs(val - mean) dev = sum/length plot(pine_dev(close, 10))

Rückgabewert
lengthK-Strecke zurückgegebensourceDie Abweichungen

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.variance ta.stdev

ta.stdev

ta.stdev(source, length, biased)

Beispiel

pine
plot(ta.stdev(close, 5)) //the same on pine isZero(val, eps) => math.abs(val) <= eps SUM(fst, snd) => EPS = 1e-10 res = fst + snd if isZero(res, EPS) res := 0 else if not isZero(res, 1e-4) res := res else 15 pine_stdev(src, length) => avg = ta.sma(src, length) sumOfSquareDeviations = 0.0 for i = 0 to length - 1 sum = SUM(src[i], -avg) sumOfSquareDeviations := sumOfSquareDeviations + sum * sum stdev = math.sqrt(sumOfSquareDeviations / length) plot(pine_stdev(close, 5))

Rückgabewert
Unterschiede im Standard

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).
  • biased(series bool) Bestimmt, welche Schätzung verwendet werden soll. Optional. Der Standardwert ist true.

Anmerkung
WennbiasedWenn true, berechnet die Funktion mit einer partiellen Schätzung für die Gesamtheit, und wenn false, mit einer unparteiischen Schätzung für die Probe.

Siehe auch
ta.dev ta.variance

ta.ema

Die ema-Funktion gibt einen exponentiell gewichteten Moving Average zurück. In ema ist der Gewichtsfaktor exponentiell abwärts. Es wird mit der folgenden Formel berechnet: EMA = alpha * source + (1 - alpha) * EMA[1], wobei alpha = 2 / (length + 1) ≠

ta.ema(source, length)

Beispiel

pine
plot(ta.ema(close, 15)) //the same on pine pine_ema(src, length) => alpha = 2 / (length + 1) sum = 0.0 sum := na(sum[1]) ? src : alpha * src + (1 - alpha) * nz(sum[1]) plot(pine_ema(close,15))

Rückgabewert
sourceDer exponentielle gleitende Durchschnitt, alpha = 2 / (Länge + 1) ◦

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(simple int) Anzahl der K-Zeilen (länge).

Anmerkung
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.wma

WMA-Funktion wird zurückgegebenlengthK-LiniesourceIn wma nimmt der Gewichtsfaktor in arithmetischen Graden ab.

ta.wma(source, length)

Beispiel

pine
plot(ta.wma(close, 15)) // same on pine, but much less efficient pine_wma(x, y) => norm = 0.0 sum = 0.0 for i = 0 to y - 1 weight = (y - i) * y norm := norm + weight sum := sum + x[i] * weight sum / norm plot(pine_wma(close, 15))

Rückgabewert
lengthK-Strecke zurückgegebensourceGewichtete bewegliche Durchschnitte.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.sma ta.ema ta.rma ta.vwma ta.swma ta.alma

ta.swma

Symmetrisch-gewichtete gleitende Mittelwerte mit fester Länge: 4. Gewicht:[1/6,2 / 6,2 / 6,1 / 6]。

ta.swma(source)

Beispiel

pine
plot(ta.swma(close)) // same on pine, but less efficient pine_swma(x) => x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6 plot(pine_swma(close))

Rückgabewert
Symmetrisch gewichtete gleitende Durchschnitte.

Parameter

  • source(series int/float) Quelle der Serie <unk>

Siehe auch
ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma

ta.hma

Die hma-Funktion liefert den Wasserschiff beweglichen Durchschnitt HMA。.

ta.hma(source, length)

Beispiel

pine
src = input(defval=close, title="Source") length = input(defval=9, title="Length") hmaBuildIn = ta.hma(src, length) plot(hmaBuildIn, title="Hull MA", color=#674EA7)

Rückgabewert
Hull Moving Average der Quelle in der Spalte 'length'

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(simple int) Anzahl der K-Zeilen

Siehe auch
ta.ema ta.rma ta.wma ta.vwma ta.sma

ta.rma

Der Moving Average, der im RSI verwendet wird. Es ist ein Index-gewichteter Moving Average, alpha-gewichtet = 1 / Länge.

ta.rma(source, length)

Beispiel

pine
plot(ta.rma(close, 15)) //the same on pine pine_rma(src, length) => alpha = 1/length sum = 0.0 sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1]) plot(pine_rma(close, 15))

Rückgabewert
sourceDer Index bewegt sich durchschnittlich, alpha = 1 /.length

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(simple int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi

ta.rsi

Der Relative Intensitätsindex.lengthK ist onlinesourceAufwärts- und Abwärtsveränderungenta.rma()Berechnet

ta.rsi(source, length)

Beispiel

pine
plot(ta.rsi(close, 7)) // same on pine, but less efficient pine_rsi(x, y) => u = math.max(x - x[1], 0) // upward ta.change d = math.max(x[1] - x, 0) // downward ta.change rs = ta.rma(u, y) / ta.rma(d, y) res = 100 - 100 / (1 + rs) res plot(pine_rsi(close, 7))

Rückgabewert
Relativ starke Indikatoren (RSI)

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(simple int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.rma

ta.tsi

Der Index der wahren Stärken und Schwächen ist ein beweglicher Durchschnitt der potenziellen Dynamik der Finanzinstrumente.

ta.tsi(source, short_length, long_length)

Rückgabewert
Der Index der wahren Stärken und Schwächen.[Die Werte in -1,1]

Parameter

  • source(series int/float) Quelle der Serie <unk>
  • short_length(simple int) Eine kurze Länge.
  • long_length(simple int) Länge der langen Zeile。

ta.roc

Die Funktion roc (Veränderungsrate) wird angezeigt.sourceDer aktuelle Wert vonsourceVor ein paar Tagen.lengthUnterschiede zwischen Werten
Berechnet durch folgende Formel: 100 * change ((src, length) / src[length]。

ta.roc(source, length)

Rückgabewert
lengthK-Strecke zurückgegebensourceVeränderung in der Bevölkerung

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

ta.range

Gibt die Differenz zwischen den Minimal- und Maximalwerten der Sequenz zurück.

ta.range(source, length)

Rückgabewert
Die Differenz zwischen der Minimal- und der Maximal-Wertzahl in einer Reihe.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

ta.macd

Der MACD soll die Stärke, Richtung, Dynamik und Dauer der Aktienpreisentwicklung zeigen.

ta.macd(source, fastlen, slowlen, siglen)

Beispiel

pine
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) plot(macdLine, color=color.blue) plot(signalLine, color=color.orange) plot(histLine, color=color.red, style=plot.style_histogram)

Wenn Sie nur einen Wert benötigen, verwenden Sie einen Positionierer wie '_':

Beispiel

pine
[_, signalLine, _] = ta.macd(close, 12, 26, 9) plot(signalLine, color=color.orange)

Rückgabewert
Die drei MACD-Bausteine sind MACD-Leitung, Signal-Leitung und Verteiler-Leitung.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • fastlen(simple int) Schnellleiter-Parameter
  • slowlen(simple int) Langsamer Länge-Parameter ≠
  • siglen(simple int) Parameter für die Signallänge。

Siehe auch
ta.sma ta.ema

ta.mode

Modus der Rückgabe von Sequenzen. Gibt es mehrere Werte mit der gleichen Frequenz, wird der kleinste Wert zurückgegeben.

ta.mode(source, length)

Rückgabewert
Modell der Sequenz.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

ta.median

Die mittlere Zahl der zurückgegebenen Sequenz.

ta.median(source, length)

Rückgabewert
Die mittlere Zahl der Sequenz.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

ta.linreg

Die lineare Regressionskurve. Eine Linie, die am besten zu den vom Benutzer definierten Zeiträumen angegebenen Preisen passt. Sie wird mit dem Minimum-Doppel-Verhältnis berechnet. Die Ergebnisse dieser Funktion werden mit der folgenden Formel berechnet: linreg = intercept + slope * (length - 1 - offset), wobei intercept und slope verwendet werden.sourceDie Berechnung des Minimum-Doppelzinswerts der Reihe.

ta.linreg(source, length, offset)

Rückgabewert
Lineare Regressionskurve

Parameter

  • source(series int/float) Quelle der Serie <unk>
  • length (series int)
  • offset(simple int) Verlagerung

ta.bb

Die Brinbands sind ein technisches Analysetool, das durch eine Reihe von Linien definiert ist, die zwei Standarddeviationen (positiv und negativ) von der einfachen Moving Average (SMA) der Wertpapierpreise entfernt sind, aber an die Vorlieben des Benutzers angepasst werden können.

ta.bb(series, length, mult)

Beispiel

pine
[middle, upper, lower] = ta.bb(close, 5, 4) plot(middle, color=color.yellow) plot(upper, color=color.yellow) plot(lower, color=color.yellow) // the same on pine f_bb(src, length, mult) => float basis = ta.sma(src, length) float dev = mult * ta.stdev(src, length) [basis, basis + dev, basis - dev] [pineMiddle, pineUpper, pineLower] = f_bb(close, 5, 4) plot(pineMiddle) plot(pineUpper) plot(pineLower)

Rückgabewert
Blinken

Parameter

  • series(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).
  • mult(simple int/float) Standarddifferenzfaktor

Siehe auch
ta.sma ta.stdev ta.kc

ta.bbw

Die Breite des Brinbands ≠ die Entfernung von der Ober- und Unterbahn zur Mittellinie ≠

ta.bbw(series, length, mult)

Beispiel

pine
plot(ta.bbw(close, 5, 4), color=color.yellow) // the same on pine f_bbw(src, length, mult) => float basis = ta.sma(src, length) float dev = mult * ta.stdev(src, length) ((basis + dev) - (basis - dev)) / basis plot(f_bbw(close, 5, 4))

Rückgabewert
Die Bandbreite von Brin:

Parameter

  • series(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).
  • mult(simple int/float) Standarddifferenzfaktor

Siehe auch
ta.bb ta.sma ta.stdev

ta.cci

Der CCI (Commodity Path Index) wird berechnet, wenn der Unterschied zwischen dem typischen Preis eines Produkts und seinem einfachen gleitenden Durchschnitt durch die durchschnittliche absolute Abweichung des typischen Preises dividiert wird. Der Index wird mit einer Rückwärtsbewegung von 0,015 verkleinert, um mehr lesbare Zahlen zu liefern.

ta.cci(source, length)

Rückgabewert
Der Warenkanalindex der Quelle, die auf der lengthK-Linie zurückgegeben wird.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

ta.change

Differenz zwischen dem aktuellen und dem vorherigen Wert, source - source[length]。

ta.change(source, length)
ta.change(source)

Rückgabewert
Das Ergebnis der Senkung:

Parameter

  • source(series int/float) Quelle der Serie <unk>
  • length(series int) Verlagerung von der aktuellen k-Zeile auf die vorherige k-Zeile. Optional, wenn nicht angegeben, wird length = 1 verwendet.

Siehe auch
ta.mom ta.cross

ta.mom

sourcePreise undsourcePreiselengthDas ist nur ein Unterschied: source - source[length]。

ta.mom(source, length)

Rückgabewert
sourcePreise undsourcePreiselengthDie Dynamik vor der K-Linie

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Verschiebung von der aktuellen k-Zeile zur vorherigen k-Zeile.

Siehe auch
ta.change

ta.cmo

Der Candle-Dynamik-Schwankungs-Indikator. Berechne die Summe der jüngsten Aufstiegspunkte mit der Summe der jüngsten Abstiegspunkte, subtrahiere sie und dividiere das Ergebnis durch die Summe aller Preisbewegungen in derselben Periode

ta.cmo(series, length)

Beispiel

pine
plot(ta.cmo(close, 5), color=color.yellow) // the same on pine f_cmo(src, length) => float mom = ta.change(src) float sm1 = math.sum((mom >= 0) ? mom : 0.0, length) float sm2 = math.sum((mom >= 0) ? 0.0 : -mom, length) 100 * (sm1 - sm2) / (sm1 + sm2) plot(f_cmo(close, 5))

Rückgabewert
Schwankungsindikator für die Dynamik von Chandra

Parameter

  • series(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.rsi ta.stoch math.sum

ta.percentile_linear_interpolation

Der Prozentsatz wird mit einer linearen Intervallmethode zwischen den beiden jüngsten Ranglisten berechnet.

ta.percentile_linear_interpolation(source, length, percentage)

Rückgabewert
lengthK-Strecke zurückgegebensourceDie erste Prozentzahl P der Reihe <unk>.

Parameter

  • source(series int/float) Ausführbarer Wert der Serie ((Quelle))
  • length(Series int) Anzahl der K-Streifen in der Vergangenheit (länge)
  • percentage(simple int/float) Prozentsatz, Zahlen im Bereich von 0 bis 100

Anmerkung
Bitte beachten Sie, dass nicht alle Prozentsätze, die mit dieser Methode berechnet werden, Teil des Datensatzes sind.

Siehe auch
ta.percentile_nearest_rank

ta.percentile_nearest_rank

Der Prozentsatz basiert auf den neuesten Rankingmethoden.

ta.percentile_nearest_rank(source, length, percentage)

Rückgabewert
lengthK-Strecke zurückgegebensourceDie erste Prozentzahl P der Reihe <unk>.

Parameter

  • source(series int/float) Ausführbarer Wert der Serie ((Quelle))
  • length(Series int) Anzahl der K-Streifen in der Vergangenheit (länge)
  • percentage(simple int/float) Prozentsatz, Zahlen im Bereich von 0 bis 100

Anmerkung
Die Verwendung der jüngsten Reihenfolge mit weniger als den letzten 100 k Linienlängen führt dazu, dass die gleiche Zahl für mehrere Prozentzahlen verwendet wird.
Die Prozentzahlen der neuesten Rankings sind Teil des Datensatzes der Eingaben.
Der hundertste Prozentpunkt ist definiert als der größte Wert im Eingangsdatensatz.

Siehe auch
ta.percentile_linear_interpolation

ta.percentrank

Der Prozentsatz ist der Prozentsatz, in dem der vorherige Wert kleiner oder gleich dem aktuellen Wert einer bestimmten Reihe ist.

ta.percentrank(source, length)

Rückgabewert
lengthK-Strecke zurückgegebensourceDer Prozentsatz.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

ta.variance

Die Differenz ist die erwartete Abweichung (ta.sma) einer Reihe von Quadratzahlen von ihrem Mittelwert, die informell die Entfernung einer Gruppe von Zahlen von ihrem Mittelwert misst.

ta.variance(source, length, biased)

Rückgabewert
lengthK-Strecke zurückgegebensourceDie Differenz

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).
  • biased(series bool) Bestimmt, welche Schätzung verwendet werden soll. Optional. Der Standardwert ist true.

Anmerkung
WennbiasedWenn true, berechnet die Funktion mit einer partiellen Schätzung für die Gesamtheit, und wenn false, mit einer unparteiischen Schätzung für die Probe.

Siehe auch
ta.dev ta.stdev

ta.tr

ta.tr(handle_na)

Rückgabewert
Wirkliche Reichweite. Es ist math.max (high - low, math.abs (high - close)[1]), math.abs(low - close[1]))。

Parameter

  • handle_na(simple bool) Wie wird der NaN-Wert behandelt. Wenn true und der Vortags-Schlusskurs NaN ist, wird tr als Hoch-Low des Tages berechnet. Andernfalls wird (((wenn false) tr NaN zurückgeben. Bitte beachten Sie, dass ta.atr mit ta.true verwendet wird.

Anmerkung
ta.tr(false)Undta.trGenau das Gleiche.

Siehe auch
ta.atr

ta.mfi

Der Cashflow-Indikator ist ein technischer Indikator, der den Preis und die Transaktionsmenge verwendet, um zu überkaufen oder zu verkaufen.

ta.mfi(series, length)

Beispiel

pine
plot(ta.mfi(hlc3, 14), color=color.yellow) // the same on pine pine_mfi(src, length) => float upper = math.sum(volume * (ta.change(src) <= 0.0 ? 0.0 : src), length) float lower = math.sum(volume * (ta.change(src) >= 0.0 ? 0.0 : src), length) mfi = 100.0 - (100.0 / (1.0 + upper / lower)) mfi plot(pine_mfi(hlc3, 14))

Rückgabewert
Kapitalflussindikatoren

Parameter

  • series(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.rsi math.sum

ta.kc

Der Kentner Gang. Der Kentner Gang ist ein technischer Indikator, der einen mittleren Moving Average sowie einen Up-and-Down Gang enthält.

ta.kc(series, length, mult)
ta.kc(series, length, mult, useTrueRange)

Beispiel

pine
[middle, upper, lower] = ta.kc(close, 5, 4) plot(middle, color=color.yellow) plot(upper, color=color.yellow) plot(lower, color=color.yellow) // the same on pine f_kc(src, length, mult, useTrueRange) => float basis = ta.ema(src, length) float span = (useTrueRange) ? ta.tr : (high - low) float rangeEma = ta.ema(span, length) [basis, basis + rangeEma * mult, basis - rangeEma * mult] [pineMiddle, pineUpper, pineLower] = f_kc(close, 5, 4, true) plot(pineMiddle) plot(pineUpper) plot(pineLower)

Rückgabewert
Die Kettner Passage

Parameter

  • series(series int/float) Die auszuführenden Serienwerte.
  • length(simple int) Anzahl der K-Zeilen (länge).
  • mult(simple int/float) Standarddifferenzfaktor
  • useTrueRange(simple bool) Optionale Parameter. Geben Sie an, ob ein wahrer Bereich verwendet werden soll; der Default ist true. Wenn der Wert false ist, wird der Bereich mit dem Ausdruck ((high-low) berechnet.

Siehe auch
ta.ema ta.atr ta.bb

ta.kcw

Die Breite der Kentnerkanäle. Die Breite der Kentnerkanäle ist die Differenz zwischen den oberen und unteren Kanälen, dividiert durch den Wert der mittleren Kanäle.

ta.kcw(series, length, mult)
ta.kcw(series, length, mult, useTrueRange)

Beispiel

pine
plot(ta.kcw(close, 5, 4), color=color.yellow) // the same on pine f_kcw(src, length, mult, useTrueRange) => float basis = ta.ema(src, length) float span = (useTrueRange) ? ta.tr : (high - low) float rangeEma = ta.ema(span, length) ((basis + rangeEma * mult) - (basis - rangeEma * mult)) / basis plot(f_kcw(close, 5, 4, true))

Rückgabewert
Breite des Kentner-Kanals

Parameter

  • series(series int/float) Die auszuführenden Serienwerte.
  • length(simple int) Anzahl der K-Zeilen (länge).
  • mult(simple int/float) Standarddifferenzfaktor
  • useTrueRange(simple bool) Optionale Parameter. Geben Sie an, ob ein wahrer Bereich verwendet werden soll; der Default ist true. Wenn der Wert false ist, wird der Bereich mit dem Ausdruck ((high-low) berechnet.

Siehe auch
ta.kc ta.ema ta.atr ta.bb

ta.correlation

Relative Koeffizienten. Beschreiben, wie sehr zwei Reihen von ihren ta.sma-Werten abweichen.

ta.correlation(source1, source2, length)

Rückgabewert
Bezogener Faktor

Parameter

  • source1(series int/float) Quelle der Serie <unk>
  • source2(series int/float) Zielreihe
  • length(Series int) Länge (Zahl der K-Zeilen)

Siehe auch
request.security

ta.cross

ta.cross(source1, source2)

Rückgabewert
Wenn zwei Reihen sich kreuzen, ist es wahr, andernfalls ist es falsch.

Parameter

  • source1(series int/float) Erste Datenreihe
  • source2(series int/float) Die zweite Datenreihe.

Siehe auch
ta.change

ta.crossover

source1-series wird als Überschreitung definiertsource2-series, wenn es auf der aktuellen K-Linie ist,source1ist größer alssource2Wir haben die Werte für die K-Reihe und die K-Reihe.source2Wert von source1小于source2`Werte von

ta.crossover(source1, source2)

Rückgabewert
Wennsource1Durchgehensource2Die Antwort lautet true oder false.

Parameter

  • source1(series int/float) Erste Datenreihe
  • source2(series int/float) Die zweite Datenreihe.

ta.crossunder

source1-series ist definiert als insource2-series unter der Kreuzung, wenn auf der aktuellen K-Linie,source1ist kleiner alssource2Wir haben die Werte für die K-Strecke und die K-Strecke.source1ist größer alssource2Werte von

ta.crossunder(source1, source2)

Rückgabewert
Wennsource1existierensource2Unterkreuzt, dann ist es wahr oder falsch.

Parameter

  • source1(series int/float) Erste Datenreihe
  • source2(series int/float) Die zweite Datenreihe.

ta.atr

Die Funktion ATR (Mittelwert der realen Schwankungsbreite) gibt die RMA des realen Bereichs zurück. Die realen Schwankungen sind max (hoch - niedrig, abs (hoch - nahe)[1]), abs(low - close[1]))。

ta.atr(length)

Beispiel

pine
plot(ta.atr(14)) //the same on pine pine_atr(length) => trueRange = na(high[1])? high-low : math.max(math.max(high - low, math.abs(high - close[1])), math.abs(low - close[1])) //true range can be also calculated with ta.tr(true) ta.rma(trueRange, length) plot(pine_atr(14))

Rückgabewert
Durchschnitt der realen Schwankungen (ATR)

Parameter
length (simple int) Länge (Zahl der K-Zeilen)

Siehe auch
ta.tr ta.rma

ta.sar

Die Parallax-Linie ist eine Methode, die von J. Welles Wilder, Jr. entwickelt wurde, um potenzielle Umkehrungen in der Kursrichtung von Handelsmärkten zu erkennen.

ta.sar(start, inc, max)

Beispiel

pine
plot(ta.sar(0.02, 0.02, 0.2), style=plot.style_cross, linewidth=3) // The same on Pine pine_sar(start, inc, max) => var float result = na var float maxMin = na var float acceleration = na var bool isBelow = na bool isFirstTrendBar = false if bar_index == 1 if close > close[1] isBelow := true maxMin := high result := low[1] else isBelow := false maxMin := low result := high[1] isFirstTrendBar := true acceleration := start result := result + acceleration * (maxMin - result) if isBelow if result > low isFirstTrendBar := true isBelow := false result := math.max(high, maxMin) maxMin := low acceleration := start else if result < high isFirstTrendBar := true isBelow := true result := math.min(low, maxMin) maxMin := high acceleration := start if not isFirstTrendBar if isBelow if high > maxMin maxMin := high acceleration := math.min(acceleration + inc, max) else if low < maxMin maxMin := low acceleration := math.min(acceleration + inc, max) if isBelow result := math.min(result, low[1]) if bar_index > 1 result := math.min(result, low[2]) else result := math.max(result, high[1]) if bar_index > 1 result := math.max(result, high[2]) result plot(pine_sar(0.02, 0.02, 0.2), style=plot.style_cross, linewidth=3)

Rückgabewert
Die Parallax-Linie dreht sich auf die Zeigefläche.

Parameter

  • start(simple int/float) beginnt <unk>
  • inc(simple int/float) erhöht
  • max(simple int/float) maximal

ta.barssince

Berechnen Sie die Anzahl der K-Zeilen, wenn die vorherige Bedingung wahr ist.

ta.barssince(condition)

Beispiel

pine
// get number of bars since last color.green bar plot(ta.barssince(close >= open))

Rückgabewert
Anzahl der Zeilen k, wenn die Bedingung wahr ist.

Anmerkung
Die Funktion gibt nach der aktuellen K-Zeile nur dann na。 zurück, wenn diese Bedingung noch nie erfüllt wurde.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
ta.lowestbars ta.highestbars ta.valuewhen ta.highest ta.lowest

ta.cum

sourceDas ist die Summe der Summe der Summe.sourceDie Summe aller Elemente von

ta.cum(source)

Rückgabewert
Zusammenfassung der Serie

Parameter

  • source (series int/float)

Siehe auch
math.sum

ta.dmi

Die dmi-Funktion gibt den dynamischen Index DMI。 zurück.

ta.dmi(diLength, adxSmoothing)

Beispiel

pine
len = input.int(17, minval=1, title="DI Length") lensig = input.int(14, title="ADX Smoothing", minval=1, maxval=50) [diplus, diminus, adx] = ta.dmi(len, lensig) plot(adx, color=color.red, title="ADX") plot(diplus, color=color.blue, title="+DI") plot(diminus, color=color.orange, title="-DI")

Rückgabewert
Die drei Subgruppen der DMI-Serie: Positive Bewegung ((+DI), Negative Bewegung ((-DI) und Durchschnittsbewegung ((ADX)) [2].

Parameter

  • diLength (simple int) DI Period。
  • adxSmoothing(simple int) ADX-Gleichzyklus

Siehe auch
ta.rsi ta.tsi ta.mfi

ta.falling

TestssourceSerie fürlengthK-Line-long ist im Rückgang.

ta.falling(source, length)

Rückgabewert
Wenn wir jetztsourceWeniger alslengthDie K-Linie kehrt zu jeder vorherigensourceDer Wert ist true oder false.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.rising

ta.rising

TestssourceSerie fürlengthK-Line-long ist auf dem Vormarsch

ta.rising(source, length)

Rückgabewert
Wenn wir jetztsourceMehr als das.lengthDie K-Linie kehrt zu jeder vorherigensourceDer Wert ist true oder false.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.falling

ta.pivothigh

Diese Funktion gibt den Preis des Pivot-High-Points zurück. Wenn kein Pivot-High-Points vorhanden ist, wird NaN<unk> zurückgegeben.

ta.pivothigh(source, leftbars, rightbars)
ta.pivothigh(leftbars, rightbars)

Beispiel

pine
leftBars = input(2) rightBars=input(2) ph = ta.pivothigh(leftBars, rightBars) plot(ph, style=plot.style_cross, linewidth=3, color= color.red, offset=-rightBars)

Rückgabewert
Der Preis an dieser Stelle oder "NaN".

Parameter

  • source(series int/float) Auswählbare Parameter。 Berechnungswert der Datenreihe。 Default 'High'。
  • leftbars(series int/float) Linke Kraft
  • rightbars(series int/float) Die rechte Länge.

Anmerkung
Wenn die Parameter 'leftbars' oder 'rightbars' seriell sind, sollten Sie die max_bars_back-Funktion als 'source'-Variable verwenden.

ta.pivotlow

Diese Funktion gibt den Preis des Pivot-Low-Punktes zurück. Wenn kein Pivot-Low-Punkt vorhanden ist, gibt sie den Wert von NaN<unk> zurück.

ta.pivotlow(source, leftbars, rightbars)
ta.pivotlow(leftbars, rightbars)

Beispiel

pine
leftBars = input(2) rightBars=input(2) pl = ta.pivotlow(close, leftBars, rightBars) plot(pl, style=plot.style_cross, linewidth=3, color= color.blue, offset=-rightBars)

Rückgabewert
Der Preis an dieser Stelle oder "NaN".

Parameter

  • source(series int/float) Optionale Parameter。 Berechnungswert der Datenreihe。 Standard ist <unk>Low<unk>。
  • leftbars(series int/float) Linke Kraft
  • rightbars(series int/float) Die rechte Länge.

Anmerkung
Wenn die Parameter 'leftbars' oder 'rightbars' seriell sind, sollten Sie die max_bars_back-Funktion als 'source'-Variable verwenden.

ta.highest

Die höchste der angegebenen Werte der letzten k-Zeile.

ta.highest(source, length)
ta.highest(length)

Rückgabewert
Höchste Wert in der Reihe.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Anmerkung
Zwei Versionen von args:sourceEs ist eine Serie.lengthist die Anzahl der zurückgegebenen K-Streifen.
Eine Arg-Version:lengthist die Anzahl der zurückgegebenen K-Linien.sourceDie Serie

Siehe auch
ta.lowest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince

ta.highestbars

Die maximale Abweichung einer gegebenen Anzahl von Zahlen über die k-Linie.

ta.highestbars(source, length)
ta.highestbars(length)

Rückgabewert
Die höchste k-Linie.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Anmerkung
Zwei Versionen von args:sourceEs ist eine Serie.lengthist die Anzahl der zurückgegebenen K-Streifen.
Eine Arg-Version:lengthist die Anzahl der zurückgegebenen K-Linien.sourceDie Serie

Siehe auch
ta.lowest ta.highest ta.lowestbars ta.barssince ta.valuewhen

ta.stoch

Zufällige Kennziffern. Berechnungsformel: 100 * (close - lowest, length) / (highest, high, length) - lowest, length)

ta.stoch(source, high, low, length)

Rückgabewert
Zufällig

Parameter

  • source(series int/float) Quelle der Serie <unk>
  • high(series int/float) Hochreihen
  • low(series int/float) Niedrigere Reihe
  • length(Series int) Länge (Zahl der K-Zeilen)

Siehe auch
ta.cog

ta.supertrend

Ein Supertrend-Indikator. Ein Supertrend-Indikator ist ein Indikator, der einem Trend folgt.

ta.supertrend(factor, atrPeriod)

Beispiel

pine
//@version=5 indicator("Pine Script™ Supertrend") [supertrend, direction] = ta.supertrend(3, 10) plot(direction < 0 ? supertrend : na, "Up direction", color = color.green, style=plot.style_linebr) plot(direction > 0 ? supertrend : na, "Down direction", color = color.red, style=plot.style_linebr) // The same on Pine Script™ pine_supertrend(factor, atrPeriod) => src = hl2 atr = ta.atr(atrPeriod) upperBand = src + factor * atr lowerBand = src - factor * atr prevLowerBand = nz(lowerBand[1]) prevUpperBand = nz(upperBand[1]) lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand int direction = na float superTrend = na prevSuperTrend = superTrend[1] if na(atr[1]) direction := 1 else if prevSuperTrend == prevUpperBand direction := close > upperBand ? -1 : 1 else direction := close < lowerBand ? 1 : -1 superTrend := direction == -1 ? lowerBand : upperBand [superTrend, direction] [pineSupertrend, pineDirection] = pine_supertrend(3, 10) plot(pineDirection < 0 ? pineSupertrend : na, "Up direction", color = color.green, style=plot.style_linebr) plot(pineDirection > 0 ? pineSupertrend : na, "Down direction", color = color.red, style=plot.style_linebr)

Rückgabewert
Zwei Subgruppen der Übertrendreihe: die Übertrendlinie und die Trendrichtung. Die möglichen Werte sind 1 (in Richtung nach unten) und -1 (in Richtung nach oben).

Parameter

  • factor(series int/float) ATR wird mit dem Multiplikator multipliziert.
  • atrPeriod(simple int) Durchschnittliche reale Wellenlänge

Siehe auch
ta.macd

ta.lowest

Die Mindestwerte für eine gegebene Anzahl von Zeilen, die an der k-Zeile vorbeigehen.

ta.lowest(source, length)
ta.lowest(length)

Rückgabewert
Mindeste Wert in der Reihe.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Anmerkung
Zwei Versionen von args:sourceEs ist eine Serie.lengthist die Anzahl der zurückgegebenen K-Streifen.
Eine Arg-Version:lengthist die Anzahl der zurückgegebenen K-Linien.sourceDie Serie

Siehe auch
ta.highest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince

ta.lowestbars

Die Mindestverschiebung einer gegebenen Anzahl von K-Linien.

ta.lowestbars(source, length)
ta.lowestbars(length)

Rückgabewert
Die Abweichung auf die untere k-Linie.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Gibt eine K-Zeile zurück.

Anmerkung
Zwei Versionen von args:sourceEs ist eine Serie.lengthist die Anzahl der zurückgegebenen K-Streifen.
Eine Arg-Version:lengthist die Anzahl der zurückgegebenen K-Linien.sourceDie Serie

Siehe auch
ta.lowest ta.highest ta.highestbars ta.barssince ta.valuewhen

ta.valuewhen

Gibt den Wert der Quellsource-Quellreihe für die K-Linie zurück, bei der die Quellcondition-Quelle als n-tes jüngstes Vorkommen wahr ist.

ta.valuewhen(condition, source, occurrence)

Beispiel

pine
slow = ta.sma(close, 7) fast = ta.sma(close, 14) // Get value of `close` on second most recent cross plot(ta.valuewhen(ta.cross(slow, fast), close, 1))

Parameter

  • condition(series bool) Suche nach einer Bedingung
  • source(series int/float/bool/color) Der Wert, der von der K-Zeile zurückgegeben wird, die die Bedingungen erfüllt.
  • occurrence(simple int) Auftreten der Bedingung ≠ die Zahl beginnt mit 0 und geht zurück in der Zeit, so dass ≠ 0 ≠ der jüngste ≠ condition ≠ 1 ≠ der zweitlängste ≠ 2 und so weiter ≠ muss eine ganze Zahl sein >= 0 ≠

Anmerkung
Diese Funktion muss auf jeder K-Zeile ausgeführt werden. Es wird nicht empfohlen, sie in einer For- oder While-Loop-Struktur zu verwenden, da sie sich unerwartet verhalten kann. Bitte beachten Sie, dass die Verwendung dieser Funktion dazu führen kann, dass der Indikator neu gezeichnet wird.

Siehe auch
ta.lowestbars ta.highestbars ta.barssince ta.highest ta.lowest

ta.vwap

Gewichtete Durchschnittspreise

ta.vwap(source)

Rückgabewert
Gewichtete Durchschnittszahl

Parameter

  • source(series int/float) Quelle der Serie <unk>

Siehe auch
ta.vwap

ta.vwma

Funktion vwma wird zurückgegebenlengthK-LiniesourceDer durchschnittlich gewichtete Moving Average der Transaktionsmenge ≠ ist gleich: sma (Quelle * Volumen, Länge) / sma (Volumen, Länge).

ta.vwma(source, length)

Beispiel

pine
plot(ta.vwma(close, 15)) // same on pine, but less efficient pine_vwma(x, y) => ta.sma(x * volume, y) / ta.sma(volume, y) plot(pine_vwma(close, 15))

Rückgabewert
lengthK-Strecke zurückgegebensourceDie Transaktionsmenge ist ein gewichteter Moving Average.

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.sma ta.ema ta.rma ta.wma ta.swma ta.alma

ta.wpr

Williams %R. Dieser Schwankungsindikator zeigt die Beziehung zwischen dem aktuellen Schlusskurs und den hohen/niedrigen Preisen in der Vergangenheit.

ta.wpr(length)

Beispiel

pine
plot(ta.wpr(14), title="%R", color=color.new(#ff6d00, 0))

Rückgabewert
Williams %R。

Parameter

  • length(series int) Anzahl der Zeilen K。

Siehe auch
ta.mfi ta.cmo

plot

plot

Eine Reihe von Daten auf einer Grafik zu zeichnen.

plot(series, title, color, linewidth, style, trackprice, histbase, offset, join, editable, show_last, display)

Beispiel

pine
plot(high+low, title='Title', color=color.new(#00ffaa, 70), linewidth=2, style=plot.style_area, offset=15, trackprice=true) // You may fill the background between any two plots with a fill() function: p1 = plot(open) p2 = plot(close) fill(p1, p2, color=color.new(color.green, 90))

Rückgabewert
Graphische Objekte, die für Fill verwendet werden können.

Parameter

  • series(series int/float) Die zu zeichnende Datenreihe. Die erforderlichen Parameter.
  • title(const string) Zeichnung der Überschrift。
  • color(series color) Farbe der Zeichnung. Sie können Konstanten wie 'color = red' oder 'color =#ff001a' sowie komplexe Ausdrücke wie 'color = close >= open ? green: red' verwenden.
  • linewidth(input int) Zeichnen Sie die Breite der Linien. Der Standardwert ist 1. Nicht für alle Stile gilt.
  • style(plot_style) Plot-Typ. Die möglichen Werte sind plot.style_line, plot.style_stepline, plot.style_stepline_diamond, plot.style_histogram, plot.style_cross, plot.style_area, plot.style_columns, plot.style_circles, plot.style_linebr, plot.style_areabr. Der Standardwert ist plot.style_line.
  • trackprice(input bool) Wenn true, wird die horizontale Preislinie auf der Ebene des letzten Kennwerts angezeigt.
  • histbase(input int/float) Der Wert des Referenzniveaus wird verwendet, wenn ein Diagramm im Plot.style_histogramm, Plot.style_columns oder Plot.style_area-Stil erstellt wird. Der Standardwert ist 0.0
  • offset(series int) Bewegt die Grafik links oder rechts auf einer bestimmten Anzahl von K-Linien. 0 ist der Standardwert.
  • join(input bool) Wenn true ist, wird der Zeichnungspunkt mit der Leitung verbunden. Dies gilt nur für die Formen plot.style_cross und plot.style_circles.
  • editable(const bool) Wenn true verwendet wird, können Sie den Grafikstil im Format-Dialogfeld bearbeiten. Die Standardeinstellung ist true.
  • show_last(input int) Wenn eingestellt, definiert man die Anzahl der K-Linien, die in der Grafik gezeichnet werden (< zurück von der letzten K-Linie) <unk>.
  • display(plot_display) Die Steuerung zeigt die Position der Zeichnung an. Die möglichen Werte sind: display.none, display.all. Die Standardwerte sind display.all.
  • overlay(const bool) Der Parameter, der von der FMZ-Plattform erweitert wird, um die aktuelle Funktion auf der Hauptgrafik ([settrue]) oder der Nebengrafik ([setfalse]) anzuzeigen. Die Default-Wertung ist false.strategyoderindicatorInoverlayParameter eingestelltstrategyoderindicatorKeine EinstellungenoverlayDie Parameter werden nach den Standardparametern behandelt.

Siehe auch
plotshape plotchar bgcolor

plotshape

Zeichnen Sie die sichtbaren Formen auf der Grafik.

plotshape(series, title, style, location, color, offset, text, textcolor, editable, size, show_last, display)

Beispiel

pine
data = close >= open plotshape(data, style=shape.xcross)

Parameter

  • series(series bool) Eine Reihe von Daten, die als eine Form dargestellt werden. Die Reihe wird als eine Reihe von Boole-Werten für alle Positionswerte außer location.absolute betrachtet. Die erforderlichen Parameter.
  • title(const string) Zeichnung der Überschrift。
  • style(input string) Zeichnungstypen。 Die möglichen Werte sind: shape.xcross, shape.cross, shape.triangleup, shape.triangledown, shape.flag, shape.circle, shape.arrowup, shape.arrowdown, shape.labelup, shape.labeldown, shape.square, shape.diamond。 Der Standardwert ist shape.xcross。
  • location(input string) Form der Position in der Grafik. Mögliche Werte sind: location.abovebar, location.belowbar, location.top, location.bottom, location.absolute. Die Standardwerte sind location.abovebar.
  • color(series color) Farbe in Form. Sie können Konstanten wie 'color = red' oder 'color =#ff001a' und komplexe Ausdrücke wie 'color = close >= open ? green: red' verwenden. Optionale Parameter.
  • offset(series int) Die Form bewegt sich auf einer bestimmten Anzahl von K-Zeilen nach links oder rechts. Der Standardwert ist 0
  • text(const string) Text wird in Form angezeigt. Sie können mehrere Zeilen Text verwenden, wobei Sie die Zeilen mit einer '\n' Übersetzungsfolge trennen. Beispiel: 'line one\nline two'
  • textcolor(series color) Farbe des Textes. Sie können Konstanten wie 'textcolor=red' oder 'textcolor=#ff001a' und komplexe Ausdrücke wie 'textcolor = close >= open ? green: red' verwenden. Optionale Parameter.
  • editable(const bool) Wenn true, kann der Plotshape-Stil im Format-Dialogfeld bearbeitet werden. Die Standardeinstellung ist true.
  • show_last(input int) Wenn eingestellt, definiert man die Anzahl der Formen, die in der Grafik abgebildet werden (<< zurück von der letzten k-Zeile zurück) <unk>
  • size(const string) Die Größe der Zeichen in der Grafik. Die möglichen Werte sind size.auto, size.tiny, size.small, size.normal, size.large, size.huge. Die Standardwahrung ist size.auto.
  • display(plot_display) Die Steuerung zeigt die Position der Zeichnung an. Die möglichen Werte sind: display.none, display.all. Die Standardwerte sind display.all.
  • overlay(const bool) Der Parameter, der von der FMZ-Plattform erweitert wird, um die aktuelle Funktion auf der Hauptgrafik ([settrue]) oder der Nebengrafik ([setfalse]) anzuzeigen. Die Default-Wertung ist false.strategyoderindicatorInoverlayParameter eingestelltstrategyoderindicatorKeine EinstellungenoverlayDie Parameter werden nach den Standardparametern behandelt.

Siehe auch
plot plotchar bgcolor

plotchar

Zeichnen Sie die sichtbaren Formen mit einem beliebigen Unicode-Zeichen auf der Grafik.

plotchar(series, title, char, location, color, offset, text, textcolor, editable, size, show_last, display)

Beispiel

pine
data = close >= open plotchar(data, char='❄')

Parameter

  • series(series bool) Eine Reihe von Daten, die als eine Form dargestellt werden. Die Reihe wird als eine Reihe von Boole-Werten für alle Positionswerte außer location.absolute betrachtet. Die erforderlichen Parameter.
  • title(const string) Zeichnung der Überschrift。
  • char(input string) Zeichen als visuelle Formen
  • location(input string) Form der Position in der Grafik. Mögliche Werte sind: location.abovebar, location.belowbar, location.top, location.bottom, location.absolute. Die Standardwerte sind location.abovebar.
  • color(series color) Farbe in Form. Sie können Konstanten wie 'color = red' oder 'color =#ff001a' und komplexe Ausdrücke wie 'color = close >= open ? green: red' verwenden. Optionale Parameter.
  • offset(series int) Die Form bewegt sich auf einer bestimmten Anzahl von K-Zeilen nach links oder rechts. Der Standardwert ist 0
  • text(const string) Text wird in Form angezeigt. Sie können mehrere Zeilen Text verwenden, wobei Sie die Zeilen mit einer '\n' Übersetzungsfolge trennen. Beispiel: 'line one\nline two'
  • textcolor(series color) Farbe des Textes. Sie können Konstanten wie 'textcolor=red' oder 'textcolor=#ff001a' und komplexe Ausdrücke wie 'textcolor = close >= open ? green: red' verwenden. Optionale Parameter.
  • editable(const bool) Wenn true ist, kann der Plotchar-Stil im Format-Dialogfeld bearbeitet werden. Die Standardeinstellung ist true.
  • show_last(input int) Wenn so eingestellt, wird die Anzahl der Diagramme definiert, die in der Tabelle angezeigt werden sollen (<< zurück von der letzten k-Zeile) <unk>
  • size(const string) Die Größe der Zeichen in der Grafik. Die möglichen Werte sind: size.auto,size.tiny,size.small,size.normal,size.large,size.huge. Die Standardwerte sind size.auto.
  • display(plot_display) Die Steuerung zeigt die Position der Zeichnung an. Die möglichen Werte sind: display.none, display.all. Die Standardwerte sind display.all.
  • overlay(const bool) Der Parameter, der von der FMZ-Plattform erweitert wird, um die aktuelle Funktion auf der Hauptgrafik ([settrue]) oder der Nebengrafik ([setfalse]) anzuzeigen. Die Default-Wertung ist false.strategyoderindicatorInoverlayParameter eingestelltstrategyoderindicatorKeine EinstellungenoverlayDie Parameter werden nach den Standardparametern behandelt.

Siehe auch
plot plotshape bgcolor

plotcandle

Zeichnen Sie die Wurzeln auf der Grafik.

plotcandle(open, high, low, close, title, color, wickcolor, editable, show_last, bordercolor, display)

Beispiel

pine
indicator("plotcandle example", overlay=true) plotcandle(open, high, low, close, title='Title', color = open < close ? color.green : color.red, wickcolor=color.black)

Parameter

  • open(series int/float) Die Datenöffnungsreihe wird als Schachtelöffnungswert。 notwendige Parameter。 verwendet.
  • high(series int/float) Hochreihen-Daten als Hochwert der Reihe. Die erforderlichen Parameter.
  • low(series int/float) Die Daten der niedrigen Reihe werden als niedrige Werte für die Kette verwendet.
  • close(series int/float) Schließung der Serie als Wert für die Schließung der k-Zeile. Die erforderlichen Parameter.
  • title(const string) Titel der plotcandle. Optionale Parameter.
  • color(series color) Die Farbe des Bildschirms. Sie können Konstanten wie 'color = red' oder 'color = #ff001a' und komplexe Ausdrücke wie 'color = close >= open ? green: red' verwenden. Optionale Parameter.
  • wickcolor(series color) Die Farbe des Leuchtkörpers.
  • editable(const bool) Wenn true, kann der Plotcandle-Stil im Format-Dialogfeld bearbeitet werden. Die Standardeinstellung ist true.
  • show_last(input int) Wenn eingestellt, definiert die Zahl der Ecken, die in der Tabelle angezeigt werden (< zurück von der letzten k-Zeile) <unk>.
  • bordercolor(series color) Die Farbe der Rahmen des Bildschirms.
  • display(plot_display) Die Steuerung zeigt die Position der Zeichnung an. Die möglichen Werte sind: display.none, display.all. Die Standardwerte sind display.all.
  • overlay(const bool) Der Parameter, der von der FMZ-Plattform erweitert wird, um die aktuelle Funktion auf der Hauptgrafik ([settrue]) oder der Nebengrafik ([setfalse]) anzuzeigen. Die Default-Wertung ist false.strategyoderindicatorInoverlayParameter eingestelltstrategyoderindicatorKeine EinstellungenoverlayDie Parameter werden nach den Standardparametern behandelt.

Anmerkung
Wenn NaN in der Hoch- und Niedrig-Gewinn-Skala verwendet wird, muss die K-Linie nicht angezeigt werden.
Die Maximalwerte für auf, hoch, niedrig und auf werden auf auf und ab und die Minimalwerte auf auf und ab gesetzt.

Siehe auch
plotbar

plotarrow

Aufwärts- und Abwärts-Pfeile auf der Grafik: Aufwärts-Pfeile werden auf jeden positiven Indikator gezeichnet, während Abwärts-Pfeile auf jeden negativen Wert gezeichnet werden. Wenn der Indikator na zurückgibt, werden die Pfeile nicht gezeichnet. Die Pfeile haben unterschiedliche Höhen, je größer der absolute Wert des Indikators ist, desto länger werden die Pfeile gezeichnet.

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)

Parameter

  • series(series int/float) Die Datenreihe, die als Pfeil gezeichnet werden soll. Die erforderlichen Parameter.
  • title(const string) Zeichnung der Überschrift。
  • colorup(series color) Farbe des aufwärts gerichteten Pfeils.
  • colordown(series color) Farbe des nach unten gerichteten Pfeils.
  • offset(series int) Bewegt den Pfeil nach links oder rechts auf einer bestimmten Anzahl von K-Linien. Der Standardwert ist 0
  • minheight(input int) Die kleinste mögliche Pfeilhöhe in Pixel. Der Standardwert ist 5
  • maxheight(input int) Die maximal mögliche Pfeilhöhe in Pixeln. Die Standardeinstellung ist 100
  • editable(const bool) Wenn true, kann der Plotarrow-Stil im Format-Dialogfeld bearbeitet werden. Die Standardeinstellung ist true.
  • show_last(input int) Definiert die Anzahl der Pfeile, die in der Tabelle angezeigt werden, wenn diese eingestellt ist (< zurück von der letzten k-Zeile) <unk>
  • display(plot_display) Die Steuerung zeigt die Position der Zeichnung an. Die möglichen Werte sind: display.none, display.all. Die Standardwerte sind display.all.
  • overlay(const bool) Der Parameter, der von der FMZ-Plattform erweitert wird, um die aktuelle Funktion auf der Hauptgrafik ([settrue]) oder der Nebengrafik ([setfalse]) anzuzeigen. Die Default-Wertung ist false.strategyoderindicatorInoverlayParameter eingestelltstrategyoderindicatorKeine EinstellungenoverlayDie Parameter werden nach den Standardparametern behandelt.

Siehe auch
plot plotshape plotchar barcolor bgcolor

array

array.pop

Die Funktion entfernt das letzte Element aus dem Array und gibt dessen Wert zurück.

array.pop(id)

Beispiel

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

Rückgabewert
Werte der entfernten Elemente.

Parameter

  • id(any array type) Array-Objekte

Siehe auch
array.new_float array.set array.push array.remove array.insert array.shift

array.shift

Die Funktion entfernt das erste Element des Arrays und gibt dessen Wert zurück.

array.shift(id)

Beispiel

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

Rückgabewert
Werte der entfernten Elemente.

Parameter

  • id(any array type) Array-Objekte

Siehe auch
array.unshift array.set array.push array.remove array.includes

array.unshift

Diese Funktion fügt die Werte in die ursprüngliche Position des Arrays ein.

array.unshift(id, value)

Beispiel

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

Parameter

  • id(any array type) Array-Objekte
  • value (series <type of the array's elements>) Der Wert, der der ursprünglichen Position des Arrays hinzugefügt werden soll.

Siehe auch
array.shift array.set array.insert array.remove array.indexof

array.size

Die Funktion gibt die Anzahl der Elemente in der Matrix zurück.

array.size(id)

Beispiel

pine
// 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ückgabewert
Anzahl der Elemente in der Array.

Parameter

  • id(any array type) Array-Objekte

Siehe auch
array.new_float array.sum array.slice array.sort

array.slice

Diese Funktion erzeugt eine Aufspaltung aus einer vorhandenen Array. Wenn ein Objekt in der Aufspaltung geändert wird, werden die Änderungen sowohl auf die neue Array als auch auf die ursprüngliche Array angewendet.

array.slice(id, index_from, index_to)

Beispiel

pine
// 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ückgabewert
Das ist eine schwache Kopie der zerrissenen Array.

Parameter

  • id(any array type) Array-Objekte
  • index_from(series int) Der Index beginnt mit Null, um zu extrahieren.
  • index_to(series int) Der Index beginnt mit Null, bevor die Extraktion abgeschlossen ist. Die Funktion extrahiert die Elemente vor diesem Index.

Siehe auch
array.new_float array.get array.sort

array.abs

Gibt einen Array zurück, der die absoluten Werte für jedes Element des ursprünglichen Arrays enthält.

array.abs(id)

Parameter

  • id (int[]/float[Die Array-Objekte

Siehe auch
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search

Die Funktion gibt einen Index für den Wert zurück, und wenn dieser nicht gefunden wird, wird -1 zurückgegeben. Die Arrays, die gesucht werden, müssen in der Reihenfolge der Erhöhung sortiert sein.

array.binary_search(id, val)

Beispiel

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

Parameter

  • id (int[]/float[Die Array-Objekte
  • val(series int/float) Die Werte, die in einer Reihe gesucht werden.

Anmerkung
Die binäre Suche wird für Arrays verwendet, die in einer steigenden Reihenfolge vorgeordnet sind. Sie vergleicht zuerst die Elemente in der Mitte der Array mit den Zielwerten. Wenn die Elemente mit den Zielwerten übereinstimmen, wird ihre Position in der Array zurückgegeben.

Siehe auch
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search_leftmost

Wenn der Wert gefunden wird, gibt die Funktion den Index für diesen Wert zurück. Wenn der Wert nicht gefunden wird, gibt die Funktion den Index für das nächste kleinste Element zurück, das sich auf der linken Seite des Wertstands befindet, wenn es in der Array ist. Die Arrays, die gesucht werden müssen, müssen in der Reihenfolge der Erhöhung sortiert sein.

array.binary_search_leftmost(id, val)

Beispiel

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

Parameter

  • id (int[]/float[Die Array-Objekte
  • val(series int/float) Die Werte, die in einer Reihe gesucht werden.

Anmerkung
Die binäre Suche wird für Arrays verwendet, die in einer steigenden Reihenfolge vorgeordnet sind. Sie vergleicht zuerst die Elemente in der Mitte der Array mit den Zielwerten. Wenn die Elemente mit den Zielwerten übereinstimmen, wird ihre Position in der Array zurückgegeben.

Siehe auch
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search_rightmost

Wenn der Wert gefunden wird, gibt die Funktion den Index für diesen Wert zurück. Wenn der Wert nicht gefunden wird, gibt die Funktion den Index für die Elemente zurück, auf denen der Wert rechts von seiner Position in der Array liegt. Die Arrays müssen in aufsteigender Reihenfolge sortiert sein.

array.binary_search_rightmost(id, val)

Beispiel

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

Parameter

  • id (int[]/float[Die Array-Objekte
  • val(series int/float) Die Werte, die in einer Reihe gesucht werden.

Anmerkung
Die binäre Suche arbeitet in der Erhöhungsfolge für die sortierten Arrays. Sie vergleicht zunächst die Elemente in der Mitte der Array mit den Zielwerten. Wenn die Elemente mit den Zielwerten übereinstimmen, wird ihre Position in der Array zurückgegeben. Wenn der Wert des Elements größer als der Zielwert ist, wird die Suche in der unteren Hälfte der Array fortgesetzt.

Siehe auch
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.sort

Diese Funktion ordnet die Elemente der Array.

array.sort(id, order)

Beispiel

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

Parameter

  • id (int[]/float[]/string[Die Array-Objekte
  • order(sort_order) Ordnungsfolge: order.ascending (default) oder order.descending.

Siehe auch
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.sort_indices

Gibt eine Index-Array zurück, die ihre Elemente in der Reihenfolge, in der sie verwendet werden, um die ursprüngliche Array zu indexieren. Es wird die ursprüngliche Array nicht geändert.

array.sort_indices(id, order)

Beispiel

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

Parameter

  • id (int[]/float[]/string[Die Array-Objekte
  • order(sort_order) Ordnungsfolge: order.ascending oder order.descending.

Siehe auch
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.clear

Diese Funktion löscht alle Elemente aus dem Array.

array.clear(id)

Beispiel

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

Parameter

  • id(any array type) Array-Objekte

Siehe auch
array.new_float array.insert array.push array.remove array.pop

array.concat

Diese Funktion wird verwendet, um zwei Arrays zu kombinieren. Sie schiebt alle Elemente aus der zweiten Array in die erste Array und gibt sie dann zurück.

array.concat(id1, id2)

Beispiel

pine
// 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ückgabewert
Das erste Array enthält die kombinierten Elemente aus dem zweiten Array.

Parameter

  • id1(any array type) Das erste Array-Objekt.
  • id2(any array type) Das zweite Array-Objekt.

Siehe auch
array.new_float array.insert array.slice

array.copy

Diese Funktion erstellt eine Kopie eines vorhandenen Arrays.

array.copy(id)

Beispiel

pine
// 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ückgabewert
Kopien der Arrays.

Parameter

  • id(any array type) Array-Objekte

Siehe auch
array.new_float array.get array.slice array.sort

array.stdev

Die Funktion gibt die Standarddifferenz der Array-Elemente zurück.

array.stdev(id, biased)

Beispiel

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

Rückgabewert
Die Array-Elemente sind nicht standardmäßig.

Parameter

  • id (int[]/float[Die Array-Objekte
  • biased(series bool) Bestimmt, welche Schätzung verwendet werden soll. Optional. Der Standardwert ist true.

Anmerkung
WennbiasedWenn true, berechnet die Funktion mit einer partiellen Schätzung für die Gesamtheit, und wenn false, mit einer unparteiischen Schätzung für die Probe.

Siehe auch
array.new_float array.max array.min array.avg

array.standardize

Die Funktion gibt ein Array mit standardisierten Elementen zurück.

array.standardize(id)

Beispiel

pine
// 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ückgabewert
Arrays mit standardisierten Elementen.

Parameter

  • id (int[]/float[Die Array-Objekte

Siehe auch
array.max array.min array.mode array.avg array.variance array.stdev

array.variance

Die Funktion gibt die Differenz der Array-Elemente zurück.

array.variance(id, biased)

Beispiel

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

Rückgabewert
Quadrat der Elemente der Array.

Parameter

  • id (int[]/float[Die Array-Objekte
  • biased(series bool) Bestimmt, welche Schätzung verwendet werden soll. Optional. Der Standardwert ist true.

Anmerkung
WennbiasedWenn true, berechnet die Funktion mit einer partiellen Schätzung für die Gesamtheit, und wenn false, mit einer unparteiischen Schätzung für die Probe.

Siehe auch
array.new_float array.stdev array.min array.avg array.covariance

array.covariance

Die Funktion gibt die Kohärenz der beiden Arrays zurück.

array.covariance(id1, id2, biased)

Beispiel

pine
// 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ückgabewert
Die Kohärenz der beiden Arrays.

Parameter

  • id1 (int[]/float[Die Array-Objekte
  • id2 (int[]/float[Die Array-Objekte
  • biased(series bool) Bestimmt, welche Schätzung verwendet werden soll. Optional. Der Standardwert ist true.

Anmerkung
WennbiasedWenn true, berechnet die Funktion mit einer partiellen Schätzung für die Gesamtheit, und wenn false, mit einer unparteiischen Schätzung für die Probe.

Siehe auch
array.new_float array.max array.stdev array.avg array.variance

array.fill

Die Funktion setzt die Elemente der Array auf einzelne Werte. Wenn kein Index angegeben ist, setzen Sie alle Elemente ein. Wenn nur der Anfangsindex angegeben ist (default 0), setzen Sie die Elemente ein, die mit diesem Index beginnen.

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

Beispiel

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

Parameter

  • id(any array type) Array-Objekte
  • value (series <type of the array's elements>) Die Werte, die verwendet werden, um die Array zu füllen.
  • index_from(series int) Anfangsindex, Standard ist 0。
  • index_to(series int) End-Index, wobei na ≠ größer sein muss als der Index des letzten Elements, das eingestellt werden soll.

Siehe auch
array.new_float array.set array.slice

array.includes

Wenn der Wert in der Array gefunden wird, gibt die Funktion true zurück, andernfalls false.

array.includes(id, value)

Beispiel

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

Rückgabewert
Wenn der Wert in der Array gefunden wird, ist er true, andernfalls false.

Parameter

  • id(any array type) Array-Objekte
  • value (series <type of the array's elements>) Die Werte, die in den Arrays gesucht werden.

Siehe auch
array.new_float array.indexof array.shift array.remove array.insert

array.insert

Die Funktion ändert den Inhalt des Arrays, indem sie neue Elemente in der richtigen Position hinzufügt.

array.insert(id, index, value)

Beispiel

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

Parameter

  • id(any array type) Array-Objekte
  • index(series int) Index für die Eingabewerte.
  • value (series <type of the array's elements>) Werden in die Array aufgenommen.

Siehe auch
array.new_float array.set array.push array.remove array.pop array.unshift

array.join

Die Funktion erstellt und gibt neue Strings zurück, die durch die Verbindung aller Elemente des Arrays, getrennt durch die angegebenen Trennzeichenstrings, getrennt werden.

array.join(id, separator)

Beispiel

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

Parameter

  • id (int[]/float[]/string[Die Array-Objekte
  • separator(series string) Die Zeichenfolge, die die Elemente einer Reihe voneinander trennt.

Siehe auch
array.new_float array.set array.insert array.remove array.pop array.unshift

array.lastindexof

Diese Funktion gibt den Index zurück, in dem der Wert zuletzt aufgetreten ist. Wenn dieser Wert nicht gefunden wird, wird -1 zurückgegeben.

array.lastindexof(id, value)

Beispiel

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

Rückgabewert
Index der Elemente

Parameter

  • id(any array type) Array-Objekte
  • value (series <type of the array's elements>) Die Werte, die in den Arrays gesucht werden.

Siehe auch
array.new_float array.set array.push array.remove array.insert

array.max

Die Funktion gibt den Maximalwert oder den n-ten Maximalwert in der angegebenen Array zurück.

array.max(id, nth)

Beispiel

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

Rückgabewert
Die größte oder die n-größte Zahl in der Reihe.

Parameter

  • id (int[]/float[Die Array-Objekte
  • nth(series int) gibt den n-ten größten Wert zurück, wobei 0 der größte Wert ist. Optional. Null ist der Standardwert.

Siehe auch
array.new_float array.min array.sum

array.min

Die Funktion gibt den Minimalwert, oder den n-ten Minimalwert in der gegebenen Reihenfolge, zurück.

array.min(id, nth)

Beispiel

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

Rückgabewert
Die kleinste oder die n-kleinste Wert in der Reihe.

Parameter

  • id (int[]/float[Die Array-Objekte
  • nth(series int) Die n-te Mindestwerte, die zurückgegeben werden sollen, wobei 0 die Mindestwerte ist. Optional. Default ist Null.

Siehe auch
array.new_float array.max array.sum

array.median

Die Funktion gibt die mittlere Zahl der Array-Elemente zurück.

array.median(id)

Beispiel

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

Rückgabewert
Mediane der Elemente der Array.

Parameter

  • id (int[]/float[Die Array-Objekte

Siehe auch
array.avg array.variance array.min

array.mode

Die Funktion gibt das Modell der Array-Elemente zurück. Wenn mehrere Werte mit der gleichen Frequenz vorhanden sind, wird der Minimalwert zurückgegeben.

array.mode(id)

Beispiel

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

Rückgabewert
Modell der Array-Elemente

Parameter

  • id (int[]/float[Die Array-Objekte

Siehe auch
array.new_float array.avg array.variance array.min

array.percentile_linear_interpolation

Gibt den angegebenen Prozentsatz des Array-Wertes zurück, der kleiner oder gleich ist als der Wert, der mit einem linearen Intervall angegeben wurde.

array.percentile_linear_interpolation(id, percentage)

Parameter

  • id (int[]/float[Die Array-Objekte
  • percentage(series int/float) muss der Prozentsatz der Werte sein, der gleich oder kleiner als der zurückgegebene Wert ist.

Anmerkung
In der Statistik ist ein Prozentsatz der Anzahl von Ranking-Einheiten, die in einem bestimmten Punkt oder unter einem bestimmten Punkt erscheinen. Diese Messung zeigt die Prozentanteile der Standardfrequenzverteilung an, die unterhalb der von Ihnen gemessenen Prozentsätze liegen. Ein linearer Intervall schätzt den Wert zwischen zwei Rankings.

Siehe auch
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.percentile_nearest_rank

Gibt mit der Methode der jüngsten Reihenfolge einen Array-Wert zurück, der kleiner oder gleich ist als der Wert des angegebenen Prozentsatzes (in Prozent).

array.percentile_nearest_rank(id, percentage)

Parameter

  • id (int[]/float[Die Array-Objekte
  • percentage(series int/float) muss der Prozentsatz der Werte sein, der gleich oder kleiner als der zurückgegebene Wert ist.

Anmerkung
In der Statistik ist ein Prozentsatz der Anzahl von Ranking-Einheiten, die in einem bestimmten Punkt oder unter einem bestimmten Punkt erscheinen. Diese Messung zeigt die Anzahl von Prozentpunkten in der Standardfrequenzverteilung, die unter dem Prozentpunkt liegt, den Sie messen.

Siehe auch
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.percentrank

Gibt die Prozentsatzreihenfolge der mittleren Werte zurück.

array.percentrank(id, index)

Parameter

  • id (int[]/float[Die Array-Objekte
  • index(series int) berechnet die Werte in ihrer Prozentordnung.

Anmerkung
Der Prozentsatz ist der Prozentsatz, wie viele Elemente im Array kleiner als oder gleich dem Referenzwert sind.

Siehe auch
array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.range

Die Funktion gibt die Differenz zwischen den Minimal- und Maximalwerten eines Arrays zurück.

array.range(id)

Beispiel

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

Rückgabewert
Die Differenz zwischen dem kleinsten und dem größten Wert in der Reihe.

Parameter

  • id (int[]/float[Die Array-Objekte

Siehe auch
array.new_float array.min array.max array.sum

array.remove

Die Funktion ändert den Inhalt des Arrays, indem sie die Elemente mit dem angegebenen Index entfernt.

array.remove(id, index)

Beispiel

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

Rückgabewert
Werte der entfernten Elemente.

Parameter

  • id(any array type) Array-Objekte
  • index(series int) Der Index des zu löschenden Elements.

Siehe auch
array.new_float array.set array.push array.insert array.pop array.shift

array.reverse

Diese Funktion kehrt die Arrays um. Das erste Array-Element wird zum letzten, und das letzte Array-Element wird zum ersten.

array.reverse(id)

Beispiel

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

Siehe auch
array.new_float array.sort array.push array.set array.avg

array.from

Die Funktion verwendet eine variable Anzahl von Parametern eines der folgenden Typen: int, float, bool, string, line, color, linefill und gibt ein Array des entsprechenden Typs zurück.

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

Beispiel

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

Rückgabewert
Werte der Array-Elemente

Parameter

  • arg0, arg1, ...(series int/float/bool/color/string/line/linefill) Array-Parameter für eine Reihe von Elementen.

array.new

Die Funktion erstellt eine neue<type>Objekt der Elementar-Array

array.new(size, initial_value)

Beispiel

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

Beispiel

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

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

pine
// 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ückgabewert
ID eines Array-Objekts, das zusammen mit anderen Arrays verwendet werden kann.*Funktion ()

Parameter

  • sizeDie Anfangsgröße der Serie (series int) ist frei. Die Standardgröße ist 0
  • initial_value(series <type>) Der Anfangswert aller Serienelemente. Optional. Die Standardwahrung ist <unk>na<unk><unk>.

Anmerkung
Die Array-Index beginnt mit null.
Wenn Sie ein Array initialisieren und gleichzeitig alle seine Elemente 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

array.new_bool

Diese Funktion erzeugt ein neues Array-Objekt, das aus Elementen des Typs bool besteht.

array.new_bool(size, initial_value)

Beispiel

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

Rückgabewert
ID eines Array-Objekts, das zusammen mit anderen Arrays verwendet werden kann.*Funktion ()

Parameter

  • sizeDie Anfangsgröße der Serie (series int) ist frei. Die Standardgröße ist 0
  • initial_value(series bool) Die Anfangswerte aller Elemente der Serie. Optional. Der Standardwert ist <unk>na<unk>.

Anmerkung
Die Array-Index beginnt mit null.

Siehe auch
array.new_float array.get array.slice array.sort

array.new_float

Diese Funktion erzeugt ein neues Elementar-Array-Objekt des Floating-Point-Forms.

array.new_float(size, initial_value)

Beispiel

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

Rückgabewert
ID eines Array-Objekts, das zusammen mit anderen Arrays verwendet werden kann.*Funktion ()

Parameter

  • sizeDie Anfangsgröße der Serie (series int) ist frei. Die Standardgröße ist 0
  • initial_value(series int/float) Die Anfangswerte aller Elemente der Serie。 sind optional。 der Standardwert ist <unk>na<unk>。

Anmerkung
Die Array-Index beginnt mit null.

Siehe auch
array.new_bool array.get array.slice array.sort

array.new_int

Die Funktion erstellt ein neues Array-Objekt, das aus Elementen des Typs int besteht.

array.new_int(size, initial_value)

Beispiel

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

Rückgabewert
ID eines Array-Objekts, das zusammen mit anderen Arrays verwendet werden kann.*Funktion ()

Parameter

  • sizeDie Anfangsgröße der Serie (series int) ist frei. Die Standardgröße ist 0
  • initial_value(series int) Die Anfangswerte aller Elemente der Serie. Optional. Die Standardeinstellung ist <unk>na<unk>.

Anmerkung
Die Array-Index beginnt mit null.

Siehe auch
array.new_float array.get array.slice array.sort

array.new_string

Die Funktion erstellt ein neues Array Objekt für ein Element des String-Types ≠

array.new_string(size, initial_value)

Beispiel

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

Rückgabewert
ID eines Array-Objekts, das zusammen mit anderen Arrays verwendet werden kann.*Funktion ()

Parameter

  • sizeDie Anfangsgröße der Serie (series int) ist frei. Die Standardgröße ist 0
  • initial_value(series string) Der Anfangswert aller Elemente der Serie. Optional. Der Standardwert ist <unk>na<unk>.

Anmerkung
Die Array-Index beginnt mit null.

Siehe auch
array.new_float array.get array.slice

array.get

Die Funktion gibt den Wert des Elements an der angegebenen Indexierung zurück.

array.get(id, index)

Beispiel

pine
// 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ückgabewert
Werte der Array-Elemente

Parameter

  • id(any array type) Array-Objekte
  • index(series int) Der Index des Elements, dessen Wert zurückgegeben werden soll.

Siehe auch
array.new_float array.set array.slice array.sort

array.push

Die Funktion fügt dem Array einen Wert hinzu.

array.push(id, value)

Beispiel

pine
// 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 der Array beigegeben.

Siehe auch
array.new_float array.set array.insert array.remove array.pop array.unshift

array.set

Die Funktion setzt die Werte des Elements auf den angegebenen Index.

array.set(id, index, value)

Beispiel

pine
// 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) Der Index des Elements soll geändert werden.
  • value (series <type of the array's elements>) Der neue Wert, der gesetzt werden soll.

Siehe auch
array.new_float array.get array.slice

array.sum

Die Funktion gibt die Summe der Array-Elemente zurück.

array.sum(id)

Beispiel

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

Rückgabewert
Die Summe der Elemente der Array.

Parameter

  • id (int[]/float[Die Array-Objekte

Siehe auch
array.new_float array.max array.min

array.avg

Die Funktion gibt den Mittelwert der Array-Elemente zurück.

array.avg(id)

Beispiel

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

Rückgabewert
Mittelwert der Array-Elemente.

Parameter

  • id (int[]/float[Die Array-Objekte

Siehe auch
array.new_float array.max array.min array.stdev

array.indexof

Diese Funktion gibt den Index zurück, in dem der Wert zum ersten Mal erscheint. Wenn dieser Wert nicht gefunden wird, wird -1 zurückgegeben.

array.indexof(id, value)

Beispiel

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

Rückgabewert
Index der Elemente

Parameter

  • id(any array type) Array-Objekte
  • value (series <type of the array's elements>) Die Werte, die in den Arrays gesucht werden.

Siehe auch
array.lastindexof array.get array.lastindexof array.remove array.insert

strategy

existierenstrategyIn der entsprechenden eingebauten Funktion werden die Stop-Loss- und Stop-Stop-Punkte als Multiplikatoren des Preis-Sprungs definiert.strategy.exitFunktionprofitlossDie Parameter sind in Punkten angegeben: Stop, Stop, Parameter.profitSetzt man auf 10, multipliziert man mit 10 als Stop-Loss-Differenz, ist das eine eingebaute Variable.syminfo.mintick

strategy

Die Funktion setzt mehrere Strategie-Eigenschaften ein:
Bitte beachten Sie, dass die Quellen nur unterstützentitleshorttitleoverlaypyramidingdefault_qty_typedefault_qty_valueParameter, die durch die Interface-Parameter der PINE-Sprachstrategie eingestellt werden können.

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

pine
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 in der Kennziffer/Strategie-Einlage als Kennziffertitel angezeigt. Das Parameter ist erforderlich.
  • shorttitle(const string) Kurzüberschrift für den Indikator, der in der Diagramm-Beispiel angezeigt wird. Die Parameter sind optional.
  • overlay(const bool) Wenn true, wird der Indikator als Überlagerung der Hauptreihe hinzugefügt. Wenn false - wird er in einem separaten Diagrammfenster hinzugefügt. False als Default.
  • format(const string) Der mögliche Typ der Formatierung des Indikatorwerts auf der Preis-Achse ist: format.inherit, format.price, format.volume。 default format.inherit。
  • precision(const int) Die Zahl nach der Anzahl der Floatpunkte des Indexwertes auf der Preis-Achse. Es muss eine nicht-negative ganze Zahl sein und nicht größer als 16 sein. Wenn es weggelassen wird, wird das Format der Vaterreihe verwendet. Wenn format format.inherit ist und dieses Parameter gesetzt wird, wird format zu format.price.
  • scale(scale_type) Der Indikator sollte den Preiskoordinaten folgen. Die möglichen Werte sind: scale.right, scale.left, scale.none. Der Wert scale.none kann nur in Verbindung mit der Einstellung 'overlay=true' verwendet werden.
  • pyramiding(const int) Die maximale Anzahl von Eintrittsordern, die in derselben Richtung erlaubt sind. Wenn der Wert 0 ist, kann nur ein Eintritts-Auftrag in derselben Richtung eröffnet werden, und alle anderen Eintritts-Auftrage werden abgelehnt.
  • calc_on_order_fills(const bool) Berechnung der zusätzlichen Intrabar-Order. Wenn die Parameter auf <unk>true<unk> gesetzt sind, wird die Strategie neu berechnet, sobald die K-Zeile nach der Bestellung gefüllt ist (und nicht nur beim Schließen der K-Zeile). Der Standardwert ist <unk>false<unk>.
  • calc_on_every_tick(const bool) zusätzliche Intrabar-Strategie berechnet. Wenn das Parameter <unk>true<unk> ist, berechnet die Strategie jede Minute in Echtzeit, ohne die K-Linien zu schließen. Das Parameter beeinflusst nicht die Berechnung der Strategie mit den historischen Daten.
  • max_bars_back(const int) Die maximale Anzahl von Arrays, die für die Historik-Referenz-Strategie verwendet werden können.[]' Operator), wird diese Parameter auf jede eingebaute Variable oder Benutzervariable in einem Skript angewendet. Die Größe eines variablen Bufferbereichs in einem Pine-Skript wird normalerweise automatisch erkannt. In einigen Fällen ist dies jedoch nicht möglich, was der Grund dafür ist, dass die Parameter den Benutzern erlauben, die unterste Grenze für diesen Wert manuell zu setzen.
  • backtest_fill_limits_assumption(const int) Limit-Bill-Ausführung Hypothese. Der Limit-Bill wird nur dann in der Intrabar gehandelt, wenn der Marktpreis die angegebene Anzahl von Tick-Levels überschreitet.
  • default_qty_type(const string) bestimmt fürqtyDie Werte der Parameter werden in den Funktionen strategy.entry oder strategy.order angegeben. Mögliche Werte sind: strategy.fixed für Kontrakt/Aktie/Uhrzahl, strategy.cash für Geldbetrag oder strategy.percent_of_equity für den Prozentsatz der verfügbaren Ansprüche.
  • default_qty_value(const int/float) Default Anzahl der Transaktionen der Funktion strategy.entry oder strategy.order, deren Einheiten durch die Parameter definiert werden, die zusammen mit dem Parameter 'default_qty_type' verwendet werden, wenn ihr Parameter 'qty' nicht definiert ist.
  • currency(const string) Konto-Währung dieser Strategie。 wählbar。 Der Standardwert ist die Währung der Waren in der Tabelle。 Mögliche Werte: 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) Die Gleitpunkte, die mit tick als Angebots-Einheit verwendet werden, werden von dem Transaktionspreis der Kauf-/Verkaufspreis- oder Stop-Loss-Bill hinzugefügt/abgezogen. Wenn mintick = 0.01 und der Gleitpunkt = 5, dann wird der Gesamtgleitpunkt 5 * 0.01 = 0.05 sein.
  • commission_type(const string) Art der Provision für jeden Auftrag. Die erlaubten Werte sind: strategy.commission.percent, strategy.commission.cash_per_contract, strategy.commission.cash_per_order.
  • commission_value(const int/float) Kommissionswert der Bestellung. Abhängig von der gewählten Art (Kommissionsart) sind Prozentsätze oder Beträge enthalten.
  • ~~process_orders_on_close~~Wenn (const bool) auf den Wert true gesetzt ist, werden weitere Versuche der Ausführung von Aufträgen generiert, nachdem der Grafikschluss ausgewählt und die Strategie berechnet wurde. Wenn es sich um Marktpreise handelt, wird der Broker-Simulator diese vor der Eröffnung des nächsten Grafiks ausführen. Wenn es sich um Limitpreise handelt, werden die Aufträge nur ausgeführt, wenn die Preisbedingungen erfüllt sind.
  • close_entries_rule(const string) Bestimmt die Reihenfolge, in der die Aufträge geschlossen werden. Die zulässigen Werte sind: 'FIFO' oder 'ANY'. FIFO (First-In, First-Out) bedeutet, dass der erste Handel geschlossen werden muss, wenn mehrere Geschäfte eröffnet werden. Diese Regel gilt für Aktien, Futures und US-Forex (NFA-Regel 2-43b). 'ANY' bedeutet, dass der Handel in jeder Reihenfolge geschlossen werden kann; dies ist in nicht-US-amerikanischen Devisenhandel erlaubt.
  • max_lines_count(const int) Zeigt die Anzahl der neuesten Linienpläne. Der Standardwert ist 50, der maximal zulässige Wert ist 500.
  • max_labels_count(const int) Zeigt die Anzahl der jüngsten Taggraphiken. Der Standardwert ist 50, der maximal erlaubte Wert ist 500.
  • max_boxes_count(const int) Die Anzahl der letzten Box-Ziegel, die angezeigt werden. Der Standardwert ist 50, der maximal erlaubte Wert ist 500.
  • margin_long(const int/float) Mehrfachbürgschaft ist der Prozentsatz des Kaufpreises eines Wertpapiers, dessen Mehrfachposition in bar oder mit einer Pfand gedeckt werden muss. Muss nicht-negativ sein. Optional.
  • margin_short(const int/float) Leerlaufbürgschaft ist der Prozentsatz des Kaufpreises eines Wertpapiers, dessen Leerlaufposition in bar oder mit einer Pfand abgedeckt werden muss. Muss nicht negativ sein. Optional. Die Standardeinstellung ist 100
  • explicit_plot_zorder(const bool) Gibt die Reihenfolge an, in der die Indikatoren gezeichnet, gefüllt und horizontal dargestellt werden. Wenn true, wird die Grafik in der Reihenfolge gezeichnet, in der sie im Indikatorcode erscheinen, wobei jede neuere Grafik auf der vorherigen Grafik gezeichnet wird. Dies gilt nur für Plot*() Funktion, Fill und Hline. Optional. Die Standardwahrung ist false.
  • initial_capital(const int/float) Die ursprünglich verfügbare Geldmenge für Strategiegeschäfte in der Währung, die in der Währungsstange definiert ist. Optional. Die Standardeinstellung ist 1000000
  • risk_free_rate(const int/float) Die risikofreie Rendite ist die jährliche prozentuale Veränderung des Anlagewerts mit dem geringsten Risiko oder mit Null, die zur Berechnung des Sharpe- und Sortino-Verhältnisses verwendet wird. Der Standardwert ist 2.

Anmerkung
Jedes Strategie-Skript muss eine Strategie-Aufruf haben.
PineScript-Code mit dem Parameter calc_on_every_tick = true kann unterschiedliche Berechnungen für historische und Echtzeitdaten vornehmen.
Sie müssen wissen, dass die Ergebnisse unterschiedlich sind, wenn Sie einen nicht-standardisierten Chart als Grundlage für Ihre Strategie verwenden. Die Order wird zum Preis der Tabelle ausgeführt (z. B. für Heikin Ashi wird der Preis von Heikin Ashi verwendet (durchschnittlich) und nicht der tatsächliche Marktpreis). Daher empfehlen wir Ihnen dringend, den Standard-Chart-Typ in Ihrer Strategie zu verwenden.

Siehe auch
indicator

strategy.entry

Es handelt sich um einen Befehl zum Eintritt in einen Markt. Wenn ein Auftrag mit der gleichen ID bereits aufgehängt ist, kann der Auftrag geändert werden. Wenn kein Auftrag mit der angegebenen ID ausgegeben wird, wird ein neuer Auftrag ausgegeben. Um den Eintritt zu deaktivieren, sollte der Befehl strategy.cancel oder strategy.cancel_all verwendet werden.

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

Beispiel

pine
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。 Auftragsbezeichner。 Der Auftrag kann durch Verweis auf seine Bezeichnungen storniert oder geändert werden。
  • direction(strategy_direction) Ein notwendiger Parameter. Die Richtung der Marktpositionen: "strategy.long" ist die langfristige Richtung, "strategy.short" die unbestimmte Richtung.
  • qty(series int/float) Optionale Parameter. Anzahl der getätigten Verträge/Aktien/Stunden/Einheiten. Die Voreinstellung lautet 'NaN'.
  • limit(series int/float) Optionale Parameter ◦ Auftragsbegrenzung ◦ Auftragsart "limit" oder "stop-limit" ◦ Auftragsart "NaN" ◦
  • stop(series int/float) Optionale Parameter. Der Stop-Loss-Preis des Auftrages. Wenn angegeben, ist der Auftragstyp "stop" oder "stop-limit". Andere Auftragstypen sind "NaN".
  • oca_name(series string) Optionale Parameter. Der Auftrag gehört zu einer OCA-Gruppenbezeichnung. Wenn der Auftrag nicht zu einer OCA-Gruppe gehört, sollte ein leeres Zeichen vorhanden sein.Hinweis: FMZ unterstützt dieses Parameter nicht.
  • oca_type(input string) Optionale Parameter。 OCA-Bestellgruppen-Typ。 Die erlaubten Werte sind: strategy.oca.none - Der Auftrag sollte nicht zu einer bestimmten OCA-Gruppe gehören; strategy.oca.cancel - Der Auftrag sollte zu einer OCA-Gruppe gehören, sobald der Auftrag abgeschlossen ist, werden alle anderen Aufträge in derselben Gruppe storniert; strategy.oca.reduce - Der Auftrag sollte zu einer OCA-Gruppe gehören, wenn X Anzahl von Auftragsverträgen platziert wurde, reduziert sich die Anzahl der anderen Auftragsverträge in derselben OCA-Gruppe um X。Hinweis: FMZ unterstützt dieses Parameter nicht.
  • comment(series string) Optionale Parameter。 weitere Hinweise auf Bestellungen。
  • when(series bool) Optionale Parameter  Status der Bestellung  Wenn "true" ist, wird die Bestellung platziert  Wenn "false" ist, passiert nichts  keine Bestellung mit derselben ID, die zuvor platziert wurde, wurde widerrufen  Der Standardwert ist "true" 
  • alert_message(series string) Eine Option, wenn Sie das Positionszeichen {{strategy.order.alert_message}} in der Eingabe-Nachricht-Eingabe-Feld des Dialogfelds "Erstellen Sie eine Eingabe-Nachricht" verwenden.

strategy.close

Es handelt sich um einen Ausstiegs-Order mit einer bestimmten ID. Wenn mehrere Eintritts-Order mit derselben ID vorliegen, werden sie alle gleichzeitig ausgeführt. Wenn beim Auslösen des Befehls kein offener Auftrag mit einer bestimmten ID vorhanden ist, wird der Befehl nicht ausgeführt.

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

Beispiel

pine
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。 Auftrags-ID。 Der Auftrag kann durch Verweis auf seine ID geschlossen werden。
  • when(series bool) Auswählbare Parameter ◦ Bedingung des Befehls ◦
  • qty(series int/float) Optionale Parameter. Anzahl der ausgehenden Verträge/Aktien/Uhrzahlen/Einheiten. Standardwert ist 'NaN'.
  • qty_percent(series int/float) definiert den Prozentsatz der Flachposition als ((0-100) ◦, dessen Priorität unter der Priorität des 'qty'-Parameters liegt. Optional. Der Standardwert ist 100 ◦
  • comment(series string) Optionale Parameter。 weitere Hinweise auf Bestellungen。
  • alert_message(series string) Eine Option, wenn Sie das Positionszeichen {{strategy.order.alert_message}} in der Eingabe-Nachricht-Eingabe-Feld des Dialogfelds "Erstellen Sie eine Eingabe-Nachricht" verwenden.

strategy.close_all

Der Markt wird von einem Marktteilnehmer, der die Position auf dem Markt beherrscht, abgeschafft.

strategy.close_all(when, comment, alert_message)

Beispiel

pine
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) Auswählbare Parameter ◦ Bedingung des Befehls ◦
  • comment(series string) Optionale Parameter。 weitere Hinweise auf Bestellungen。
  • alert_message(series string) Eine Option, wenn Sie das Positionszeichen {{strategy.order.alert_message}} in der Eingabe-Nachricht-Eingabe-Feld des Dialogfelds "Erstellen Sie eine Eingabe-Nachricht" verwenden.

strategy.exit

Es handelt sich um eine Ausgangsanweisung für einen bestimmten Eintritt oder die gesamte Marktposition. Wenn Orders mit derselben ID bereits gehängt sind, kann der Auftrag geändert werden. Wenn ein Eintritts-Auftrag nicht gehandelt wurde, aber ein Ausstiegs-Auftrag erschien, wird der Ausstiegs-Auftrag auf Eis gelegt, bis ein Ausstiegs-Auftrag nach der Eintritts-Auftrag platziert werden kann. Um einen Ausstiegs-Auftrag auszusetzen, sollte der Befehl strategy.cancel oder strategy.cancel_all verwendet werden.

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

pine
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。 Auftragsbezeichner。 Der Auftrag kann durch Verweis auf seine Bezeichnungen storniert oder geändert werden。
  • from_entry(series string) Optionale Parameter ≠ Exit mit dem angegebenen Eingangsbefehlsmarker ≠ Exit mit allen Positionen ≠ Leerzeichen ≠ Leerzeichen als Standard.
  • qty(series int/float) Optionale Parameter. Anzahl der ausgehenden Verträge/Aktien/Uhrzahlen/Einheiten. Standardwert ist 'NaN'.
  • qty_percent(series int/float) definiert den Prozentsatz der Flachposition als ((0-100) ◦, dessen Priorität unter der Priorität des 'qty'-Parameters liegt. Optional. Der Standardwert ist 100 ◦
  • profit(series int/float) Optionale Parameter. Gewinnziel (in Punkten angegeben). Wenn angegeben, wird die Position bei Erreichen der angegebenen Gewinnmenge (in Punkten) mit einem Limit-Order beendet.
  • limit(series int/float) Optionale Parameter. Gewinnziel ([Präsistenzpreis] angegeben werden muss). Wenn angegeben, dann zum angegebenen Preis ([Präsistenzpreis] oder besser). Ausstieg aus dem Markt. Das Parameter 'limit' hat eine höhere Priorität als das Parameter 'profit' (wenn der Wert nicht 'NaN' ist, ersetzt 'limit' 'profit').
  • loss(series int/float) Optionale Parameter. Stop loss (in Punkten angegeben). Wenn angegeben, wird die Position mit einem Stop Loss beendet, wenn der angegebene Verlust (in Punkten angegeben) erreicht wird.
  • stop(series int/float) Optionale Parameter  Stop loss ([Präis anzugeben ist erforderlich])  Wenn angegeben, wird der Marktausstieg mit dem angegebenen Preis ([Präis] oder schlechter) durchgeführt  Der Parameter Stop loss hat eine höhere Priorität als der Parameter Loss ([Präis] wenn der Wert nicht 'NaN' ist, wird 'Stop Loss' anstelle von 'Loss')  Der Standardwert ist <unk>NaN<unk>
  • trail_price(series int/float) Optionale Parameter: Tracking Stop Loss Activation Level (Preis muss angegeben werden). Wenn angegeben, wird ein Tracking Stop bei Erreichen des angegebenen Preisniveaus platziert. In der Tracking Trail_offset Parameter wird die Abweichung angegeben, um den anfänglichen Preis eines Tracking Stop Losses zu bestimmen (in Punkten): X-Punkte unterhalb des Aktivierungsniveaus, um aus der Mehrzahl auszusteigen; X-Punkte über dem Aktivierungsniveau, um aus der Leerheit auszusteigen.
  • trail_points(series int/float) Optionale Parameter: Tracking Stop-Loss-Aktivierungsniveau (siehe Gewinn in Punkten). Wenn angegeben, wird ein Tracking-Stop-Bill platziert, wenn der berechnete Preisniveau (siehe Gewinnbetrag in Punkten) erreicht wird. In der Trailing-Trail-Offset-Parameter wird die Verlagerung des Startpreises des Tracking-Stop-Bills (siehe Punkte) angegeben: X Punkte unter dem Aktivierungsniveau, um aus der Mehrzahl auszusteigen; X Punkte über dem Aktivierungsniveau, um aus dem Leerstand auszusteigen.
  • trail_offset(series int/float) Optionale Parameter. Tracking-Stop-Aktivierungsniveau (in Punkten angegeben). Die Abweichung in Punkten wird verwendet, um den Anfangspreis für Tracking-Stop-Billings zu bestimmen: X Punkte niedriger als 'trail_price' oder 'trail_points' für den Ausstieg aus dem Mehrwert; X Punkte höher als 'trail_price' oder 'trail_points' für den Ausstieg aus dem Leerwert.
  • oca_name(series string) Optionale Parameter. Name der OCA-Gruppe (oca_type = strategy.oca.reduce) Gewinnziel, Stop-Loss / Tracking-Stop-Loss. Wenn kein Name angegeben ist, wird dieser automatisch generiert.Hinweis: FMZ unterstützt dieses Parameter nicht.
  • comment(series string) Optionale Parameter。 weitere Hinweise auf Bestellungen。
  • when(series bool) Optionale Parameter  Status der Bestellung  Wenn "true" ist, wird die Bestellung platziert  Wenn "false" ist, passiert nichts  keine Bestellung mit derselben ID, die zuvor platziert wurde, wurde widerrufen  Der Standardwert ist "true" 
  • alert_message(series string) Eine Option, wenn Sie das Positionszeichen {{strategy.order.alert_message}} in der Eingabe-Nachricht-Eingabe-Feld des Dialogfelds "Erstellen Sie eine Eingabe-Nachricht" verwenden.

strategy.cancel

Das ist ein Befehl, der den Namen der Angabe anspricht, um alle vorgefertigten Listen abzubrechen/auszuschalten, erzeugt durch die folgenden Funktionen: strategy.order, strategy.entry und strategy.exit。

strategy.cancel(id, when)

Beispiel

pine
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) Pflichtparameter。 Auftragsmarke。 Position der Marke, um einen Auftrag zu widerrufen。
  • when(series bool) Optionale Parameter. Anhand der ID einen Auftrag stornieren. Wenn es "true" ist, wird der Auftrag storniert.

strategy.cancel_all

Dies ist die Annullierung/Deaktivierung aller Vorladen-Befehle, die durch die folgenden Funktionen erzeugt werden: strategy.order, strategy.entry und strategy.exit.

strategy.cancel_all(when)

Beispiel

pine
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 ◦ die Bedingungen für alle Bestellungen stornieren ◦ alle aktiven Bestellungen werden storniert, wenn die Bedingung wahr ist ◦ der Standardwert ist ◦ true ◦

strategy.order

Das ist der Befehl für die nächste Bestellung. Wenn ein Auftrag mit der gleichen ID bereits aufgehängt ist, kann der Auftrag geändert werden. Wenn kein Auftrag mit der angegebenen ID ausgeführt wird, wird ein neuer Auftrag ausgegeben. Um den Auftrag zu beenden, sollte der Befehl strategy.cancel oder strategy.cancel_all verwendet werden.

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

Beispiel

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。 Auftragsbezeichner。 Der Auftrag kann durch Verweis auf seine Bezeichnungen storniert oder geändert werden。
  • direction(strategy_direction) Ein notwendiger Parameter. Order-Richtung: "strategy.long" für Kauf und "strategy.short" für Verkauf.
  • qty(series int/float) Optionale Parameter. Anzahl der getätigten Verträge/Aktien/Stunden/Einheiten. Die Voreinstellung lautet 'NaN'.
  • limit(series int/float) Optionale Parameter ◦ Auftragsbegrenzung ◦ Auftragsart "limit" oder "stop-limit" ◦ Auftragsart "NaN" ◦
  • stop(series int/float) Optionale Parameter. Der Stop-Loss-Preis des Auftrages. Wenn angegeben, ist der Auftragstyp "stop" oder "stop-limit". Andere Auftragstypen sind "NaN".
  • oca_name(series string) Optionale Parameter. Der Auftrag gehört zu einer OCA-Gruppenbezeichnung. Wenn der Auftrag nicht zu einer OCA-Gruppe gehört, sollte ein leeres Zeichen vorhanden sein.Hinweis: FMZ unterstützt dieses Parameter nicht.
  • oca_type(input string) Optionale Parameter。 OCA-Bestellgruppen-Typ。 Die erlaubten Werte sind: strategy.oca.none - Der Auftrag sollte nicht zu einer bestimmten OCA-Gruppe gehören; strategy.oca.cancel - Der Auftrag sollte zu einer OCA-Gruppe gehören, sobald der Auftrag abgeschlossen ist, werden alle anderen Aufträge in derselben Gruppe storniert; strategy.oca.reduce - Der Auftrag sollte zu einer OCA-Gruppe gehören, wenn X Anzahl von Auftragsverträgen platziert wurde, reduziert sich die Anzahl der anderen Auftragsverträge in derselben OCA-Gruppe um X。Hinweis: FMZ unterstützt dieses Parameter nicht.
  • comment(series string) Optionale Parameter。 weitere Hinweise auf Bestellungen。
  • when(series bool) Optionale Parameter  Status der Bestellung  Wenn "true" ist, wird die Bestellung platziert  Wenn "false" ist, passiert nichts  keine Bestellung mit derselben ID, die zuvor platziert wurde, wurde widerrufen  Der Standardwert ist "true" 
  • alert_message(series string) Eine Option, wenn Sie das Positionszeichen {{strategy.order.alert_message}} in der Eingabe-Nachricht-Eingabe-Feld des Dialogfelds "Erstellen Sie eine Eingabe-Nachricht" verwenden.

strategy.opentrades.entry_bar_index

Bar_index, der einen noch nicht ausgeglichenen Börsengang zurückgibt.

strategy.opentrades.entry_bar_index(trade_num)

Warte auf 10 K-Linien und mach die Position klar.

Beispiel

pine
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) Die Transaktionsnummer für den nicht ausgeglichenen Handel. Die Nummer für den ersten Handel ist null.

Siehe auch
strategy.closedtrades.entry_bar_index strategy.closedtrades.exit_bar_index

strategy.opentrades.entry_id

ID für die Rückgabe eines Eingangs in einen ungeklärten Handel.

strategy.opentrades.entry_id(trade_num)

Beispiel

pine
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ückgabewert
ID für die Rückgabe eines Eingangs in einen ungeklärten Handel.

Parameter

  • trade_num(series int) Die Transaktionsnummer für den nicht ausgeglichenen Handel. Die Nummer für den ersten Handel ist null.

Anmerkung
Wenn trade_num nicht im Bereich ist, gibt die Funktion na:0 zurück zu strategy.opentrades-1。

Siehe auch
strategy.opentrades.entry_bar_index strategy.opentrades.entry_time

strategy.opentrades.entry_price

Eintrittspreise für die Rückgabe von ungeklärten Positionen.

strategy.opentrades.entry_price(trade_num)

Beispiel

pine
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 ungeklärten Kurses

Beispiel

pine
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) Die Transaktionsnummer für den nicht ausgeglichenen Handel. Die Nummer für den ersten Handel ist null.

Siehe auch
strategy.closedtrades.exit_price

strategy.opentrades.entry_time

Zurück zu UNIX-Zeit für den Eintritt in eine noch nicht ausgeglichene Position.

strategy.opentrades.entry_time(trade_num)

Beispiel

pine
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) Die Transaktionsnummer für den nicht ausgeglichenen Handel. Die Nummer für den ersten Handel ist null.

Siehe auch
strategy.closedtrades.entry_time strategy.closedtrades.exit_time

strategy.opentrades.profit

Verluste, die auf ungeklärte Geschäfte zurückgehen. Verluste werden als negative Werte dargestellt.

strategy.opentrades.profit(trade_num)

Rückkehr zu den Gewinnen aus dem letzten Börsengang

Beispiel

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

Berechnung des Gewinns aus allen ungeklärten Positionen

Beispiel

pine
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) Die Transaktionsnummer für den nicht ausgeglichenen Handel. Die Nummer für den ersten Handel ist null.

Siehe auch
strategy.closedtrades.profit strategy.openprofit strategy.netprofit strategy.grossprofit

strategy.opentrades.size

Gibt die Richtung und die Anzahl der Geschäfte in einem ungeklärten Handel zurück. Wenn dieser Wert > 0 ist, ist die Marktposition mehrköpfig. Wenn dieser Wert < 0 ist, ist die Marktposition leer.

strategy.opentrades.size(trade_num)

Beispiel

pine
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 der durchschnittlichen Gewinne aus ungeklärten Positionen

Beispiel

pine
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) Die Transaktionsnummer für den nicht ausgeglichenen Handel. Die Nummer für den ersten Handel ist null.

Siehe auch
strategy.closedtrades.size strategy.position_size strategy.opentrades strategy.closedtrades

strategy.closedtrades.entry_bar_index

Bar_index, der einen ausgeglichenen Eintrag zurückgibt.

strategy.closedtrades.entry_bar_index(trade_num)

Beispiel

pine
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 Nummer des Transaktions, der mit der Auszahlung begann. Die Nummer des ersten Transaktions ist null.

Siehe auch
strategy.closedtrades.exit_bar_index strategy.opentrades.entry_bar_index

strategy.closedtrades.exit_price

Rückkehr zum Ausgangspreis für einen ausgeglichenen Handel.

strategy.closedtrades.exit_price(trade_num)

Beispiel

pine
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 den Prozentsatz der durchschnittlichen Gewinne für alle ausgeglichenen Geschäfte

Beispiel

pine
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 Nummer des Transaktions, der mit der Auszahlung begann. Die Nummer des ersten Transaktions ist null.

Siehe auch
strategy.closedtrades.entry_price

strategy.closedtrades.exit_bar_index

Bar_index, der den ausgeglichenen Handel zurückgibt.

strategy.closedtrades.exit_bar_index(trade_num)

Beispiel

pine
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 K-Linie pro Transaktion.

Beispiel

pine
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 Nummer des Transaktions, der mit der Auszahlung begann. Die Nummer des ersten Transaktions ist null.

Siehe auch
bar_index

strategy.closedtrades.entry_id

Die Eintritts-ID für einen ausgeglichenen Handel wird zurückgegeben.

strategy.closedtrades.entry_id(trade_num)

Beispiel

pine
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ückgabewert
Die Eintritts-ID für einen ausgeglichenen Handel wird zurückgegeben.

Parameter

  • trade_num(series int) Die Nummer des Transaktions, der mit der Auszahlung begann. Die Nummer des ersten Transaktions ist null.

Anmerkung
Wenn trade_num nicht im Bereich ist, gibt die Funktion na:0 zurück zu strategy.closedtrades-1。

Siehe auch
strategy.closedtrades.entry_bar_index strategy.closedtrades.entry_time

strategy.closedtrades.entry_price

Eintrittspreise für die Rückgabe eines ausgeglichenen Deals.

strategy.closedtrades.entry_price(trade_num)

Beispiel

pine
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 den Prozentsatz der durchschnittlichen Gewinne für alle ausgeglichenen Geschäfte

Beispiel

pine
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 Nummer des Transaktions, der mit der Auszahlung begann. Die Nummer des ersten Transaktions ist null.

Siehe auch
strategy.closedtrades.exit_price strategy.closedtrades.size strategy.closedtrades

strategy.closedtrades.entry_time

Zurück zur UNIX-Zeit, in der der Handel ausgeglichen wurde.

strategy.closedtrades.entry_time(trade_num)

Beispiel

pine
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 Nummer des Transaktions, der mit der Auszahlung begann. Die Nummer des ersten Transaktions ist null.

Siehe auch
strategy.opentrades.entry_time strategy.closedtrades.exit_time time

strategy.closedtrades.profit

Verluste, die auf einen ausgeglichenen Handel zurückkehren. Verluste werden als negative Werte dargestellt.

strategy.closedtrades.profit(trade_num)

Beispiel

pine
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 Nummer des Transaktions, der mit der Auszahlung begann. Die Nummer des ersten Transaktions ist null.

Siehe auch
strategy.opentrades.profit strategy.closedtrades.commission

strategy.closedtrades.size

Gibt die Richtung und die Anzahl der Geschäfte in einem ausgeglichenen Handel zurück. Wenn dieser Wert > 0 ist, ist die Marktposition mehrköpfig. Wenn dieser Wert < 0 ist, ist die Marktposition leer.

strategy.closedtrades.size(trade_num)

Beispiel

pine
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 aus den Off-Position-Transaktionen

Beispiel

pine
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.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 Nummer des Transaktions, der mit der Auszahlung begann. Die Nummer des ersten Transaktions ist null.

Siehe auch
strategy.opentrades.size strategy.position_size strategy.closedtrades strategy.opentrades

strategy.closedtrades.exit_time

Zurück zum UNIX-Zeitpunkt, zu dem der ausgeglichene Handel beendet wurde.

strategy.closedtrades.exit_time(trade_num)

Beispiel

pine
strategy("strategy.closedtrades.exit_time Example 1") // 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 label.new(bar_index, high, str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")

Nach X Sekunden wird der ausgeschlossene Handel wieder geöffnet.

Beispiel

strategy("strategy.closedtrades.exit_time Example 2") // Strategy calls to emulate a single long trade at the first bar. if bar_index == 0 strategy.entry("Long", strategy.long) reopenPositionAfter(timeSec) => if strategy.closedtrades > 0 if time - strategy.closedtrades.exit_time(strategy.closedtrades - 1) >= timeSec * 1000 strategy.entry("Long", strategy.long) // Reopen last closed position after 120 sec. reopenPositionAfter(120) if ta.change(strategy.opentrades) strategy.exit("Long", stop = low * 0.9, profit = high * 2.5)

Parameter

  • trade_num(series int) Die Nummer des Transaktions, der mit der Auszahlung begann. Die Nummer des ersten Transaktions ist null.

Siehe auch
strategy.closedtrades.entry_time

strategy.risk.allow_entry_in

Diese Funktion kann verwendet werden, um zu bestimmen, in welcher Richtung die Strategy.entry-Funktion zulässt.

strategy.risk.allow_entry_in(value)

Beispiel

pine
strategy("strategy.risk.allow_entry_in") strategy.risk.allow_entry_in(strategy.direction.long) strategy.entry("Long", strategy.long, when = open > close) // Instead of opening a short position with 10 contracts, this command will close long entries. strategy.entry("Short", strategy.short, when = open < close, qty = 10)

Parameter

strategy.risk.max_position_size

Der Zweck dieser Regel ist es, den maximalen Wert einer Marktposition zu bestimmen. Die Regel wirkt sich auf folgende Funktionen aus:strategy.entryDie Anzahl der Eintrittskanonen kann reduziert werden (wenn erforderlich) auf die Anzahl der Kontrakte/Aktien/Hände/Einheiten, so dass der Gesamtwert der Position nicht über den in 'strategy.risk.max_position_size' angegebenen Wert hinausgeht. Wenn die Mindestanzahl dennoch gegen die Regeln verstößt, wird kein Auftrag platziert.

strategy.risk.max_position_size(contracts)

Beispiel

pine
strategy("risk.max_position_size Demo", default_qty_value = 100) strategy.risk.max_position_size(10) strategy.entry("buy", strategy.long, when = open > close) plot(strategy.position_size) // max plot value will be 10

Parameter

  • contracts(simple int/float) Notwendige Parameter. Höchste Anzahl an Verträgen/Aktien/Händlern/Einheiten der Position.

math

math.abs

Was ist?number >= 0,numberDer absolute Wert ist numberoder -number

math.abs(number)

Rückgabewert
numberAbsolute Werte für

math.acos

Die acos-Funktion gibt die negative Eckung der Zahl ((in einem Bogen) zurück, z. B. cos ((acos ((y)) = y im Bereich y.[-1, 1]。

math.acos(angle)

Rückgabewert
Reverse-Effekt. Wenn y außerhalb des Bereichs ist[-1,1], der Rückwinkel ist in[In der Reichweite von 0, Pi] oder na.

math.random

Gibt einen pseudo-randomisierten Wert zurück. Die Funktion erzeugt eine unterschiedliche Reihe von Werten für jedes Skript, das ausgeführt wird. Die Verwendung der gleichen Werte für die auswählbaren Seed-Parameter erzeugt eine wiederholbare Reihe.

math.random(min, max, seed)

Rückgabewert
Ein zufälliger Wert.

Parameter

  • min(series int/float) Untere Grenze des Randomwertbereichs。 Der Wert ist nicht im Bereich enthalten。 Der Standardwert ist 0。
  • max(series int/float) Obergrenze für den Bereich der zufälligen Werte. Der Wert ist nicht im Bereich enthalten. Der Standardwert ist 1
  • seed(input int) Optionale Parameter. Es ist erlaubt, diese Funktion in Folge aufzurufen, um eine Reihe von wiederholbaren Werten zu erzeugen, wenn derselbe Seed verwendet wird.

math.asin

Die asin-Funktion gibt die Gegen-Synthese der Zahlen zurück ((in einem Bogen), wobei die Synthese ((asin ((y)) = y in einem Bereich von y[-1, 1]。

math.asin(angle)

Rückgabewert
Die Antitronschall-Werte. Wenn y außerhalb des Bereichs ist[-1,1], der Rückwinkel ist in[-Pi / 2, Pi / 2] oder in der Reichweite von na.

math.atan

Die atan-Funktion gibt die linke Schnittstelle der Zahlen zurück ((in einem Bogen), so dass tan ((atan ((y)) = y in jedem y.

math.atan(angle)

Rückgabewert
Die Rückwärtswinkel ist in[-Pi / 2, Pi / 2] im Bereich der

math.ceil

Die oberwärtsgeführte Integer-Funktion gibt die kleinste (und damit am wenigsten negative) ganze Zahl zurück, die größer oder gleich dem Argument ist.

math.ceil(number)

Rückgabewert
Mindeste ganze Zahl kleiner oder gleich einer gegebenen Zahl

Siehe auch
math.floor math.round

math.cos

Die cos-Funktion gibt einen Dreiecksschleife zurück.

math.cos(angle)

Rückgabewert
Die Dreiecksschlinge der Ecke.

Parameter

  • angle(series int/float) Winkel, in der Breite

math.exp

numberDie exp-Funktion von e ist numberDie Quadratur, wobei e die Eulerzahl ist.

math.exp(number)

Rückgabewert
Eines der Werte für e, das istnumberDas ist eine gute Idee.

Siehe auch
math.pow

math.floor

math.floor(number)

Rückgabewert
größtmögliche ganze Zahl kleiner oder gleich der angegebenen Zahl.

Siehe auch
math.ceil math.round

math.log

Was auch immer.numberDie natürliche Logarithmik von > 0 ist die einzige y, so dass e^y = number

math.log(number)

Rückgabewert
numberDie natürlichen Argumente der .

Siehe auch
math.log10

math.log10

numberDie übliche Argumentation ist, dass man den Wert 10 erhöhen muss, um den Wert 10 zu erhalten.number。10^y = number

math.log10(number)

Rückgabewert
numberDie logarithmische Basis von 10

Siehe auch
math.log

math.pow

Mathematische Funktionen

math.pow(base, exponent)

Beispiel

pine
// math.pow plot(math.pow(close, 2))

Rückgabewert
baseErhöhung aufexponentWennbaseEs ist eine Reihe, die nach Elementen berechnet wird.

Parameter

  • base(series int/float) Gibt die Basis an, die verwendet werden soll.
  • exponent(series int/float) Der angegebene Index.

Siehe auch
math.sqrt math.exp

math.sign

Wenn die Quadratzahl 0 ist, ist das Signal der Quadratzahl 0; wenn die Quadratzahl größer als 0 ist, ist es 1,0; wenn die Quadratzahl kleiner als 0 ist, ist es -1,0.

math.sign(number)

Rückgabewert
Das Logo der Parameter.

math.sin

Die Synthesefunktion gibt die Synthese eines Winkels zurück.

math.sin(angle)

Rückgabewert
Die Dreiecks-Synthese der Ecken.

Parameter

  • angle(series int/float) Winkel, in der Breite

math.sqrt

Was auch immernumberDie Quadratwurzel von >=0 ist die einzige Sache, bei der y >=0 so groß ist, dass y^2 = number

math.sqrt(number)

Rückgabewert
numberDie Quadratwurzel.

Siehe auch
math.pow

math.tan

Der Dreiecksschnitt, in dem die Tan-Funktion den Winkel zurückgibt.

math.tan(angle)

Rückgabewert
Die Ecken des Dreiecks sind gerade.

Parameter

  • angle(series int/float) Winkel, in der Breite

math.round

Zurück.numberWenn der Wert von <unk> {\displaystyle <unk>} verwendet wird, wird der Wert von <unk> {\displaystyle <unk>} auf die nächstgelegene ganze Zahl verteilt und nach oben ausgeglichen.precisionDer Parameter gibt einen Floating-Point-Wert zurück, der in eine Vier- oder Fünf-Zahl-Zahl eingegeben wird.

math.round(number)
math.round(number, precision)

Rückgabewert
numberDie Werte der Werte werden in die nächste ganze Zahl oder entsprechend der Genauigkeit eingeteilt.

Parameter

  • number(series int/float) Umkreist werden soll.
  • precision(series int) Optionale ParameternumberDie geringe Zahl, die mit einer Viertelzahl versehen wird. Wenn keine Parameter angegeben sind, wird die Viertelzahl mit einer Viertelzahl an die nächste ganze Zahl versehen.

Anmerkung
Bitte beachten Sie, dass die Funktion 'na' für 'na' zurückgibt.

Siehe auch
math.ceil math.floor

math.max

Gibt den größten von mehreren Werten zurück.

math.max(number0, number1, ...)

Beispiel

pine
// math.max plot(math.max(close, open)) plot(math.max(close, math.max(open, 42)))

Rückgabewert
Die größte von mehreren gegebenen Werten.

Siehe auch
math.min

math.min

Gibt die kleinste von mehreren Werten zurück.

math.min(number0, number1, ...)

Beispiel

pine
// math.min plot(math.min(close, open)) plot(math.min(close, math.min(open, 42)))

Rückgabewert
Minimaler Wert unter mehreren gegebenen Werten.

Siehe auch
math.max

math.avg

Berechnen Sie den Mittelwert aller Reihen ((entsprechende Elemente) <unk>.

math.avg(number0, number1, ...)

Rückgabewert
Durchschnitt

Siehe auch
math.sum ta.cum ta.sma

math.round_to_mintick

Gibt die Mintick-Werte zurück, die in die Ware eingezählt wurden, d.h. die können ohne Rest durch die nächstgelegenen Werte von syminfo.mintick dividiert und nach oben eingezählt werden.

math.round_to_mintick(number)

Rückgabewert
numberVier Runden und fünf Eingänge bis zum Tick.

Parameter

  • number(series int/float) Umkreist werden soll.

Siehe auch
math.ceil math.floor

math.sum

Die sum-Funktion gibt die Schiebe-Synthese der letzten y-Werte von x zurück.

math.sum(source, length)

Rückgabewert
lengthK-Strecke zurückgegebensourceZusammengefasst

Parameter

  • source(series int/float) Die auszuführenden Serienwerte.
  • length(series int) Anzahl der K-Zeilen (länge).

Siehe auch
ta.cum for

math.todegrees

Von einem Winkel in der Einheit der Bogenlänge wird der nahezu äquivalente Winkel in der Einheit der Grade zurückgegeben.

math.todegrees(radians)

Rückgabewert
Winkelwert in Einheiten gemessen.

Parameter

  • radians(series int/float) Der Winkel in Einheiten des Bogen.

math.toradians

Von einem Winkel in Einheiten der Größe wird der nahezu äquivalente Winkel in Einheiten der Bogenlänge zurückgegeben.

math.toradians(degrees)

Rückgabewert
Winkelwert in Einheiten der Bogenlänge.

Parameter

  • degrees(series int/float) Der Winkel in Einheiten.

others

fixnan

NaN-Werte werden für die angegebene Reihe durch vorherige Nicht-NaN-Werte ersetzt.

fixnan(source)

Rückgabewert
Eine Serie ohne Na-Lücke.

Parameter

  • source (series int/float/bool/color)

Siehe auch
na nz

nz

NaN-Werte durch Null (oder eine bestimmte Zahl in der Reihe) ersetzen.

nz(source, replacement)
nz(source)

Beispiel

pine
// nz plot(nz(ta.sma(close, 100)))

Rückgabewert
sourceWenn es nicht so istnaWennsourceDie Werte fürnaWird 0 zurückgegeben, wird 1 zurückgegeben.replacementParameter

Parameter

  • source(series int/float/bool/color) Die Serie, die ausgeführt werden soll.
  • replacement(series int/float/bool/color) ersetzt die Werte aller <unk>na-Thresholds in der <unk>source<unk>-Serie.

Siehe auch
na fixnan

na

Wenn NaN, dann Testwert <unk>

na(x)

Rückgabewert
Wenn x keine gültige Zahl ist, dann ist es wahr (x ist NaN), andernfalls ist es falsch.

Siehe auch
fixnan nz

int

Umwandlung in na oder Trennung der Float-Werte in int。

int(x)

Rückgabewert
Umwandlung in die Parameterwerte nach int。

Siehe auch
float bool color string

float

Setzen Sie na auf Floating.

float(x)

Rückgabewert
Umwandlung in die Parameterwerte nach float。

Siehe auch
int bool color string

alert

Alarmereignisse werden ausgelöst, wenn sie während der K-Linie in Echtzeit aufgerufen werden, und Alarmereignisse werden zuvor als Kennzeichen oder als Strategie erstellt, die auf den Ereignissen der Alarmfunktion basieren.

alert(message, freq)

Beispiel

pine
// alert() example ma = ta.sma(close, 14) xUp = ta.crossover(close, ma) if xUp // Trigger the alert the first time a cross occurs during the real-time bar. alert("Price (" + str.tostring(close) + ") crossed over MA (" + str.tostring(ma) + ").", alert.freq_once_per_bar) plot(ma) plotchar(xUp, "xUp", "▲", location.top, size = size.tiny)

Parameter

  • message(series string) Die Nachricht, die beim Auslösen des Alarms gesendet wird.
  • freq(input string) Triggerfrequenz. Die möglichen Werte sind: alert.freq_all, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.freq_once_per_bar, alert.alert.freq_once_per_bar, alert.alert.freq_once_per_bar, alert.freq_once_per_per_bar, alert

Anmerkung
Die Hilfszentrale zeigt Ihnen, wie Sie solche Warnungen erstellen können.
Im Gegensatz zu alertcondition zählt der alert-Aufruf nicht als zusätzliche Grafik.
Funktionsaufrufe können sowohl global als auch lokal eingesetzt werden.
Der Funktionsaufruf zeigt nichts auf der Grafik.
Der Parameter <unk>freq<unk> wirkt sich nur auf die Triggerfrequenz aus, bei der diese Funktion aufgerufen wird.

Siehe auch
alertcondition

alertcondition

Alarmbedingungen erstellen können Sie im Dialogfeld "Alarmbedingungen erstellen". Bitte beachten Sie, dass der alertcondition-Effekt keinen Alarm erstellt, sondern Ihnen nur weitere Optionen im Dialogfeld "Alarmbedingungen erstellen" bietet. Außerdem ist der Effekt des alertcondition-Effekts in der Grafik nicht sichtbar.

alertcondition(condition, title, message)

Beispiel

pine
// alertcondition alertcondition(close >= open, title='Alert on Green Bar', message='Green Bar!')

Parameter

  • condition(series bool) Eine Reihe von Boole-Werten, die für Alarme verwendet werden. True bedeutet Alarm ausgelöst, false bedeutet keine Alarm.
  • title(const string) Der Titel der Alarmbedingung. Optionale Parameter.
  • message(const string) Anzeige einer Nachricht, wenn der Alarm ausgelöst wird. Optional.

Anmerkung
Bitte beachten Sie, dass in Pine v4 der Aufruf der Alarmbedingung eine zusätzliche Grafik erzeugt. Alle diese Aufrufe werden berücksichtigt, wenn wir die Anzahl der Ausgabefolgen für jedes Skript berechnen.

Siehe auch
alert

indicator

Für die KompatibilitätTrading ViewStrategiecode, der eigentlich nicht aufgerufen werden muss.

Siehe auch
strategy

time

Die time-Funktion gibt die UNIX-Zeit der aktuellen K-Zeile für den angegebenen Zeitbereich und die Transaktionszeit zurück. Wenn die Zeitpunkte nicht in der Transaktionszeit liegen, wird NaN zurückgegeben.sessionParameter

time(timeframe, session, timezone)

time(timeframe, session)

time(timeframe)

Beispiel

pine
timeinrange(res, sess) => not na(time(res, sess, "America/New_York")) ? 1 : 0 plot(timeinrange("1", "1300-1400"), color=color.red) // This plots 1.0 at every start of 10 minute bar on a 1 minute chart: newbar(res) => ta.change(time(res)) == 0 ? 0 : 1 plot(newbar("10"))

Wenn Sie eine Sitzung einrichten, können Sie nicht nur die Uhrzeit und die Minuten, sondern auch den Tag in der Woche angeben.
Wenn kein Datum angegeben ist, wird angenommen, dass die Handelszeit von Sonntag (1) bis Samstag (7) eingestellt ist, d. h. 1100-2000 RON ist identisch mit 1100-1200 RON: 1234567 RON.
Sie können dies ändern, indem Sie den Tag angeben. Zum Beispiel, für Waren, die 7 Tage in der Woche gehandelt werden und 24-Stunden-Handelszeiten haben, wird das folgende Skript nicht für Samstag und Sonntag gefärbt:

Beispiel

pine
// Time t1 = time(timeframe.period, "0000-0000:23456") bgcolor(t1 ? color.new(color.blue, 90) : na)

Eine.sessionDie Parameter können mehrere verschiedene Transaktionszeiten enthalten, die durch Kommas getrennt sind. So wird beispielsweise in folgenden Skripten ein K-Linienbild von 10:00 bis 11:00 und von 14:00 bis 15:00 (nur an Werktagen) hervorgehoben:

Beispiel

pine
// Time t1 = time(timeframe.period, "1000-1100,1400-1500:23456") bgcolor(t1 ? color.new(color.blue, 90) : na)

Rückgabewert
Unix-Zeit

Parameter

  • timeframe(simple string) Zeitspanne. Die leere Zeichenfolge wird als die aktuelle Zeitspanne des Diagramms interpretiert.
  • session(simple string) Handelszeitspezifikationen。 Optionale Parameter, Standard ist Handelszeiten。 Leere Strings werden als Handelszeiten für Waren interpretiert。 FMZ wird nicht unterstützt。
  • timezone (simple string) sessionDer Parameter-Zeitzone。 kann nur verwendet werden, wenn die Sitzungszone der Antenne angegeben ist。 ist optional。 Der Standardwert ist syminfo.timezone。 kann mit der GMT-Ausdrucksweise ((z. B. <unk>GMT-5<unk>) oder dem IANA-Zeitzonendatenbanknamen ((z. B. <unk>America/New_York<unk>)) angegeben werden。

Anmerkung
UNIX-Zeit ist die Anzahl der Millisekunden, die seit dem 1. Januar 1970 (UTC 00:00:00) vergangen sind.

year

year(time)
year(time, timezone)

Rückgabewert
Das Jahr, in dem die UNIX-Zeit verfügbar ist (eine Wechselzeitzone).

Parameter

  • time(series int) ist die Unix-Zeit in Millisekunden.
  • timezone(series string) Optionale Parameter ◦ Zeitzone ◦

Anmerkung
UNIX-Zeit ist die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC 00:00:00 Uhr. Die Standardzeitzone ist syminfo.timezone. Sie können die möglichen Werte mit einem Zeitstempel überprüfen.
Bitte beachten Sie, dass diese Funktion das Jahr anhand der Öffnungszeit der K-Linie zurückgibt. Für die Übernacht-Handelszeit (z. B. EURUSD-Mondtags-Handelszeit, die am Sonntag um 17:00 UTC-4 beginnt) kann dieser Wert 1 niedriger sein als das Jahr des Handelstages.

Siehe auch
year time month dayofmonth dayofweek hour minute second

month

month(time)
month(time, timezone)

Rückgabewert
Monat, in dem die UNIX-Zeit verfügbar ist (eingeschaltete Zeitzone).

Parameter

  • time(series int) ist die Unix-Zeit in Millisekunden.
  • timezone(series string) Optionale Parameter ◦ Zeitzone ◦

Anmerkung
UNIX-Zeit ist die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC 00:00:00 Uhr. Die Standardzeitzone ist syminfo.timezone. Sie können die möglichen Werte mit einem Zeitstempel überprüfen.
Bitte beachten Sie, dass diese Funktion den Monat anhand der Öffnungszeit der K-Linie zurückgibt. Für die Übernacht-Handelszeit (z. B. EURUSD-Handelszeit am Montag beginnt am Sonntag um 17:00 UTC-4) kann dieser Wert 1 niedriger sein als der Monat des Handelstages.

Siehe auch
month time year dayofmonth dayofweek hour minute second

hour

hour(time)
hour(time, timezone)

Rückgabewert
UNIX-Zeit (eingeschaltete Zeitzone) [2].

Parameter

  • time(series int) ist die Unix-Zeit in Millisekunden.
  • timezone(series string) Optionale Parameter ◦ Zeitzone ◦

Anmerkung
UNIX-Zeit ist die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC 00:00:00 Uhr. Die Standardzeitzone ist syminfo.timezone. Sie können die möglichen Werte mit einem Zeitstempel überprüfen.

Siehe auch
hour time year month dayofmonth dayofweek minute second

minute

minute(time)
minute(time, timezone)

Rückgabewert
Minuten für die Bereitstellung von UNIX-Zeit ((Swap-Zeitzonen)) [2].

Parameter

  • time(series int) ist die Unix-Zeit in Millisekunden.
  • timezone(series string) Optionale Parameter ◦ Zeitzone ◦

Anmerkung
UNIX-Zeit ist die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC 00:00:00 Uhr. Die Standardzeitzone ist syminfo.timezone. Sie können die möglichen Werte mit einem Zeitstempel überprüfen.

Siehe auch
minute time year month dayofmonth dayofweek hour second

second

second(time)
second(time, timezone)

Rückgabewert
Die Anzahl der Sekunden, die für die UNIX-Zeit vorgesehen sind (eingeschaltete Zeitzonen).

Parameter

  • time(series int) ist die Unix-Zeit in Millisekunden.
  • timezone(series string) Optionale Parameter ◦ Zeitzone ◦

Anmerkung
UNIX-Zeit ist die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC 00:00:00 Uhr. Die Standardzeitzone ist syminfo.timezone. Sie können die möglichen Werte mit einem Zeitstempel überprüfen.

Siehe auch
second time year month dayofmonth dayofweek hour minute

weekofyear

weekofyear(time)
weekofyear(time, timezone)

Rückgabewert
Bereitstellung von UNIX-Zeit-Zyklen ((Austauschzeitzonen) }}.

Parameter

  • time(series int) ist die Unix-Zeit in Millisekunden.
  • timezone(series string) Optionale Parameter ◦ Zeitzone ◦

Anmerkung
UNIX-Zeit ist die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC 00:00:00 Uhr. Die Standardzeitzone ist syminfo.timezone. Sie können die möglichen Werte mit einem Zeitstempel überprüfen.
Bitte beachten Sie, dass die Funktion die Woche zurückgibt, je nachdem, wann die K-Linie geöffnet ist. Für die Übernacht-Handelszeit (z. B. EURUSD, deren Montag-Handelszeit am Sonntag um 17:00 Uhr beginnt) kann dieser Wert niedriger sein als der der Woche am Handelstag.

Siehe auch
weekofyear time year month dayofmonth dayofweek hour minute second

dayofweek

dayofweek(time)
dayofweek(time, timezone)

Rückgabewert
Die UNIX-Zeit wird in der Woche angegeben.

Parameter

  • time(series int) ist die Unix-Zeit in Millisekunden.
  • timezone(series string) Optionale Parameter ◦ Zeitzone ◦

Anmerkung
Bitte beachten Sie, dass diese Funktion den Tag zurückgibt, je nachdem, wann die K-Linie geöffnet ist. Für die Übernacht-Handelszeiten (z. B. EURUSD-Handelszeiten am Montag, die am Sonntag um 17:00 Uhr beginnen) kann dieser Wert niedriger sein als der Tag des Handels.
UNIX-Zeit ist die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC 00:00:00 Uhr. Die Standardzeitzone ist syminfo.timezone. Sie können die möglichen Werte mit einem Zeitstempel überprüfen.

Siehe auch
time dayofmonth

dayofmonth

dayofmonth(time)
dayofmonth(time, timezone)

Rückgabewert
Monatliche Datumsangaben für die UNIX-Zeit ((Swap-Zeitzonen) }}.

Parameter

  • time(series int) ist die Unix-Zeit in Millisekunden.
  • timezone(series string) Optionale Parameter ◦ Zeitzone ◦

Anmerkung
UNIX-Zeit ist die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC 00:00:00 Uhr. Die Standardzeitzone ist syminfo.timezone. Sie können die möglichen Werte mit einem Zeitstempel überprüfen.
Bitte beachten Sie, dass diese Funktion den Tag anhand der Öffnungszeit der K-Linie zurückgibt. Für die Übernacht-Handelszeiten (z. B. EURUSD-Handelszeiten am Montag, die am Sonntag um 17:00 UTC-4 beginnen) kann dieser Wert 1 niedriger sein als der Tag des Handels.

Siehe auch
time dayofweek

timestamp

Die Timestamp-Funktion gibt den angegebenen Tag und die angegebene Uhrzeit der UNIX-Zeit zurück.

timestamp(dateString)
timestamp(year, month, day, hour, minute, second)
timestamp(timezone, year, month, day, hour, minute, second)

Beispiel

pine
// timestamp plot(timestamp(2016, 01, 19, 09, 30), linewidth=3, color=color.green) plot(timestamp(syminfo.timezone, 2016, 01, 19, 09, 30), color=color.blue) plot(timestamp(2016, 01, 19, 09, 30), color=color.yellow) plot(timestamp("GMT+6", 2016, 01, 19, 09, 30)) plot(timestamp(2019, 06, 19, 09, 30, 15), color=color.lime) plot(timestamp("GMT+3", 2019, 06, 19, 09, 30, 15), color=color.fuchsia) plot(timestamp("Feb 01 2020 22:10:05")) plot(timestamp("2011-10-10T14:48:00")) plot(timestamp("04 Dec 1995 00:12:00 GMT+5"))

Rückgabewert
Unix-Zeit

Parameter

  • timezone(series string) Zeitzone。 optional。 der Standardwert ist syminfo.timezone。 kann mit der GMT-Ausdrucksweise ((z. B. <unk>GMT-5<unk>) oder dem IANA-Zeitzonendatenbanknamen ((z. B. <unk>America/New_York<unk>)) angegeben werden。
  • year(series int) Jahr
  • month(series int) Monat
  • day(Series int) Tag
  • hour(series int) (optional) Stunden. Der Standardwert ist 0
  • minute(series int) (optional) Minuten. Der Standardwert ist 0
  • second(series int) (optionale Parameter) Second. Die Voreinstellung ist 0
  • dateString(const string) Eine String, die ein Datum sowie eine optional angegebene Zeit und Zeitzone enthält. Ihr Format muss mit den IETF-Standards RFC 2822 oder ISO 8601 übereinstimmen. (<unk>DD MMM YYYY hh:mm:ss±hhmm<unk> oder<unk>YYYYY-MM-DDThh:mm:ss±hh:mm<unk>, also<unk>20 Feb 2020<unk> oder<unk>2020-02-20<unk>) Wenn keine Zeit angegeben ist, wird<unk>00:00<unk> verwendet. Wenn keine Zeitzone angegeben ist, wird GMT+0 verwendet.

Anmerkung
UNIX-Zeit ist die Anzahl der Millisekunden, die seit dem 1. Januar 1970 (UTC 00:00:00) vergangen sind.

Siehe auch
time timenow syminfo.timezone

fill

Der Hintergrund zwischen zwei Zeichnungen oder Hlines wird mit den angegebenen Farben ausgefüllt.

fill(hline1, hline2, color, title, editable, fillgaps, display)
fill(plot1, plot2, color, title, editable, show_last, fillgaps, display)

Beispiel

pine
h1 = hline(20) h2 = hline(10) fill(h1, h2, color=color.new(color.blue, 90)) p1 = plot(open) p2 = plot(close) fill(p1, p2, color=color.new(color.green, 90))

Parameter

  • hline1(hline) Das erste hline-Objekt.
  • hline2(hline) Zweites hline-Objekt.
  • plot1(plot) Das erste Objekt der Zeichnung.
  • plot2(plot) Zweites Objekt der Zeichnung. Notwendige Parameter.
  • color(series color) Farbe der Zeichnung. Sie können Konstanten wie 'color = red' oder 'color =#ff001a' sowie komplexe Ausdrücke wie 'color = close >= open ? green: red' verwenden.
  • title(const string) Erstellt wurde ein Objekt, das den Titel füllt. Optionale Parameter
  • editable(const bool) Wenn true, können die Füllstile im Format-Dialogfeld bearbeitet werden. Der Standardwert ist true.
  • show_last(input int) Wenn eingestellt, wird die Anzahl der k Zeilen definiert, die das Diagramm füllen.
  • fillgaps(const bool) steuert die fortlaufende Füllung der Lücke, d.h. wenn eine der Aufrufe von plot ()) den Wert na zurückgibt. Wenn true gesetzt wird, wird die letzte Füllung die Lücke weiterhin füllen.
  • display(plot_display) Steuert die Anzeigeposition der Füllung. Die möglichen Werte sind: display.none, display.all.

Siehe auch
plot barcolor bgcolor hline

hline

Horizontale Linien werden auf einer bestimmten Festpreisebene dargestellt.

hline(price, title, color, linestyle, linewidth, editable, display)

Beispiel

pine
// input.hline hline(3.14, title='Pi', color=color.blue, linestyle=hline.style_dotted, linewidth=2) // You may fill the background between any two hlines with a fill() function: h1 = hline(20) h2 = hline(10) fill(h1, h2, color=color.new(color.green, 90))

Rückgabewert
Hline-Objekte, die für Fill verwendet werden können.

Parameter

  • priceDer Wert, den das (input int/float) Objekt anzeigt.
  • titleTitel des (const string) Objekts
  • color(input color) Die Farbe der Rendering-Leitung. Es muss eine Konstante sein (nicht ausgedrückt).
  • linestyle(hline_style) Stil der Rendering-Zeile。 Mögliche Werte sind: solid, dotted, dotted。 Optionale Parameter。
  • linewidth(input int) Die Breite der Rendering-Leitung ≠ 1 ≠ 1.
  • editable(const bool) Wenn true ist, kann der Hline-Stil im Format-Dialogfeld bearbeitet werden. Der Standardwert ist true.
  • display(plot_display) Anzeigeposition der Bedienung. Die möglichen Werte sind: display.none, display.all.
  • overlay(const bool) Der Parameter, der von der FMZ-Plattform erweitert wird, um die aktuelle Funktion auf der Hauptgrafik ([settrue]) oder der Nebengrafik ([setfalse]) anzuzeigen. Die Default-Wertung ist false.strategyoderindicatorInoverlayParameter eingestelltstrategyoderindicatorKeine EinstellungenoverlayDie Parameter werden nach den Standardparametern behandelt.

bgcolor

Der Hintergrund der K-Linie wird mit der angegebenen Farbe ausgefüllt.

bgcolor(color, offset, editable, show_last, title, display, overlay)

Beispiel

pine
// bgcolor example bgcolor(close < open ? color.new(color.red,70) : color.new(color.green, 70))

Parameter

  • color(series color) Füllung der Hintergrundfarbe. Sie können Konstanten wie <unk>red<unk> oder <unk>#ff001a<unk> sowie komplexe Ausdrücke wie 'close >= open ? green: red' verwenden.
  • offset(series int) Farbreihe, die sich auf einer bestimmten Anzahl von K-Zeilen nach links oder rechts bewegt. Der Standardwert ist 0
  • editable(const bool) Der bgcolor-Style kann im Format-Dialogfeld bearbeitet werden, wenn er auf "true" gesetzt wird.
  • show_last(input int) Wenn eingestellt, wird die Anzahl der k Zeilen definiert, die das Diagramm füllen.
  • title(const string) bgcolor Titel. Optionale Parameter.
  • display(plot_display) steuert die Anzeigeposition von bgcolor. Die möglichen Werte sind: display.none, display.all.
  • overlay(const bool) Der Parameter, der von der FMZ-Plattform erweitert wird, um die aktuelle Funktion auf der Hauptgrafik ([settrue]) oder der Nebengrafik ([setfalse]) anzuzeigen. Die Default-Wertung ist false.strategyoderindicatorInoverlayParameter eingestelltstrategyoderindicatorKeine EinstellungenoverlayDie Parameter werden nach den Standardparametern behandelt.

Siehe auch
plot

barcolor

K-Linienfarbe eingestellt.

barcolor(color, offset, editable, show_last, title, display)

Beispiel

pine
barcolor(close < open ? color.black : color.white)

Parameter

  • color(series color) K-Linienfarbe。 Sie können Konstanten wie <unk>red<unk> oder <unk>#ff001a<unk> verwenden, sowie komplexe Expressionen wie 'close >= open ? green: red‛。 die notwendigen Parameter。
  • offset(series int) Farbreihe, die sich auf einer bestimmten Anzahl von K-Zeilen nach links oder rechts bewegt. Der Standardwert ist 0
  • editable(const bool) Wenn true, kann der Barcolor-Stil im Format-Dialogfeld bearbeitet werden. Der Standardwert ist true.
  • show_last(input int) Wenn eingestellt, wird die Anzahl der k Zeilen definiert, die das Diagramm füllen.
  • title(const string) Barcolor-Titel。 Optionale Parameter。
  • display(plot_display) Steuert die Anzeigeposition der K-Linienfarbe. Die möglichen Werte sind: display.none, display.all.

Siehe auch
bgcolor plot fill

error

Kompatible Versionen von PINE v4error, Funktionen undruntime.errorEinvernehmen

Eingebettete Variable

order

order.ascending

Finden Sie die Reihenfolge der Arrays von der kleinsten zur größten.

Typ
sort_order

Siehe auch
array.new_float array.sort

order.descending

Finden Sie die Reihenfolge der Arrays von größer bis kleiner.

Typ
sort_order

Siehe auch
array.new_float array.sort

timeframe

timeframe.isdaily

Wenn die aktuelle Auflösung die Tages-Auflösung ist, wird true zurückgegeben, andernfalls false.

Typ
simple bool

Siehe auch
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isweekly timeframe.ismonthly

timeframe.isdwm

Wenn die aktuelle Auflösung täglich oder wöchentlich oder monatlich ist, wird true zurückgegeben, andernfalls false.

Typ
simple bool

Siehe auch
timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.isintraday

Wenn die aktuelle Zeitspanne eine Zeitspanne von Tagen (Minuten oder Sekunden) ist, wird true zurückgegeben, andernfalls wird false zurückgegeben.

Typ
simple bool

Siehe auch
timeframe.isminutes timeframe.isseconds timeframe.isdwm timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.isminutes

Wenn die aktuelle Periode eine Minuten-Periode ist, wird true zurückgegeben, andernfalls wird false zurückgegeben.

Typ
simple bool

Siehe auch
timeframe.isdwm timeframe.isintraday timeframe.isseconds timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.ismonthly

Wenn die aktuelle Auflösung die monatliche Auflösung ist, wird true zurückgegeben, andernfalls false.

Typ
simple bool

Siehe auch
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.isweekly

timeframe.isseconds

Wenn der aktuelle Zyklus Sekunden beträgt, wird true zurückgegeben, andernfalls false.

Typ
simple bool

Siehe auch
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isdaily timeframe.isweekly timeframe.ismonthly

timeframe.isweekly

Wenn die aktuelle Auflösung die auflösung pro Woche ist, wird true zurückgegeben, andernfalls wird false zurückgegeben.

Typ
simple bool

Siehe auch
timeframe.isdwm timeframe.isintraday timeframe.isminutes timeframe.isseconds timeframe.isdaily timeframe.ismonthly

timeframe.multiplier

Die Zeitspanne wird multipliziert, z. B. '60' - 60, 'D' - 1, '5D' - 5, '12M' - 12 <unk>.

Typ
simple int

Siehe auch
syminfo.ticker syminfo.tickerid timeframe.period

timeframe.period

Zeiträume wie '60' - 60 Minuten, 'D' - Tag, 'W' - Woche, 'M' - Monat, '5D' - 5 Tage, '12M' - 1 Jahr, '3M' - 1 Quartal.

Typ
simple string

Siehe auch
syminfo.ticker syminfo.tickerid timeframe.multiplier

display

display.none

Eine Namenskonstante, die die angezeigte Position der Karte angibt. Nirgendwo angezeigt. In der Alarmvorlage Nachricht verfügbar.

Typ
plot_display

Siehe auch
plot plotshape plotchar

display.all

Eine Namenskonstante, die die Position der Karte angibt. Anzeige jeder Position.

Typ
plot_display

Siehe auch
plot plotshape plotchar plotarrow plotbar plotcandle

shape

shape.xcross

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.cross

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.triangleup

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.triangledown

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.flag

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.circle

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.arrowup

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.arrowdown

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.labelup

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.labeldown

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.square

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

shape.diamond

Die Form der Plotshape-Funktion.

Typ
const string

Siehe auch
plotshape

color

color.aqua

ist die Namenskonstante für die Farbe #00BCD4

Typ
const color

color.black

ist die Nennkonstante der Farbe #363A45 <unk>.

Typ
const color

color.blue

ist die Namenskonstante der Farbe #2962ff。

Typ
const color

color.fuchsia

ist die Namenskonstante der Farbe #E040FB.

Typ
const color

color.gray

ist die Namenskonstante der Farbe #787B86

Typ
const color

color.green

ist die Namenskonstante der Farbe #4CAF50

Typ
const color

color.lime

ist die Namenskonstante der Farbe #00E676.

Typ
const color

color.maroon

Die Namenskonstante der Farbe #880E4F.

Typ
const color

color.navy

ist die Nennkonstante der Farbe #311B92 <unk>.

Typ
const color

color.olive

ist die Namenskonstante der Farbe #808000 <unk>.

Typ
const color

color.orange

ist die Namenskonstante der Farbe #FF9800。

Typ
const color

color.purple

ist die Nennkonstante der Farbe #9C27B0.

Typ
const color

color.red

ist die Namenskonstante der Farbe #FF5252.

Typ
const color

color.silver

Die Namenskonstante für die Farbe #B2B5BE.

Typ
const color

color.teal

color.teal

ist die Namenskonstante der Farbe #00897B.

Typ
const color

color.white

ist die Namenskonstante der Farbe #FFFFFF.

Typ
const color

color.yellow

ist die Namenskonstante der Farbe #FFEB3B.

Typ
const color

plot

plot.style_line

Benennungskonstanten im 'Line'-Stil, die als Plot-Funktion verwendet werdenstyleDie Parameter der Parameter.

Typ
plot_style

Siehe auch
plot plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_linebr

Die Namenskonstante im Stil von 'Line With Breaks' wird als Plot-Funktion verwendetstyleDie Parameter der Parameter. Ähnlich wie plot.style_line, außer dass die Leerzeichen in den Daten nicht gefüllt werden.

Typ
plot_style

Siehe auch
plot plot.style_line plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_histogram

Benennungskonstanten im 'Histogramm'-Stil, die als Plot-Funktion verwendet werdenstyleDie Parameter der Parameter.

Typ
plot_style

Siehe auch
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_columns

Namenskonstanten im 'Columns'-Stil, die als Plot-Funktion verwendet werdenstyleDie Parameter der Parameter.

Typ
plot_style

Siehe auch
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_circles

plot.style_circles

Die Namenskonstante im Stil von 'Circles', die als Plot-Funktion verwendet wirdstyleDie Parameter der Parameter.

Typ
plot_style

Siehe auch
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns

plot.style_area

Die Namenskonstante im 'Area'-Stil wird als Plot-Funktion verwendetstyleDie Parameter der Parameter.

Typ
plot_style

Siehe auch
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_areabr plot.style_cross plot.style_columns plot.style_circles

plot.style_areabr

Die Namenskonstanten im 'Area With Breaks'-Stil werden als Plot-Funktion verwendet.styleDie Parameter der Parameter. Ähnlich wie plot.style_area, außer dass die Leerzeichen in den Daten nicht gefüllt werden.

Typ
plot_style

Siehe auch
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_cross plot.style_area plot.style_columns plot.style_circles

plot.style_cross

Namenskonstanten im 'Cross'-Stil, die als Plot-Funktion verwendet werdenstyleDie Parameter der Parameter.

Typ
plot_style

Siehe auch
plot plot.style_line plot.style_linebr plot.style_stepline plot.style_stepline_diamond plot.style_histogram plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_stepline

Benennungskonstanten im Stil von Step Line, die als Plot-Funktion verwendet werdenstyleDie Parameter der Parameter.

Typ
plot_style

Siehe auch
plot plot.style_stepline_diamond plot.style_linebr plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

plot.style_stepline_diamond

Die Namenskonstante im Stil 'Step Line With Diamonds' wird als Plot-Funktion verwendetstyleDie Parameter der Parameter 。 sind ähnlich wie plot.style_stepline, außer dass die Datenänderungen auch mit den Anzeichen der Anzeichen der Anzeichen gekennzeichnet werden。

Typ
plot_style

Siehe auch
plot plot.style_line plot.style_linebr plot.style_histogram plot.style_cross plot.style_area plot.style_areabr plot.style_columns plot.style_circles

location

location.abovebar

location.abovebar

Plotshape, die Positionswerte für die Plotchar-Funktion. Die Form wird über der Linie der Hauptreihe k gezeichnet.

Typ
const string

Siehe auch
plotshape plotchar location.belowbar location.top location.bottom location.absolute

location.belowbar

Plotshape, die Positionswerte für die Plotchar-Funktion. Die Form wird in der Hauptreihe k unterhalb der Linie gezeichnet.

Typ
const string

Siehe auch
plotshape plotchar location.abovebar location.top location.bottom location.absolute

location.top

Plotshape, die Positionswerte der Plotchar-Funktion. Die Form wird in der Nähe der oberen Grafikrandung gezeichnet.

Typ
const string

Siehe auch
plotshape plotchar location.abovebar location.belowbar location.bottom location.absolute

location.bottom

Plotshape, die Positionswerte der Plotchar-Funktion. Die Form wird in der Nähe der unteren Grafikrandung gezeichnet.

Typ
const string

Siehe auch
plotshape plotchar location.abovebar location.belowbar location.top location.absolute

location.absolute

Plotshape, die Positionswerte der Plotchar-Funktion. Die Form wird auf einem Diagramm dargestellt, wobei die Kennwerte als Preiskoordinaten verwendet werden.

Typ
const string

Siehe auch
plotshape plotchar location.abovebar location.belowbar location.top location.bottom

size

size.auto

size.auto

Plotshape, die Größe der Plotchar-Funktion. Die Größe der Form passt sich automatisch an die Größe der k-Zeile an.

Typ
const string

Siehe auch
plotshape plotchar size.tiny size.small size.normal size.large size.huge

size.tiny

Plotshape, die Größe der Plotchar-Funktion. Die Größe der Form ist klein.

Typ
const string

Siehe auch
plotshape plotchar size.auto size.small size.normal size.large size.huge

size.small

Plotshape, die Größe der Plotchar-Funktion.

Typ
const string

Siehe auch
plotshape plotchar size.auto size.tiny size.normal size.large size.huge

size.normal

Plotshape, die Größe der Plotchar-Funktion.

Typ
const string

Siehe auch
plotshape plotchar size.auto size.tiny size.small size.large size.huge

size.large

Plotshape, die Größe der Plotchar-Funktion.

Typ
const string

Siehe auch
plotshape plotchar size.auto size.tiny size.small size.normal size.huge

size.huge

Die Größe der Plotshape, Plotchar-Funktion.

Typ
const string

Siehe auch
plotshape plotchar size.auto size.tiny size.small size.normal size.large

alert

alert.freq_once_per_bar

Nennkonstante, die zusammen mit dem 'freq'-Parameter der alert() -Funktion verwendet wird.
Der erste Funktionsaufruf in der K-Zeile löst den Alarm aus.

Typ
const string

Siehe auch
alert

alert.freq_all

Nennkonstante, die zusammen mit dem 'freq'-Parameter der alert() -Funktion verwendet wird.
Alle Funktionsaufrufe lösen Alarm aus.

Typ
const string

Siehe auch
alert

alert.freq_once_per_bar_close

Nennkonstante, die zusammen mit dem 'freq'-Parameter der alert() -Funktion verwendet wird.
Der Aufruf der Funktion wird nur während der letzten Skript-Idealisierung der Echtzeit-K-Linie ausgeführt und löst eine Alarmanlage beim Schließen aus.

Typ
const string

Siehe auch
alert

format

format.inherit

ist eine Namenskonstante.

Typ
const string

Siehe auch
format.price format.volume

format.price

ist eine Namenskonstante.

Typ
const string

Anmerkung
Wenn format format.price ist, wird der Standardpreis festgelegt. Sie können den Precision-Wert mit den Precision-Parametern der Indexfunktion ändern.

Siehe auch
format.inherit format.volume

format.volume

ist eine Namenskonstante.

Typ
const string

Siehe auch
format.inherit format.price

syminfo

syminfo.ticker

Der Warencode ohne Börsenvorwort, z. B. "MSFT".

Typ
simple string

Siehe auch
syminfo.tickerid timeframe.period timeframe.multiplier

syminfo.tickerid

Warencode mit Börsenvorwort, z. B. BATS: MSFT<unk>, NASDAQ: MSFT<unk>

Typ
simple string

Siehe auch
syminfo.ticker timeframe.period timeframe.multiplier

syminfo.basecurrency

Die Basiswährung der Ware. Für die Warenkode BTCUSD<unk>, Rückgabe<unk> BTC<unk>.

Typ
simple string

Siehe auch
syminfo.currency syminfo.ticker

syminfo.currency

Währung des Gegenstands. Währungscode für die Rückgabe: <unk> USD<unk>, <unk> EUR<unk> usw.

Typ
simple string

Siehe auch
syminfo.basecurrency syminfo.ticker

syminfo.type

Der Typ des aktuellen Warencodes <unk>. Die möglichen Werte sind stock, futures, index, forex, crypto, fund, dr <unk>.

Typ
simple string

Siehe auch
syminfo.ticker

syminfo.mintick

Minimaler Wert der aktuellen Sorte. Template-Parameter in der "Pine-Language-Trading-Class-Repository" auf der FMZ, der Festplatte/Retest-SchnittstellePreiswährungspräzisionDieser Wert kann gesteuert werden.PreiswährungspräzisionSetzen Sie 2, dass der Preis zum Zeitpunkt des Handels bis in die zweite Ziffernzahl präzise ist und die kleinste Preisänderung in der Einheit 0.01 ◦ syminfo.mintick ist 0.01 ◦.

Typ
simple float

Siehe auch
syminfo.pointvalue

syminfo.pointvalue

Punktwert der aktuellen Ware

Typ
simple float

Siehe auch
syminfo.mintick

syminfo.timezone

Die Zeitzonen für die Wechsel der Hauptreihen der Diagramme. Für mögliche Werte siehe Timestamp.

Typ
simple string

Siehe auch
timestamp

barstate

barstate.islastconfirmedhistory

Wenn der Skript am Ende des Datensatzes auf der letzten K-Linie ausgeführt wird, oder wenn der Skript auf der K-Linie vor dem Ende des Datensatzes ausgeführt wird, wird true zurückgegeben, wenn der Markt geöffnet ist. Andernfalls wird false zurückgegeben.

Typ
series bool

Anmerkung
Der PineScript-Code dieser Variablen ermöglicht unterschiedliche Berechnungen für historische Datensätze und Echtzeitdaten.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew

barstate.isnew

Wenn das Skript derzeit auf der neuen k-Zeile berechnet wird, wird true zurückgegeben, andernfalls false.

Typ
series bool

Anmerkung
Der PineScript-Code dieser Variablen ermöglicht unterschiedliche Berechnungen für historische Datensätze und Echtzeitdaten.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isconfirmed barstate.islastconfirmedhistory

barstate.isfirst

Wenn die aktuelle k-Zeile die erste k-Zeile der k-Zeilgruppe ist, wird true zurückgegeben, andernfalls wird false zurückgegeben.

Typ
series bool

Anmerkung
Der PineScript-Code dieser Variablen ermöglicht unterschiedliche Berechnungen für historische Datensätze und Echtzeitdaten.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.islast

Wenn die aktuelle K-Zeile die letzte K-Zeile der Gruppe von K-Zeilen ist, wird true zurückgegeben, andernfalls wird false zurückgegeben.

Typ
series bool

Anmerkung
Der PineScript-Code dieser Variablen ermöglicht unterschiedliche Berechnungen für historische Datensätze und Echtzeitdaten.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
barstate.isfirst barstate.ishistory barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.ishistory

Wenn die aktuelle k-Linie die historische k-Linie ist, wird true zurückgegeben, andernfalls wird false zurückgegeben.

Typ
series bool

Anmerkung
Der PineScript-Code dieser Variablen ermöglicht unterschiedliche Berechnungen für historische Datensätze und Echtzeitdaten.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
barstate.isfirst barstate.islast barstate.isrealtime barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.isconfirmed

Wenn das Skript die letzte (schließende) Aktualisierung der aktuellen K-Zeile berechnet, wird true zurückgegeben. Das nächste Skript wird auf der neuen K-Zeilen-Daten berechnet.

Typ
series bool

Anmerkung
Der PineScript-Code dieser Variablen ermöglicht unterschiedliche Berechnungen für historische Datensätze und Echtzeitdaten.
Es wird nicht empfohlen, barstate.isconfirmed in Request.security-Ausdrücken zu verwenden. Es ist unvorhersehbar, was von einer Request.security-Anfrage erwartet wird.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
barstate.isfirst barstate.islast barstate.ishistory barstate.isrealtime barstate.isnew barstate.islastconfirmedhistory

barstate.isrealtime

Wenn die aktuelle K-Linie die Echtzeit-K-Linie ist, wird true zurückgegeben, andernfalls wird false zurückgegeben.

Typ
series bool

Anmerkung
Der PineScript-Code dieser Variablen ermöglicht unterschiedliche Berechnungen für historische Datensätze und Echtzeitdaten.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
barstate.isfirst barstate.islast barstate.ishistory barstate.isnew barstate.isconfirmed barstate.islastconfirmedhistory

barstate.time

Nicht vorläufig

ta

ta.accdist

Akkumulations-/Verteilungsindex

Typ
series float

ta.iii

Der Intensitätsindex in der Scheibe.

Typ
series float

Beispiel

pine
// Intraday Intensity Index plot(ta.iii, color=color.yellow) // the same on pine f_iii() => (2 * close - high - low) / ((high - low) * volume) plot(f_iii())

ta.nvi

Negative Massenwerte

Typ
series float

Beispiel

pine
// Negative Volume Index plot(ta.nvi, color=color.yellow) // the same on pine f_nvi() => float ta_nvi = 1.0 float prevNvi = (nz(ta_nvi[1], 0.0) == 0.0) ? 1.0: ta_nvi[1] if nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0 ta_nvi := prevNvi else ta_nvi := (volume < nz(volume[1], 0.0)) ? prevNvi + ((close - close[1]) / close[1]) * prevNvi : prevNvi result = ta_nvi plot(f_nvi())

ta.pvi

Die Massenindikatoren.

Typ
series float

Beispiel

pine
// Positive Volume Index plot(ta.pvi, color=color.yellow) // the same on pine f_pvi() => float ta_pvi = 1.0 float prevPvi = (nz(ta_pvi[1], 0.0) == 0.0) ? 1.0: ta_pvi[1] if nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0 ta_pvi := prevPvi else ta_pvi := (volume > nz(volume[1], 0.0)) ? prevPvi + ((close - close[1]) / close[1]) * prevPvi : prevPvi result = ta_pvi plot(f_pvi())

ta.obv

Energieflut-Indikatoren

Typ
series float

Beispiel

pine
// On Balance Volume plot(ta.obv, color=color.yellow) // the same on pine f_obv() => ta.cum(math.sign(ta.change(close)) * volume) plot(f_obv())

ta.pvt

Preis- und Werteentwicklung.

Typ
series float

Beispiel

pine
// Price-Volume Trend plot(ta.pvt, color=color.yellow) // the same on pine f_pvt() => ta.cum((ta.change(close) / close[1]) * volume) plot(f_pvt())

ta.wad

Die Luftwaffe hat die Luftwaffe in die Luft geschickt.

Typ
series float

Beispiel

pine
// Williams Accumulation/Distribution plot(ta.wad, color=color.yellow) // the same on pine f_wad() => trueHigh = math.max(high, close[1]) trueLow = math.min(low, close[1]) mom = ta.change(close) gain = (mom > 0) ? close - trueLow : (mom < 0) ? close - trueHigh : 0 ta.cum(gain) plot(f_wad())

ta.wvad

William-Variante-Ausscheidung

Typ
series float

Beispiel

pine
// Williams Variable Accumulation/Distribution plot(ta.wvad, color=color.yellow) // the same on pine f_wvad() => (close - open) / (high - low) * volume plot(f_wvad())

math

math.e

ist die Nennkonstante der Eulerzahl. Sie ist gleich 2,7182818284590452.

Typ
const float

Siehe auch
math.phi math.pi math.rphi

math.phi

ist die Nennkonstante der goldenen Division ≠ 1.6180339887498948 ≠

Typ
const float

Siehe auch
math.e math.pi math.rphi

math.pi

Ist die Nennkonstante der Achimedeschen Konstante. Sie ist gleich 3,1415926535897932.

Typ
const float

Siehe auch
math.e math.phi math.rphi

math.rphi

ist die Nennkonstante der Goldschnittquote. Sie ist gleich 0,6180339887498948.

Typ
const float

Siehe auch
math.e math.pi math.phi

strategy

strategy.equity

Aktuelle Interessen ((strategy.initial_capital + strategy.netprofit + strategy.openprofit))

Typ
series float

Siehe auch
strategy.netprofit strategy.openprofit strategy.position_size

strategy.position_size

Die Richtung und Größe der aktuellen Marktposition. Wenn der Wert > 0 ist, ist die Marktposition länger. Wenn der Wert < 0 ist, ist die Marktposition kürzer.

Typ
series float

Siehe auch
strategy.position_avg_price

strategy.position_avg_price

Die Marktposition ist der durchschnittliche Einstiegspreis. Wenn die Marktposition schwächer ist, wird NaN zurückgelassen.

veranschaulichen
Der Durchschnittspreis in FMZ PINE Script ist der Preis, der die Prozessgebühren beinhaltet. Zum Beispiel: Der Bestellpreis beträgt 8000, die Verkaufsrichtung, die Anzahl von 1 Hand ((einfach), der Durchschnittspreis nach dem Abschluss ist nicht 8000, weniger als 8000 ((die Kosten beinhalten die Prozessgebühren)).

Typ
series float

Siehe auch
strategy.position_size

strategy.long

Mehrsprachig

Typ
strategy_direction

Siehe auch
strategy.entry strategy.exit

strategy.short

Die Luft nach oben.

Typ
strategy_direction

Siehe auch
strategy.entry strategy.exit

strategy.closedtrades

Anzahl der geschlossenen Geschäfte innerhalb des gesamten Handelsintervalls.

Typ
series int

Siehe auch
strategy.position_size strategy.opentrades

strategy.opentrades

Die Anzahl der Geschäfte, die nicht geschlossen wurden oder weiterhin gehalten werden. Wenn keine, wird 0 angezeigt.

Typ
series int

Siehe auch
strategy.position_size

strategy.netprofit

Der Gesamtwert aller getätigten Transaktionen.

Typ
series float

Siehe auch
strategy.openprofit strategy.position_size strategy.grossprofit

strategy.grossprofit

Der Gesamtwert aller erfolgreichen Transaktionen.

Typ
series float

Siehe auch
strategy.netprofit

strategy.openprofit

Unerreichtes Verlust bei aktuell nicht abgeschlossenen Positionen.

Typ
series float

Siehe auch
strategy.netprofit strategy.position_size

strategy.direction.long

Das ist eine Strategie, die mehr tun kann.

Typ
const string

Siehe auch
strategy.risk.allow_entry_in

strategy.direction.short

Strategie, die nichts bringt

Typ
const string

Siehe auch
strategy.risk.allow_entry_in

strategy.direction.all

Das ist eine Strategie, die sowohl mehr als auch weniger zu tun erlaubt.

Typ
const string

Siehe auch
strategy.risk.allow_entry_in

dayofweek

dayofweek

Die Woche der aktuellen k-Zeit der Umtausch-Zeitzone.

Typ
series int

Anmerkung
Bitte beachten Sie, dass diese Variable den Tag anhand der Öffnungszeit der K-Linie zurückgibt. Für die Übernacht-Handelszeit (z. B. EURUSD, deren Montag-Handelszeit am Sonntag um 17:00 Uhr beginnt) kann der Wert niedriger sein als der Tag des Handelstages.
Sie können die Variablen dayofweek.sunday, dayofweek.monday, dayofweek.tuesday, dayofweek.wednesday, dayofweek.thursday, dayofweek.friday und dayofweek.saturday verwenden, um zu vergleichen.

Siehe auch
time dayofmonth

dayofweek.sunday

ist die Nennkonstante für die Rückgabewerte der Dayofweek-Funktion und die Werte der Dayofweek-Variablen.

Typ
const int

Siehe auch
dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.monday

ist die Nennkonstante für die Rückgabewerte der Dayofweek-Funktion und die Werte der Dayofweek-Variablen.

Typ
const int

Siehe auch
dayofweek.sunday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.tuesday

ist die Nennkonstante für die Rückgabewerte der Dayofweek-Funktion und die Werte der Dayofweek-Variablen.

Typ
const int

Siehe auch
dayofweek.sunday dayofweek.monday dayofweek.wednesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.wednesday

ist die Nennkonstante für die Rückgabewerte der Dayofweek-Funktion und die Werte der Dayofweek-Variablen.

Typ
const int

Siehe auch
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.thursday dayofweek.friday dayofweek.saturday

dayofweek.thursday

ist die Nennkonstante für die Rückgabewerte der Dayofweek-Funktion und die Werte der Dayofweek-Variablen.

Typ
const int

Siehe auch
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.friday dayofweek.saturday

dayofweek.friday

ist die Nennkonstante für die Rückgabewerte der Dayofweek-Funktion und die Werte der Dayofweek-Variablen.

Typ
const int

Siehe auch
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.saturday

dayofweek.saturday

ist die Nennkonstante für die Rückgabewerte der Dayofweek-Funktion und die Werte der Dayofweek-Variablen.

Typ
const int

Siehe auch
dayofweek.sunday dayofweek.monday dayofweek.tuesday dayofweek.wednesday dayofweek.thursday dayofweek.friday

hline

hline.style_dashed

ist die Nennkonstante der Punktlinie der Hline-Funktion.

Typ
hline_style

Siehe auch
hline.style_solid hline.style_dotted

hline.style_dotted

hline.style_dotted

ist die Nennkonstante des Punkt-Linien-Forms der Hline-Funktion.

Typ
hline_style

Siehe auch
hline.style_solid hline.style_dashed

hline.style_solid

ist die Nennkonstante des realzentralen Lineartyps der Hline-Funktion.

Typ
hline_style

Siehe auch
hline.style_dotted hline.style_dashed

barmerge

barmerge.gaps_on

Geben Sie die gewünschte Datenzusammenschlussstrategie. Die Daten werden mit den möglichen Abständen zusammengefasst.

Typ
barmerge_gaps

Siehe auch
request.security barmerge.gaps_off

barmerge.gaps_off

Die Daten werden kontinuierlich zusammengeführt, wobei alle Lücken mit den vorherigen aktuellen Werten gefüllt werden.

Typ
barmerge_gaps

Siehe auch
request.security barmerge.gaps_on

barmerge.lookahead_on

Die Strategie, die die Datenposition der Fusion angefordert. Die angeforderte Strichkarte wird mit der aktuellen Strichkarte nach der Öffnungszeit der K-Linie kombiniert. Diese Kombinierungsstrategie kann zu negativen Auswirkungen auf die Berechnung der Datenverlaufgeschichte aus den zukünftigen Zeilen führen.

Typ
barmerge_lookahead

Siehe auch
request.security barmerge.lookahead_off

barmerge.lookahead_off

Die Strategie, die den Ort der gewünschten Daten kombiniert. Die gewünschten Strippen werden mit den aktuellen Strippen kombiniert, entsprechend der K-Linien-Schließzeit. Diese Kombinationsstrategie verbietet die Auswirkungen der Berechnungsgeschichte von Daten, die von den zukünftigen Zeilen abgerufen werden.

Typ
barmerge_lookahead

Siehe auch
request.security barmerge.lookahead_on

others

hl2

ist die Schnelltaste für ((höchster Preis + niedriger Preis) / 2

Typ
series float

Siehe auch
open high low close volume time hlc3 hlcc4 ohlc4

hlc3

ist die Schnelltaste für den (höchsten Preis + niedrigsten Preis + Abschlusspreis) / 3

Typ
series float

Siehe auch
open high low close volume time hl2 hlcc4 ohlc4

hlcc4

ist die Tastenkombination (Hoch + Niedrig + Ende + Ende) /4

Typ
series float

Siehe auch
open high low close volume time hl2 hlc3 ohlc4

ohlc4

ist die Taste für: (Eröffnungspreis + Höchstpreis + Niedrigstpreis + Schließpreis) / 4

Typ
series float

Siehe auch
open high low close volume time hl2 hlc3 hlcc4

na

Double.NaN-Werte (nicht numerisch) <unk>

Typ
simple na

Beispiel

pine
// na plot(bar_index < 10 ? na : close) // CORRECT plot(close == na ? close[1] : close) // INCORRECT! plot(na(close) ? close[1] : close) // CORRECT

Anmerkung
Wenn Sie überprüfen möchten, ob ein bestimmter Wert NaN ist, verwenden Sie bitte die eingebaute Funktion na.

Siehe auch
na

bar_index

Der aktuelle Preisstab-Index beginnt mit der Null und der erste Satz ist mit 0 angegeben.

Typ
series int

Beispiel

pine
// bar_index plot(bar_index) plot(bar_index > 5000 ? close : 0)

Anmerkung
Bitte beachten Sie, dass bar_index die n-Variablen in Version 4 ersetzt hat.
Bitte beachten Sie, dass der K-Index ab der ersten historischen K-Linie als 0 ≠ berechnet wird.
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
barstate.isfirst barstate.islast barstate.isrealtime

last_bar_index

Der Index der letzten K-Linie des Diagramms. Die K-Index beginnt mit der ersten K-Linie als Null.

Typ
series int

Beispiel

strategy("Mark Last X Bars For Backtesting", overlay = true, calc_on_every_tick = true) lastBarsFilterInput = input.int(100, "Bars Count:") // Here, we store the 'last_bar_index' value that is known from the beginning of the script's calculation. // The 'last_bar_index' will change when new real-time bars appear, so we declare 'lastbar' with the 'var' keyword. var lastbar = last_bar_index // Check if the current bar_index is 'lastBarsFilterInput' removed from the last bar on the chart, or the chart is traded in real-time. allowedToTrade = (lastbar - bar_index <= lastBarsFilterInput) or barstate.isrealtime bgcolor(allowedToTrade ? color.new(color.green, 80) : na)

Rückgabewert
Der letzte historische K-Index des Schließens oder der Echtzeit-K-Index des Öffnens.

Anmerkung
Bitte beachten Sie, dass die Verwendung dieser Variablen zu einer Neubilderung des Indikators führen kann.

Siehe auch
bar_index last_bar_time barstate.ishistory barstate.isrealtime

time

Die aktuelle K-Zeit im UNIX-Format. Das sind die Millisekunden seit dem 1. Januar 1970 um 00:00:00 UTC.

timenow

Die aktuelle UNIX-Zeit. Das sind die Millisekunden seit dem 1. Januar 1970 00: 00:00 UTC.

Typ
series int

Anmerkung
Bitte beachten Sie, dass die Verwendung dieser Variable/Funktion dazu führen kann, dass der Indikator neu abgebildet wird.

Siehe auch
timestamp time dayofmonth dayofweek

Typ
series int

Anmerkung
Bitte beachten Sie, dass diese Variable die Zeitmenge zurückgibt, je nachdem, wann die K-Linie geöffnet ist. Für die Übernacht-Trading-Zeit (z. B. EURUSD, dessen Montagszeit am Sonntag um 17:00 Uhr beginnt) kann diese Variable also die Zeit vor dem angegebenen Datum des Handelstages zurückgeben. So kann die Dayofmonth (Time) -Variable auf EURUSD 1 unter dem Datum des Handelstages liegen, da die K-Linie des aktuellen Datums tatsächlich am Vortag geöffnet war.

Siehe auch
time dayofmonth dayofweek

year

Die aktuelle Jahresk-Linie in der Zeitzone des Umtauschs.

Typ
series int

Anmerkung
Bitte beachten Sie, dass diese Variable das Jahr anhand der Öffnungszeiten der K-Linie zurückgibt. Für die Übernacht-Handelszeit (z. B. EURUSD, deren Montag-Handelszeit am Sonntag um 17:00 Uhr beginnt) kann der Wert 1 niedriger sein als das Jahr des Handelstages.

Siehe auch
year time month weekofyear dayofmonth dayofweek hour minute second

month

Die aktuelle Mondlinie k in der Zeitzone der Börse.

Typ
series int

Anmerkung
Bitte beachten Sie, dass diese Variable den Monat anhand der Öffnungszeit der K-Linie zurückgibt. Für die Übernacht-Handelszeit (z. B. EURUSD, deren Montag-Handelszeit am Sonntag um 17:00 Uhr beginnt) kann dieser Wert 1 niedriger sein als der Monat des Handelstages.

Siehe auch
month time year weekofyear dayofmonth dayofweek hour minute second

hour

Die aktuelle Stunde in der Zeitzone der Börse k Line <unk>

Typ
series int

Siehe auch
hour time year month weekofyear dayofmonth dayofweek minute second

minute

Die aktuelle Minute in der Zeitzone der Börse k Line.

Typ
series int

Siehe auch
minute time year month weekofyear dayofmonth dayofweek hour second

second

Die aktuelle Sekundenlinie k in der Zeitzone der Börse.

Typ
series int

Siehe auch
second time year month weekofyear dayofmonth dayofweek hour minute

open

Aktuelle Börsenpreise:

Typ
series float

Anmerkung
Die Quadrat-Operatoren sind verfügbar.[] auf den vorherigen Wert zuzugreifen, z.B. <unk> open[1],open[2]。

Siehe auch
high low close volume time hl2 hlc3 hlcc4 ohlc4

high

Derzeit höchste Preis.

Typ
series float

Anmerkung
Die Quadrat-Operatoren sind verfügbar.[] auf den vorherigen Wert, z. B. ◦ high[1],high[2]。

Siehe auch
open low close volume time hl2 hlc3 hlcc4 ohlc4

low

Derzeitige Mindestpreise.

Typ
series float

Anmerkung
Die Quadrat-Operatoren sind verfügbar.[] auf einen früheren Wert zuzugreifen, z. B. <unk> low[1],low[2]。

Siehe auch
open high close volume time hl2 hlc3 hlcc4 ohlc4

close

Der Schlusskurs der aktuellen K-Linie oder der letzte Kurs der noch nicht abgeschlossenen K-Linie.

Typ
series float

Anmerkung
Die Quadrat-Operatoren sind verfügbar.[] auf den vorherigen Wert zuzugreifen, z.B. <unk> close[1],close[2]。

Siehe auch
open high low volume time hl2 hlc3 hlcc4 ohlc4

volume

Derzeitige Verkehrsvolumen der K-Linie.

Typ
series float

Anmerkung
Die Quadrat-Operatoren sind verfügbar.[] auf einen früheren Wert, z. B. ◦ volume[1],volume[2]。

Siehe auch
open high low close time hl2 hlc3 hlcc4 ohlc4

weekofyear

Die Anzahl der Wochen in der aktuellen k-Zeitlinie der Umtauschzeitzone.

Typ
series int

Anmerkung
Bitte beachten Sie, dass diese Variable die Woche anhand der Öffnungszeit der K-Linie zurückgibt. Für die Übernacht-Handelszeit (z. B. EURUSD, deren Montag-Handelszeit am Sonntag um 17:00 Uhr beginnt) kann dieser Wert niedriger sein als der der Woche am Handelstag.

Siehe auch
weekofyear time year month dayofmonth dayofweek hour minute second

dayofmonth

Datum der aktuellen k-Zeit in der Umtausch-Zeitzone.

Typ
series int

Anmerkung
Bitte beachten Sie, dass diese Variable den Tag anhand der Öffnungszeit der K-Linie zurückgibt. Für die Übernacht-Handelszeit (z. B. EURUSD, deren Montag-Handelszeit am Sonntag um 17:00 Uhr beginnt) kann der Wert niedriger sein als der Tag des Handelstages.

Siehe auch
time dayofweek

Related Recommendations
Comment
All comments (24)

    你好,我想用同一账户资金然后开多个实盘交易多品种,有持仓的时候其他实盘无法开仓,这个可以解决吗

    4 months ago

    您好,PINE语言只是单品种、单账户策略,您这个需求只能用Javascript/python/c++ 编写策略。

    4 months ago

    好吧,写了Java scripts和python的效果却不一样。。。。

    4 months ago

    PINE只能单品种、单账户。可以多用几个账户隔离运行。

    4 months ago

    好的,只能这样了谢谢

    4 months ago

    不客气。

    4 months ago

    想要币安u合约多个交易对同时运行怎么搞

    3 years ago

    PINE语言只能做单品种策略,多品种策略最好还是用python , javascript , c++编写设计。

    3 years ago

    请教下,pine能多交易对吗? 也是和JS一样遍历交易对吗??谢谢。

    4 years ago

    您好,暂时PINE语言策略只能做单品种。

    4 years ago

    以后会考虑多品种吗?收盘价每个品种遍历就行

    4 years ago

    这个多品种的架构问题不好解决,因为每个交易所接口不一样,对接口频率限定也不一样,会产生很多问题。

    4 years ago

    感觉最好能和JS混编,JS可以更好的适应各种交易方式。

    4 years ago

    好的,感谢云总提出建议,这边报下这个需求。

    4 years ago

    好的,谢谢梦大。

    4 years ago

    謝謝提供詳細的文檔

    4 years ago

    不客气,感谢您的支持。文档还会继续完善。

    4 years ago

    大佬!这 pine script 怎么在平台上使用 okex 的模拟盘?

    4 years ago

    用不了okx模拟盘。。。。。[捂脸]

    4 years ago

    嗯,是的,OKX比较特殊,他们的模拟环境和实盘环境是一样的地址,只是在其它地方做了区别。所以没办法用切换基地址,去切换到模拟盘。

    4 years ago

    PINE模版类库,参数上可以设置切换交易所基地址。文档开头的:PINE语言交易类库模版参数。

    4 years ago

    这等于是 tradingview平台的策略直接copy到发明者平台就可以使用了吧!

    4 years ago

    是的。

    4 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)