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:
- chart.is_heikinashi
- chart.is_renko
- chart.is_linebreak
- chart.is_kagi
- chart.is_pnf
- chart.is_range
- chart.is_standard
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_time i chart.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.