Downloading...

Pine obsługuje teraz wypełnienia między liniami

Jan 11, 2022

Programiści Pine nie bez powodu uwielbiają mieć szeroki wachlarz możliwości podczas analizy i wyświetlania obliczeń na wykresach. Sposób, w jaki przedstawiamy informacje, jest tak samo ważny, jak informacja sama w sobie, dobrze zaprojektowane wizualizacje ułatwiają bowiem korzystanie ze wskaźników.

Nasz najnowszy dodatek do zestawu narzędzi Pine umożliwia wypełnienie przestrzeni między dwoma rysunkami liniowymi za pomocą nowej funkcji „wypełniania linii” oraz funkcji towarzyszących.

Podstawy są proste: aby wypełnić przestrzeń między dwoma rysunkami liniowymi, wywołaj funkcję linefill.new() z ich ID i kolorem. Każda para dwóch linii może mieć między sobą tylko jedno wypełnienie, więc kolejne wywołania funkcji linefill.new() na tej samej parze wierszy zastąpią poprzednie wypełnienie nowym.

Zachowanie wypełnień linii zależy od linii, do których są dołączone. Jeśli obie linie rozciągają się w tym samym kierunku, wypełnienie linii będzie podążać za ich przedłużeniami, jak widać na poniższym skrypcie.

W poniższym przykładzie nasz wskaźnik rysuje dwie linie łączące ostatnie górne i dolne Punkty Pivot’a na wykresie. Przedłużamy linie w prawo, przewidując krótkoterminowy ruch instrumentu na wykresie i wypełniamy przestrzeń między liniami, aby poprawić widoczność kanału, który tworzą:

//@version=5
indicator("Channel", overlay = true)

LEN_LEFT = 15
LEN_RIGHT = 5
pH = ta.pivothigh(LEN_LEFT, LEN_RIGHT)
pL = ta.pivotlow(LEN_LEFT, LEN_RIGHT)

// Bar indices of pivot points
pH_x1 = ta.valuewhen(pH, bar_index, 1) - LEN_RIGHT
pH_x2 = ta.valuewhen(pH, bar_index, 0) - LEN_RIGHT
pL_x1 = ta.valuewhen(pL, bar_index, 1) - LEN_RIGHT
pL_x2 = ta.valuewhen(pL, bar_index, 0) - LEN_RIGHT
// Price values of pivot points
pH_y1 = ta.valuewhen(pH, pH, 1)
pH_y2 = ta.valuewhen(pH, pH, 0)
pL_y1 = ta.valuewhen(pL, pL, 1)
pL_y2 = ta.valuewhen(pL, pL, 0)

if barstate.islastconfirmedhistory
    // Lines
    lH = line.new(pH_x1, pH_y1, pH_x2, pH_y2, extend = extend.right)
    lL = line.new(pL_x1, pL_y1, pL_x2, pL_y2, extend = extend.right)
    // Fill
    fillColor = switch
        pH_y2 > pH_y1 and pL_y2 > pL_y1 => color.green
        pH_y2 < pH_y1 and pL_y2 < pL_y1 => color.red
        => color.silver
    linefill.new(lH, lL, color.new(fillColor, 90))

Więcej o funkcji wypełniania linii możesz dowiedzieć się w Instrukcji: po prostu wpisz „linefill” w polu wyszukiwania, aby wyświetlić wszystkie funkcje powiązane z tym tematem. Jeśli wolisz natomiast uczyć się od najlepszych praktyków, poniższe przykłady pokazują, w jaki sposób niektórzy z naszych PineCoders wykorzystali funkcję wypełnienia linii w swojej pracy:

Gann Fan od LonesomeThe Blue

Average Lines od fikira

Auto Fib Time Zones oraz Trend-Based Fib Time od DGT (…by dgtrd)

Aby być na bieżąco z nowymi funkcjami Pine, zapoznaj się z Publikacjami w naszym Podręczniku. Nasi PineCoders transmitują również aktualizacje na kanale Squawk Box w komunikatorze Telegram, na Twitterze, oraz na publicznym czacie Pine Script na TradingView.

Mamy nadzieję, że te wyczekiwane funkcje okażą się przydatne. Prosimy o przekazywanie nam swoich opinii i sugestii dotyczących dostępnych i nadchodzących ulepszeń. Tworzymy TradingView dla Ciebie i zawsze jesteśmy chętni do kontaktu.

Look first Then leap

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