Wstęp

Bez odpowiednich narzędzi handlowych nie jest możliwe przeprowadzenie skutecznej analizy technicznej. Solidna strategia handlowa pomoże Ci uniknąć typowych błędów, usprawni zarządzanie ryzykiem oraz zwiększy Twoją zdolność identyfikowania i wykorzystywania okazji.

Dla wielu TradingView jest najlepszą platformą do tworzenia wykresów. Potężna aplikacja internetowa HTML5 oferuje wiele narzędzi do analizy technicznej i jest używana przez miliony użytkowników do śledzenia ruchów na rynkach akcji, Forex i kryptowalut.

TradingView ma wiele zaawansowanych funkcji: pozwala nam śledzić aktywa na wielu platformach handlowych i dzielić się pomysłami handlowymi w mediach społecznościowych. W tym artykule omówimy opcje dostosowywania. Będziemy używać PineScript, własnego języka programowania TradingView, który daje nam kontrolę nad układem naszych wykresów.

Zacznijmy!


Co to jest skrypt sosnowy?

Pine Script to język skryptowy używany do dostosowywania wykresów TradingView. Platforma zapewnia już wiele funkcji w tym zakresie, ale Pine Script oferuje kilka dodatkowych opcji. Niezależnie od tego, czy chcesz zmienić kolory świeczników, czy przetestować nową strategię, Pine Editor umożliwia dostosowywanie wykresów w czasie rzeczywistym tak, jak lubisz.

Kod ma bardzo solidną dokumentację, dlatego aby uzyskać więcej informacji, zapoznaj się z instrukcją obsługi. Naszym celem w tym samouczku jest omówienie niektórych podstaw i przedstawienie wskaźników przydatnych w handlu kryptowalutami.


Konfigurowanie

Rozpoczęcie korzystania z Pine Script jest bardzo proste. Cały kod działa na serwerach TradingView, dzięki czemu możemy uzyskać dostęp do edytora i rozwijać nasze skrypty z poziomu przeglądarki – nie jest wymagane żadne dodatkowe pobieranie ani konfiguracja.

W tym samouczku będziemy używać pary walutowej Bitcoin/Binance USD (BTCBUSD). Jeśli nie masz jeszcze konta, utwórz je za darmo (istnieje również opcja subskrypcji Pro, ale nie jest ona konieczna w przypadku tego tutoriala). 

Kliknij ten link, a zobaczysz taki wykres:


Gráfico BTCBUSD no TradingView

Twoje będą prawdopodobnie bardziej aktualne.


Tutaj użyjemy w pełni funkcjonalnego trybu wykresu – kliknij przycisk, aby uzyskać do niego dostęp. W tym trybie mamy między innymi bardziej szczegółowy widok, narzędzia do rysowania i opcje wykreślania linii trendu.


Gráfico completo no TradingView para BTCBUSD

Kompletny wykres. Możesz dostosować okres, klikając opcje nad kartami podświetlonymi na obrazku.


Nie będziemy omawiać, jak korzystać z różnych dostępnych narzędzi, ale jeśli korzystasz z analizy technicznej, zalecamy zapoznanie się z nimi. W lewym dolnym rogu (pokazanym na obrazku) zobaczysz kilka różnych zakładek – kliknij Edytor Pine.


Redaktor Pine


captura de tela do Pine Editor


W tym edytorze dzieje się magia. Wprowadźmy instrukcje. Kliknij opcję Dodaj do wykresu, aby wyświetlić powyższe adnotacje. Pamiętaj, że sytuacja może się skomplikować, jeśli umieścimy wiele adnotacji na raz, dlatego usuniemy je w kolejnych przykładach (kliknij wykres prawym przyciskiem myszy > Usuń wskaźniki).

Jak widzimy, mamy już kilka linijek kodu. Kliknijmy Dodaj do wykresu i zobaczmy, co się stanie.


Adicionando o primeiro script ao gráfico do TradingView


Pod oryginałem zostanie dodana druga grafika. Nowy wykres wyświetla teraz te same dane. Najedź kursorem na Mój skrypt i kliknij krzyżyk, aby go usunąć. Zagłębmy się teraz w kod.

badanie("Mój skrypt")

Ta pierwsza linia służy do konfigurowania naszych adnotacji. Musimy jedynie zdefiniować nazwę dla wskaźnika (w tym przypadku „Mój Skrypt”), ale możemy też dodać kilka opcjonalnych parametrów. Jedną z nich jest nakładka, która instruuje TradingView wstawienie wskaźnika do istniejącego wykresu (zamiast korzystania z nowego segmentu). Jak widać w pierwszym przykładzie, wartością domyślną jest false. Parametr overlay = true dodaje wskaźnik do istniejącego wykresu, ale nie będziemy go teraz używać.

fabuła(zamknięta)

Ta linia stanowi instrukcję wykreślenia ceny zamknięcia Bitcoina. Parametr plot daje nam po prostu wykres liniowy, ale możliwe jest również wyświetlenie świec i słupków, jak się wkrótce przekonamy. 

Teraz spróbujmy wykonać następujące czynności:

//@version=4 study("Mój skrypt", overlay=true) plot(open, color=color.purple)

Po dodaniu tego parametru naszym oczom ukaże się drugi wykres (który wygląda jak oryginał, tyle że przesunięty w prawo). Jedyne, co zrobiliśmy, to wykreśliliśmy cenę otwarcia. Ponieważ otwarcie bieżącego dnia jest zamknięciem dnia poprzedniego, logiczne jest, że mają one identyczny format.

OK! Pozbądźmy się dotychczasowych notatek (pamiętajmy, robimy to klikając prawym przyciskiem myszy i wybierając Usuń wskaźniki). Najedź kursorem na Bitcoin/BUSD i kliknij Ukryj, aby wyczyścić również bieżący wykres.

Wielu traderów preferuje wykresy świecowe, ponieważ dostarczają nam więcej informacji niż prosty wykres, taki jak ten, który właśnie stworzyliśmy. Dodamy je dalej. 

//@version=4 study("Mój skrypt", overlay=true) plotcandle(otwarty, wysoki, niski, zamknięty)

To dobry początek, warto dodać trochę kolorów. Generalnie świec czerwonych używamy, gdy cena otwarcia jest wyższa od ceny zamknięcia danego okresu, oraz świec zielonych, gdy cena zamknięcia jest wyższa od ceny otwarcia. Dodajmy linię poniżej funkcji plotcandle():

//@version=4 study("Mój skrypt", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close)

Funkcja ta analizuje każdą świecę i sprawdza, czy wartość otwarcia jest większa lub równa wartości zamknięcia. Jeśli tak jest, oznacza to, że ceny spadły w tym okresie, więc świeca zmieni kolor na czerwony. W przeciwnym razie będzie zielono. Zmodyfikuj funkcję plotcandle(), aby ustawić ten schemat kolorów na:

//@version=4 study("Mój skrypt", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close, color=colors)

Usuń obecne wskaźniki, jeśli jeszcze tego nie zrobiłeś i dodaj ten do wykresu. Teraz powinniśmy mieć coś podobnego do zwykłego wykresu świecowego.


Gráfico de velas no TradingView

Doskonały!


Wykreślanie średnich kroczących (MM)

Przechodzimy przez niektóre podstawy. Narysujmy nasz pierwszy niestandardowy wskaźnik – wykładniczą średnią kroczącą lub EMA. Jest to cenne narzędzie, ponieważ pozwala nam odfiltrować wszelkie zakłócenia rynkowe i wygładzić akcję cenową. 

EMA różni się nieco od prostej średniej kroczącej (SMA) tym, że kładzie większy nacisk na najnowsze dane. Zwykle reaguje bardziej na nagłe ruchy i często jest używany w strategiach krótkoterminowych (takich jak na przykład handel dzienny).


Prosta średnia ruchoma (SMA)

Narysujmy także prostą średnią ruchomą (SMA), abyśmy mogli później porównać obie wartości. Dodaj tę linię do swojego skryptu:

wykres(sma(zamknij, 10))

Ta wartość reprezentuje średnią z ostatnich dziesięciu dni. Dostosuj liczbę w nawiasach, aby zobaczyć, jak zmienia się krzywa, biorąc pod uwagę różne okresy.


Média móvel simples com base nos 10 dias anteriores

MMS-y na podstawie ostatnich dziesięciu dni.


Wykładnicza średnia krocząca (EMA)

EMA jest nieco bardziej skomplikowana, ale nie martw się. Przyjrzyjmy się najpierw formule:

EMA = (Zamknięcie – EMA z poprzedniego dnia) * Pomnożone – EMA z poprzedniego dnia

Co to oznacza? Dla każdego dnia obliczamy nową średnią ruchomą na podstawie średniej z poprzedniego dnia. Mnożnik uwzględnia „wagę” ostatniego okresu i oblicza ją ze wzoru:

Mnożnik = 2 / (okres EMA + 1)

Podobnie jak w przypadku prostych średnich kroczących, musimy określić czas trwania EMA. Składniowo funkcja wykreślania EMA jest podobna do MMS. Narysuj go obok wiadomości MMS, aby móc porównać obie wiadomości:

//@version=4 study("Mój skrypt", overlay=true) plot(sma(close, 10)) plot(ema(close, 10))


MME e MMS em um gráfico do TradingView

Możemy zauważyć niewielką różnicę pomiędzy obydwoma typami średnich kroczących.


➠ Myślisz o inwestycji w kryptowaluty? Kup Bitcoin na Binance!


Wbudowane skrypty

Do tej pory pisaliśmy nasz kod ręcznie, abyś mógł mieć pomysł. Ale zastosujmy coś, co może zaoszczędzić nam czasu, szczególnie jeśli piszemy bardziej złożone skrypty i nie chcemy ich robić od zera.

W prawym górnym rogu edytora kliknij Nowy. Zobaczysz rozwijane menu ze wszystkimi rodzajami wskaźników technicznych. Kliknij opcję Średnia ruchoma wykładnicza, aby wyświetlić kod źródłowy wskaźnika EMA.



Média móvel exponencial em script do Pine Editor

Dodaj to do wykresu.


Ta różni się od naszej – tutaj widzimy funkcje input(). Są dobre pod względem użyteczności, ponieważ możemy kliknąć to pole…


Modificando um gráfico na interface do TradingView


...i łatwo zmienić niektóre wartości w nowym oknie, klikając Ustawienia.


alterando inputs da MME


Aby to zademonstrować, w następnym skrypcie dodamy kilka funkcji input().


Wykreślanie wskaźnika względnej siły (RSI).

Indeks siły względnej (RSI) to kolejny istotny wskaźnik analizy technicznej. Jest znany jako wskaźnik dynamiki, to znaczy mierzy kurs kupna i sprzedaży aktywów. Wynik RSI prezentowany jest w skali od 0 do 100 i stara się poinformować inwestorów, czy aktywa są wykupione czy wyprzedane. Zazwyczaj składnik aktywów uważa się za wyprzedany, jeśli ma wynik mniejszy lub równy 30 oraz wykupiony z wynikiem większym lub równym 70.

Możesz przejść do Nowy > Strategia RSI i przekonać się sam. Ogólnie rzecz biorąc, RSI jest mierzony w okresach 14-godzinnych lub 14-dniowych, ale możesz dostosować to ustawienie do własnej strategii.

Dodaj to do wykresu. Teraz zobaczysz kilka strzałek (zdefiniowanych przez funkcję Strategy.entry() w kodzie). RsiLE wskazuje potencjalną szansę na długą pozycję dla danego aktywa, który może zostać wyprzedany. RsiSE podkreśla możliwe punkty dla krótkich pozycji w aktywach, gdy są one wykupione. Należy pamiętać, że podobnie jak w przypadku wszystkich wskaźników, nie należy koniecznie polegać na nich jako na nieomylnym dowodzie, że ceny spadną/wzrosną.


Testowanie historyczne

Istnieje sposób na przetestowanie wskaźników niestandardowych. Chociaż historia zasobu nie gwarantuje przyszłych wyników, weryfikacja historyczna naszych skryptów może dać nam wyobrażenie o jego skuteczności w przechwytywaniu sygnałów. 

Następnie użyjemy prostego przykładu skryptu. Stwórzmy strategię, która wchodzi w długą pozycję, gdy cena BTC spadnie poniżej 11 000 dolarów i wychodzi z pozycji, gdy cena przekracza 11 300 dolarów. Możemy wtedy zobaczyć, jak historycznie opłacalna byłaby ta strategia.

//@version=4 strategy("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price <= enter)     strategy.entry("BuyTheDip", strategy.long, comment="BuyTheDip") if (price >= exit)     strategy.close_all(comment="SellTheNews")

Tutaj definiujemy wejście i wyjście jako zmienne – oba są danymi wejściowymi, co oznacza, że ​​możesz je później zmienić na wykresie. Konfigurujemy również zmienną cenową cena, która uwzględnia zamknięcie każdego okresu. Następnie mamy zastosowanie logiki w postaci funkcji if. Jeśli część w nawiasach kwadratowych jest prawdziwa, zostanie wykonany blok znajdujący się pod nią. W przeciwnym razie blok zostanie zignorowany.

Dlatego też, jeżeli cena jest mniejsza lub równa żądanej wartości, pierwsze wyrażenie przyjmie wartość true i otworzymy pozycję długą. Gdy tylko cena będzie równa lub większa od pożądanego wyjścia, zostanie uruchomiony drugi blok, zamykający wszystkie otwarte pozycje. 

Będziemy używać wykresu ze strzałkami, które pokazują, gdzie wchodzimy/wychodzimy; Dlatego określamy, jak oznaczyć te punkty parametrem komentarza, komentarz (w tym przykładzie „BuyTheDip” i „SellTheNews”). Skopiuj kod i dodaj go do wykresu.


indicador ativo no gráfico do TradingView

Teraz możemy zobaczyć wskaźniki na wykresie. Może być konieczne pomniejszenie.


TradingView automatycznie stosuje swoje reguły do ​​starszych danych. Zauważysz także, że następuje przejście z edytora Pine do zakładki Tester strategii. Dzięki temu możesz mieć przegląd możliwych zysków, listę transakcji i poszczególnych ich wyników.


Strategy Tester do TradingView

Pozycje wejścia i wyjścia.


Powiązanie informacji

Czas napisać własny scenariusz, korzystając z niektórych koncepcji, które widzieliśmy do tej pory. Połączmy EMA i RSI i wykorzystajmy ich wartości do pokolorowania wykresów świecowych, generując informacje, które możemy łatwo zwizualizować. 

Nie należy tego interpretować jako zachęty inwestycyjnej lub porady finansowej – nie ma obiektywnie prawidłowego sposobu wykorzystania tego wskaźnika. Podobnie jak wszystkie inne, należy go używać w połączeniu z innymi narzędziami w celu opracowania własnej strategii.

Teraz popracujmy nad naszym nowym skryptem. Usuń wszystkie wskaźniki z wykresu i ukryj wykres Bitcoin/BUSD, abyśmy mogli pracować na czystym płótnie.

Zacznijmy od zdefiniowania naszego badania. Możesz nazwać go jak chcesz, ale pamiętaj o ustawieniu parametru overlay=true.

study(title="Skrypt Akademii Binance", overlay=true)

Zapamiętajcie naszą formułę EMA z poprzednich lat. Musimy podać mnożnik z okresem EMA. Użyjmy danych wejściowych, które wymagają liczby całkowitej (więc bez miejsc dziesiętnych). Zdefiniujemy także wartość minimalną (minval) i wartość domyślną (defval).

study(title="Skrypt Akademii Binance", overlay=true) emaLength = input(title="Długość EMA", type=input.integer, defval=25, minval=0)


Korzystając z tej nowej zmiennej, możemy obliczyć wartość EMA dla każdej świecy na naszym wykresie:

study(title="Skrypt Akademii Binance", overlay=true) emaLength = input(title="Długość EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)


Doskonały. Teraz RSI. Okres zdefiniujemy w podobny sposób:

study(title="Skrypt Akademii Binance", overlay=true) emaLength = input(title="Długość EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="Długość RSI", type=input.integer, defval=25, minval=0)

A następnie możemy to obliczyć:

study(title="Skrypt Akademii Binance", overlay=true) emaLength = input(title="Długość EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="Długość RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength)

Na tym etapie ułożymy logikę kolorującą wykresy świecowe według wartości EMA i RSI. Rozważmy sytuację, w której (a) cena zamknięcia świecy przekracza EMA oraz (b) RSI jest większy niż 50.

Dlaczego? Cóż, możesz zdecydować się na użycie tych wskaźników razem, aby uzyskać długie lub krótkie sygnały do ​​handlu Bitcoinami. Na przykład możesz pomyśleć, że spełnienie obu warunków oznacza, że ​​jest to dobry moment na otwarcie pozycji długiej. Z drugiej strony możesz go użyć, aby dowiedzieć się, kiedy pozycja nie powinna być krótka, nawet jeśli inne wskaźniki sygnalizują inaczej.

Zatem nasza następna linia będzie wyglądać następująco:

study(title="Skrypt Akademii Binance", overlay=true) emaLength = input(title="Długość EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="Długość RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal i rsiVal > 50 ? color.green : color.red

Używając prostego języka, kod mówi po prostu, że jeśli wartość EMA przekracza cenę zamknięcia, a wynik RSI jest większy niż 50, kolor świecy będzie zielony. W przeciwnym razie będzie czerwony. 

Następnie narysujmy EMA:

study(title="Skrypt Akademii Binance", overlay=true) emaLength = input(title="Długość EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="Długość RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal i rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA")

Na koniec narysuj świece, pamiętając o uwzględnieniu parametru koloru, kolor:

study(title="Skrypt Akademii Binance", overlay=true) emaLength = input(title="Długość EMA", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="Długość RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal i rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(open, high, low, close, color=colors)

I to jest scenariusz! Dodaj go do wykresu, aby zobaczyć, jak działa.


Script em funcionamento no TradingView

Wykres BTC/BUSD ze wskaźnikiem EMA/RSI.


Uwagi końcowe

W tym artykule przyjrzymy się kilku podstawowym przykładom tego, co można zrobić za pomocą edytora Pine w TradingView. Teraz powinieneś być w stanie dostosować wykresy cen, aby uzyskać dodatkowe informacje za pomocą własnych wskaźników.

Omówiliśmy tutaj tylko kilka wskaźników, ale idea jest taka sama w przypadku bardziej złożonych – możesz wybrać skrypty wbudowane w New lub napisać je samodzielnie.

Banalny? Poniższe artykuły mogą dostarczyć pomysłów na kolejny projekt:

  • Krótki przewodnik na temat parabolicznego wskaźnika SAR

  • Przewodnik zniesienia Fibonacciego

  • Wskaźniki wyprzedzające i opóźnione

  • Jak działa wskaźnik MACD