Składnia metody jest dostępna w Pine Script®

Mar 7, 2023

Notacja kropkowa używana w metodach rozszerzających w innych językach jest teraz dostępna w Pine Script®. Programiści mogą używać tej nowej składni na dwa różne sposoby:

  • Z metodami zdefiniowanymi przez użytkownika, które są funkcjami specjalnymi zadeklarowanymi za pomocą słowa kluczowego method.
  • Z wbudowanymi funkcjami z przestrzeni nazw typu array, box, label, line, linefill, matrix oraz table, gdy pierwszym parametrem jest identyfikator obiektu tego typu.

Rozważmy prosty przykład, w którym obliczamy średnią wartość low dla ruchomego okna słupków w górę:

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

method maintainQueue(array<float> srcArray, float value) =>
    // Append a new value to the end of the array.
    srcArray.push(value)
    // Remove the oldest value from the beginning of the array.
    srcArray.shift()

if close > open
    // Track the `low` values of up bars.
    pricesArray.maintainQueue(low)

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

Nasza maintainQueue() jest bardzo podobna do zwykłej funkcji i może być używana jako taka, ale method pozwala również na użycie go z notacją kropkową po zmiennej typu pierwszego parametru. Kiedy to robimy, pomijamy pierwszy argument wywołania metody, jak w pricesArray.maintainQueue(low).

Zwróć też uwagę, jak używamy notacji metody z funkcjami z rodziny array przestrzeń nazw w wywołaniach, takich jak srcArray.push() i srcArray.shift() w kodzie metody i pricesArray.avg() w ostatnim wierszu przykładu.

Więcej informacji na temat tej nowej funkcji znajdziesz na naszej stronie Podręcznika Użytkownika dotyczącej metod.

Aby zobaczyć metody w praktyce, możesz przejrzeć zaktualizowany kod naszego wbudowanego wskaźnika luk, który wykorzystuje zarówno wbudowane, jak i zdefiniowane przez użytkownika metody do zaznaczania luk na wykresie za pomocą ramek:

Dodatkowo zaktualizowaliśmy kod naszej biblioteki ZigZag, aby korzystać z wbudowanych i zdefiniowanych przez użytkownika metod:

ZigZag od TradingView

Zobacz obiekty i metody używane w poniższych skryptach przez niektórych naszych programistów PineCoders:

Flare od Fikira

Recursive Zigzag [Trendoscope] od HeWhoMustNotBeNamed

Recursive Auto-Pitchfork [Trendoscope] od HeWhoMustNotBeNamed

Aby być na bieżąco z nowymi funkcjami Pine Script®, miej oko na informacje o wydaniu Podręcznika Użytkownika. Konto PineCoders transmituje również aktualizacje ze swojego Squawk Box’a na Telegramie, konta na Twitterze oraz publicznego czatu Pine Script® Q&A na TradingView.

Mamy nadzieję, że ta bardzo pożądana funkcja okaże się przydatna. Prosimy o przesyłanie nam swoich opinii i sugestii dotyczących ulepszeń. Tworzymy TradingView dla Ciebie i zawsze jesteśmy chętni wysłuchać Twojego zdania.

Look first Then leap

TradingView jest stworzony dla Ciebie. Upewnij się, że w pełni wykorzystujesz nasze niesamowite funkcje
Otwórz wykres