Die Method-Syntax ist nun für Pine Script® erhältlich

Mar 7, 2023

Die Punktnotation, die für Extensionsmethoden in anderen Sprachen verwendet wird, ist nun auch für Pine Script® erhältlich. Programmierer können diese neue Syntax auf zwei unterschiedliche Weisen nutzen:

  • Mit benutzerdefinierten Methoden, die als Sonderfunktionen mit dem neuen Method Keyword angeführt werden.
  • Mit den eingebauten Funktionen aus den Namensräumen der Array, Box, Label, Linie, Linefill, Matrix und Tabelle Typen, wenn der erste Parameter die ID eines Objekts von diesem Typ ist.

Schauen wir uns einmal ein einfaches Beispiel an, bei dem wir den Durchschnitt der Tiefs für ein Würfelfenster bestehend aus steigenden Balken erstellen:

//@version=5
indicator("Long stop", "", true)
int lengthInput = input(20)
var pricesArray = array.new<float>(lengthInput)

method maintainQueue(array<float> srcArray, float value) =>
    // Einen neuen Wert ans Ende des Arrays anhängen.
    srcArray.push(value)
    // Den alten Wert von dem Anfang des Arrays entfernen.
    srcArray.shift()

if close > open
    // Die `niedrig` Werte von steigenden Balken mitverfolgen.
    pricesArray.maintainQueue(low)

plot(pricesArray.avg(), "Stop")

Unsere maintainQueue() Methode verhält sich sehr ähnlich zu einer regulären Funktion, und kann als solche verwendet werden, aber das Method Keyword kann auch mit einer Punktnotation verwendet werden, gemäß einer Variable aus dem ersten Typ des Parameters. Wenn wir das tun, dann lassen wir das erste Argument aus dem Method-Call weg, wie bei pricesArray.maintainQueue(low).

Nehmen Sie auch zur Kenntnis, wie wir eine Methodennotation mit Funktionen aus dem Array Namensraum wie in srcArray.push() und srcArray.shift() innerhalb des Methodencodes, und bei pricesArray.avg() in der letzten Zeile des Beispiels verwenden.

Sie können weitere Informationen über dieses neue Feature auf der Benutzerhandbuchseite über Methoden finden.

Wenn Sie die Methoden in Aktion sehen möchten, dann schauen Sie sich einmal den aktualisierten Code für unseren Lückenindikator an, der sowohl eingebaute und benutzerdefinierte Methoden verwendet, um Chartlücken mit Feldern hervorzuheben:

Des Weiteren haben wir auch den Code in unserer ZigZag-Bibliothek aktualisiert, damit er nun eingebaute und benutzerdefinierte Methoden verwenden kann:

ZigZag von TradingView

Sehen Sie sich einmal die Objekte und Methoden an, die in den folgenden Scripts von einigen unserer PineCoders verwendet werden:

Flare von Fikira

Recursive Zigzag [Trendoscope] von HeWhoMustNotBeNamed

Recursive Auto-Pitchfork [Trendoscope] von HeWhoMustNotBeNamed

Wenn Sie gerne auf dem Laufenden über die neuesten Features bei Pine Script® bleiben möchten, dann behalten Sie die Versionshinweise im Benutzerhandbuch im Auge. Das PineCoders Konto überträgt auch die Updates in seiner Squawk Box auf Telegram, Twitter, und in dem Pine Script® Q&A öffentlichen Chat auf TradingView.

Wir hoffen, dass Ihnen dieses oft-angefragte Feature nützlich sein wird. Senden Sie uns bitte auch weiter Ihr Feedback und Verbesserungsvorschläge ein. Wir entwickeln TradingView für Sie, und freuen uns immer, von Ihnen zu hören.

Look first Then leap

TradingView wurde für Sie entwickelt. Stellen Sie sicher, dass Sie unsere fantastischen Features optimal nutzen
Chart öffnen