Úvod

Bez správných obchodních nástrojů není možné provádět efektivní technickou analýzu. Solidní obchodní strategie vám pomůže vyhnout se běžným chybám, zlepšit řízení rizik a zlepšit vaši schopnost identifikovat a využít příležitosti.

Pro mnohé je TradingView nejlepší platformou pro vytváření grafů. Výkonná webová aplikace HTML5 nabízí mnoho nástrojů technické analýzy a používají ji miliony uživatelů ke sledování pohybů na akciových, forexových a kryptoměnových trzích.

TradingView má mnoho výkonných funkcí: umožňuje nám sledovat aktiva na různých obchodních platformách a sdílet obchodní nápady na sociálních sítích. V tomto článku budeme hovořit o vašich možnostech přizpůsobení. Budeme používat PineScript, vlastní programovací jazyk TradingView, který nám dává kontrolu nad rozložením grafů.

Začněme!


Co je Pine Script?

Pine Script je skriptovací jazyk používaný k přizpůsobení grafů TradingView. Platforma k tomu již poskytuje mnoho funkcí, ale Pine Script nabízí některé další možnosti. Ať už chcete změnit barvy svícnů nebo otestovat novou strategii, Pine Editor vám umožní přizpůsobit si grafy v reálném čase tak, jak chcete.

Kód má velmi obsáhlou dokumentaci, takže další informace naleznete v uživatelské příručce. Naším cílem v tomto tutoriálu je probrat některé základy a představit indikátory, které jsou užitečné pro obchodování s kryptoměnami.


Nastavení

Začít používat Pine Script je velmi jednoduché. Veškerý kód běží na serverech TradingView, takže můžeme přistupovat k editoru a vyvíjet naše skripty z prohlížeče – není potřeba žádné další stahování ani konfigurace.

V tomto tutoriálu použijeme měnový pár Bitcoin/Binance USD (BTCBUSD). Pokud ještě nemáte účet, vytvořte si jej zdarma (existuje také možnost předplatného Pro, ale pro tento tutoriál to není nutné).

Přejděte na tento odkaz a uvidíte graf, jako je tento:


Gráfico BTCBUSD no TradingView

Ten váš bude pravděpodobně aktuálnější.


Zde použijeme plnohodnotný režim grafu – kliknutím na tlačítko jej otevřete. V tomto režimu máme mimo jiné podrobnější pohled, kreslící nástroje a možnosti vykreslování trendových čar.


Gráfico completo no TradingView para BTCBUSD

Kompletní graf. Časové období můžete upravit kliknutím na možnosti nad kartami zvýrazněnými na obrázku.


Nebudeme diskutovat o tom, jak používat různé dostupné nástroje, ale pokud používáte technickou analýzu, doporučujeme, abyste se s nimi seznámili. V levém dolním rohu (zobrazeno na obrázku) uvidíte několik různých karet – klikněte na Pine Editor.


Editor Pine


captura de tela do Pine Editor


V tomto editoru se děje kouzlo. Zadáme pokyny. Kliknutím na Přidat do grafu zobrazíte výše uvedené anotace. Všimněte si, že věci se mohou zkomplikovat, pokud zahrneme více anotací najednou, takže je pro další příklady odstraníme (klikněte pravým tlačítkem na graf > Odebrat indikátory).

Jak vidíme, pár řádků kódu již máme. Klikneme na Přidat do grafu a uvidíme, co se stane.


Adicionando o primeiro script ao gráfico do TradingView


Pod originál bude přidána druhá grafika. Nový graf nyní zobrazuje stejná data. Umístěte ukazatel myši na Můj skript a kliknutím na křížek jej odstraňte. Nyní se pojďme ponořit hlouběji do kódu.

studium ("Můj skript")

Tento první řádek právě nastavuje naše anotace. Potřebujeme pouze definovat název indikátoru (v tomto případě „Můj skript“), ale můžeme přidat i některé volitelné parametry. Jedním z nich je překrytí, které TradingView nařídí vložit indikátor do stávajícího grafu (místo použití nového segmentu). Jak vidíme v prvním příkladu, výchozí hodnota je false. Parametr overlay = true přidá indikátor do stávajícího grafu, ale nyní jej nepoužijeme.

spiknutí (zavřít)

Tento řádek je pokynem pro vykreslení závěrečné ceny bitcoinu. Parametr plot nám jednoduše dává čárový graf, ale je také možné zobrazit svíčky a tyče, jak uvidíme za chvíli.

Nyní zkusme následující:

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

Po přidání tohoto parametru se nám zobrazí druhý graf (který vypadá jako původní, ale posunutý doprava). Vše, co jsme udělali, bylo vykreslit otevřenou cenu. Vzhledem k tomu, že otevření aktuálního dne je uzavření předchozího dne, dává smysl, aby měly stejný formát.

OK! Zbavme se aktuálních poznámek (nezapomeňte, že to uděláme kliknutím pravým tlačítkem a výběrem Odebrat indikátory). Umístěte ukazatel myši na Bitcoin/BUSD a kliknutím na Skrýt vymažte aktuální graf.

Mnoho obchodníků dává přednost svíčkovým grafům, protože nám poskytují více informací než jednoduchý graf, jako je ten, který jsme právě vytvořili. Přidáme je příště.

//@version=4 study("Můj skript", overlay=true) plotcandle(otevřená, vysoká, nízká, zavřená)

Je to dobrý začátek, je dobré přidat nějaké barvy. Obecně používáme červené svíčky, když je otevírací cena vyšší než zavírací cena za dané období, a zelené svíčky, když je zavírací cena vyšší než otevírací. Přidejme řádek pod funkci plotcandle():

//@version=4 study("Můj skript", overlay=true) barvy = otevřít >= zavřít ? color.red : color.green plotcandle (otevřít, vysoko, nízko, zavřít)

Tato funkce analyzuje každou svíčku a kontroluje, zda je otevírací hodnota větší nebo rovna uzavírací hodnotě. Pokud ano, znamená to, že ceny během období klesly, takže svíčka zčervená. Jinak bude zelená. Upravte funkci plotcandle() a nastavte toto barevné schéma na:

//@version=4 study("Můj skript", overlay=true) barvy = otevřít >= zavřít ? color.red : color.green plotcandle(open, high, low, close, color=colors)

Odstraňte aktuální indikátory, pokud jste to ještě neudělali, a přidejte tento do grafu. Nyní bychom měli mít něco podobného jako běžný svíčkový graf.


Gráfico de velas no TradingView

Skvělý!


Vykreslování klouzavých průměrů (MM)

Projdeme si některé základy. Pojďme si vykreslit náš první vlastní ukazatel – exponenciální klouzavý průměr neboli EMA. Jedná se o cenný nástroj, protože nám umožňuje odfiltrovat jakýkoli šum trhu a vyhladit cenovou akci.

EMA se mírně liší od jednoduchého klouzavého průměru (SMA) v tom, že klade větší důraz na nejnovější data. Bývá reaktivnější na náhlé pohyby a často se používá pro krátkodobé strategie (jako je například denní obchodování).


Jednoduchý klouzavý průměr (SMA)

Pojďme si také vykreslit jednoduchý klouzavý průměr (SMA), abychom je mohli později porovnat. Přidejte do svého skriptu tento řádek:

plot(sma(zavřít, 10))

Tato hodnota představuje průměr za posledních deset dní. Upravte číslo v závorkách, abyste viděli, jak se křivka mění při zvažování různých období.


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

MMS na základě posledních deseti dnů.


Exponenciální klouzavý průměr (EMA)

EMA je trochu složitější, ale nebojte se. Nejprve se podívejme na vzorec:

EMA = (Uzávěrka – EMA předchozího dne) * Vynásobená – EMA předchozího dne

Co to znamená? Pro každý den vypočítáme nový klouzavý průměr na základě průměru předchozího dne. Násobitel vezme v úvahu „váhu“ posledního období a vypočítá ji pomocí vzorce:

Násobitel = 2 / (období EMA + 1)

Stejně jako u jednoduchých klouzavých průměrů musíme specifikovat dobu trvání EMA. Syntakticky je funkce pro vykreslení EMA podobná MMS. Zakreslete ji vedle MMS, abyste je mohli porovnat:

//@version=4 study("Můj skript", overlay=true) plot(sma(zavřít, 10)) plot(ema(zavřít,10))


MME e MMS em um gráfico do TradingView

Mezi oběma typy klouzavých průměrů si můžeme všimnout nepatrného rozdílu.


➠ Uvažujete o investování do kryptoměn? Kupte si bitcoiny na Binance!


Vestavěné skripty

Doposud jsme náš kód psali ručně, abyste si mohli udělat představu. Ale použijme něco, co nám může ušetřit čas, zvláště pokud píšeme složitější skripty a nechceme je dělat od začátku.

V pravém horním rohu editoru klikněte na Nový. Zobrazí se rozbalovací nabídka se všemi typy technických indikátorů. Kliknutím na Moving Average Exponencial zobrazíte zdrojový kód indikátoru EMA.



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

Přidejte to do grafu.


Tento je jiný než ten náš – zde vidíme funkce input(). Jsou dobré z hlediska použitelnosti, protože můžeme kliknout na toto pole…


Modificando um gráfico na interface do TradingView


...a snadno změnit některé hodnoty v novém okně kliknutím na Nastavení.


alterando inputs da MME


Abychom to demonstrovali, v našem příštím skriptu přidáme některé funkce input().


Vynesení indikátoru indexu relativní síly (RSI).

Index relativní síly (RSI) je dalším základním ukazatelem technické analýzy. Je známý jako indikátor hybnosti, to znamená, že měří nákupní a prodejní kurz aktiv. Skóre RSI je prezentováno na stupnici od 0 do 100 a pokouší se informovat investory, zda jsou aktiva překoupená nebo přeprodaná. Aktivum se obvykle považuje za přeprodané, pokud má skóre nižší nebo rovné 30 a překoupené se skóre vyšším nebo rovným 70.

Můžete jít do New > RSI Strategy a přesvědčit se sami. Obecně se RSI měří ve 14hodinových nebo 14denních obdobích, ale toto nastavení můžete upravit tak, aby vyhovovalo vaší vlastní strategii.

Přidejte to do grafu. Nyní uvidíte nějaké šipky (definované funkcí strategy.entry() v kódu). RsiLE označuje potenciální příležitost dlouhé pozice pro aktivum, které může být přeprodáno. RsiSE upozorňuje na možné body pro krátké pozice v aktivu, když je překoupené. Vezměte prosím na vědomí, že stejně jako u všech ukazatelů byste se na ně neměli nutně spoléhat jako na neomylný důkaz toho, že ceny budou klesat/vzrůstat.


Zpětné testování

Existuje způsob, jak otestovat vlastní indikátory. Zatímco historie aktiva není zárukou budoucích výsledků, zpětné testování našich skriptů nám může poskytnout představu o jeho účinnosti při zachycování signálů.

Dále použijeme jednoduchý příklad skriptu. Vytvořme strategii, která vstoupí do dlouhé pozice, když cena BTC klesne pod 11 000 $ a opustí pozici, když cena překročí 11 300 $. Pak můžeme vidět, jak zisková by tato strategie byla historicky.

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

Zde definujeme vstup a výstup jako proměnné – obě jsou vstupy, což znamená, že je můžete později v grafu změnit. Nakonfigurujeme také cenovou proměnnou cenu, která zohledňuje uzavření každého období. Pak máme použití logiky ve formě funkcí if. Pokud je část v hranatých závorkách pravdivá, provede se blok pod ní. V opačném případě bude blok ignorován.

Pokud je tedy cena nižší nebo rovna požadovanému vstupu, první výraz se vyhodnotí jako true a otevřeme dlouhou pozici. Jakmile bude cena stejná nebo vyšší než požadovaný výstup, spustí se druhý blok, který uzavře všechny otevřené pozice.

Použijeme graf se šipkami, které ukazují, kde vstupujeme/vycházíme; Proto specifikujeme, jak tyto body označit parametrem comment, comment (v tomto příkladu „BuyTheDip“ a „SellTheNews“). Zkopírujte kód a přidejte jej do grafu.


indicador ativo no gráfico do TradingView

Nyní můžeme vidět ukazatele na grafu. Možná budete muset oddálit.


TradingView automaticky aplikuje svá pravidla na starší data. Také si všimnete, že se přepne z Pine Editoru na kartu Strategy Tester. To vám umožní mít přehled o vašich možných ziscích, seznam obchodů a každé jejich jednotlivé výkony.


Strategy Tester do TradingView

Vstupní a výstupní pozice.


Sdružování informací

Je čas napsat vlastní scénář pomocí některých konceptů, které jsme doposud viděli. Pojďme zkombinovat EMA a RSI a použít jejich hodnoty k vybarvení svíčkových grafů, generujících informace, které si můžeme snadno představit.

To by nemělo být vykládáno jako investiční podpora nebo finanční poradenství – neexistuje objektivně správný způsob, jak tento ukazatel použít. Stejně jako všechny ostatní by měl být používán s dalšími nástroji k vývoji vlastní strategie.

Nyní pojďme pracovat na našem novém skriptu. Odstraňte všechny své indikátory z grafu a skryjte graf Bitcoin/BUSD, abychom mohli pracovat na čistém plátně.

Začněme definováním naší studie. Pojmenujte jej, jak chcete, ale nezapomeňte nastavit parametr overlay=true.

studie(title="Binance Academy Script", overlay=true)

Pamatujte si náš vzorec EMA z dřívějška. Musíme poskytnout multiplikátoru období EMA. Použijme vstup, který vyžaduje celé číslo (takže žádná desetinná místa). Definujeme také minimální hodnotu (minval) a výchozí hodnotu (defval).

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)


Pomocí této nové proměnné můžeme vypočítat hodnotu EMA pro každou svíčku v našem grafu:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(zavřít, emaLength)


Vynikající. Nyní RSI. Období definujeme podobným způsobem:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(zavřít, emaLength) rsiLength = input (title="RSI Length", type=input.integer, defval=25, minval=0)

A pak to můžeme vypočítat:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(zavřít, emaLength) rsiLength = input (title="Délka RSI", typ=vstup.integer, defval=25, minval=0) rsiVal = rsi(zavřít, rsiLength)

V této fázi dáme dohromady logiku, která barví svíčkové grafy podle hodnot EMA a RSI. Uvažujme situaci, kdy (a) uzavírací cena svíčky překročí EMA a (b) RSI je větší než 50.

Proč? Můžete se rozhodnout použít tyto indikátory společně k získání dlouhých nebo krátkých signálů pro obchodování s bitcoiny. Můžete si například myslet, že splnění obou podmínek znamená, že je vhodný čas vstoupit do dlouhé pozice. Nebo se jím naopak můžete informovat o tom, kdy by pozice neměla být krátká, i když ostatní indikátory signalizují opak.

Takže náš další řádek bude vypadat takto:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(zavřít, emaLength) rsiLength = input (title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(zavřít, rsiLength) barvy = zavřít > emaVal a rsiVal > 50 ? barva.zelená : barva.červená

Pomocí jednoduchého jazyka kód jednoduše říká, že pokud hodnota EMA překročí uzavírací cenu a skóre RSI je větší než 50, barva svíčky bude zelená. V opačném případě bude červená.

Dále nakreslíme EMA:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(zavřít, emaLength) rsiLength = input (title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(zavřít, rsiLength) barvy = zavřít > emaVal a rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA")

Nakonec vykreslete svíčky a nezapomeňte uvést parametr barvy, barvu:

study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(zavřít, emaLength) rsiLength = input (title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(zavřít, rsiLength) barvy = zavřít > emaVal a rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(open, high, low, close, color=colors)

A to je scénář! Přidejte jej do grafu, abyste viděli, že funguje.


Script em funcionamento no TradingView

Graf BTC/BUSD s indikátorem EMA/RSI.


Závěrečné úvahy

V tomto článku se podíváme na některé základní příklady toho, co můžete dělat s Pine Editorem TradingView. Nyní byste měli být schopni přizpůsobit cenové grafy, abyste získali další informace pomocí vlastních indikátorů.

Popsali jsme zde pouze několik ukazatelů, ale myšlenka je stejná pro ty složitější – můžete vybrat skripty zabudované do New nebo je napsat sami.

Nenápaditý? Následující články vám mohou poskytnout nápady pro váš další projekt:

  • Stručný průvodce ukazatelem Parabolic SAR

  • Průvodce Fibonacciho retracementu

  • Předstihové a zaostávající indikátory

  • Jak funguje indikátor MACD