Lepsza współpraca Pine Script ™ z wykresami

Jul 12, 2022

Nowe funkcje wbudowane w przestrzeni nazw chart zapewniają teraz skryptom większą widoczność we właściwościach wykresu. Wraz z nimi wprowadzamy również nowy rodzaj zachowania dla skryptów Pine, który pozwala im przeliczać i przerysowywać tylko na widocznych słupkach, automatycznie dostosowując się, gdy inwestorzy przewijają lub powiększają swój wykres.

WŁAŚCIWOŚCI WYKRESU

Nowa wbudowana zmienna chart.bg_color zwraca kolor tła wykresu. Możesz go użyć, aby dostosować schemat kolorów swojego skryptu do kontekstu diagramu. Towarzyszący mu chart.fg_color zwraca kolor, który zapewni optymalny kontrast z kolorem tła wykresu, niezależnie od tego, jaki jest.

Kolejna grupa nowych wbudowanych zmiennych logicznych umożliwia zdefiniowanie typu wykresu, na którym działa skrypt:

Ostatnia zmienna zwróci wartość true dla wszystkich standardowych typów wykresów, które zwracają niesyntetyczną cenę close: słupki, świece japońskie, puste świece, kolumny, linia, obszar lub linia bazowa.

WIDOCZNE SŁUPKI I DYNAMICZNE PRZELICZENIE

TNowe wbudowane zmienne chart.left_visible_bar_timechart.right_visible_bar_time zwracają czas otwarcia time skrajnych lewych i prawych widocznych słupków wykresu. Gdy użytkownik przewija lub powiększa swój wykres, powodując zmianę zakresu widocznych słupków, skrypty używające dowolnej z tych nowych wbudowanych zmiennych zostaną automatycznie wykonane ponownie, aby obliczenia i wizualizacje mogły dostosować się do nowego kontekstu. Otwiera to ogromne możliwości dla zupełnie nowej gamy skryptów, które dynamicznie dostosowują się do zmian w zakresie widocznych słupków.

Ten przykład rysuje strzałkę od otwarcia (open) pierwszego widocznego słupka do zamknięcia (close) zamknięcia ostatniego i pokazuje zysk/stratę dla tego zakresu:

//@version=5
indicator("Chart gain/loss", "", true)

// Save the `open` of the leftmost visible bar.
var float chartOpen = na
if time == chart.left_visible_bar_time
    chartOpen := open
else if time == chart.right_visible_bar_time
    // Run the following code on the chart's rightmost visible bar.
    color arrowColor = close > chartOpen ? color.lime : color.fuchsia
    // Draw arrow once, then modify it.
    var line arrow = line.new(na, na, na, na, xloc.bar_time, extend.none, na, line.style_arrow_right, 3)
    line.set_xy1(arrow, chart.left_visible_bar_time, chartOpen)
    line.set_xy2(arrow, chart.right_visible_bar_time, close)
    line.set_color(arrow, arrowColor)
    // Draw percentage label once, then modify it.
    var label percentage = label.new(na, na, na, xloc.bar_time, yloc.price, #00000000, label.style_label_down, size = size.huge)
    int midTime = int(math.avg(chart.left_visible_bar_time, chart.right_visible_bar_time))
    label.set_xy(percentage, midTime, math.avg(chartOpen, close))
    label.set_text(percentage, str.tostring((close - chartOpen) / chartOpen * 100, format.percent))
    label.set_textcolor(percentage, arrowColor)

Zwróć uwagę, że ponieważ skrypty korzystające z tej funkcji będą wykonywać się ponownie częściej niż zwykłe, należy zachować ostrożność, aby używać wydajnego kodu i utrzymać jasność obliczeń, jeśli chcesz zachować zwykłą responsywność wykresów TradingView.

Opublikowaliśmy wskaźnik Chart VWAP jako przykład wykorzystania tej nowej funkcji. Automatycznie zakotwicza się na widocznych słupkach:

Konto PineCoders opublikowało również bibliotekę VisibleChart, aby pomóc programistom Pine Script™ w pełni wykorzystywać nową funkcję.

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

Mamy nadzieję, że te bardzo pożądane funkcje okażą się przydatne. Prosimy o dalsze przesyłanie nam swoich opinii i sugestii dotyczących ulepszeń. Tworzymy TradingView dla Ciebie i zawsze chętnie Cię wysłuchamy.

Look first Then leap

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