Úvod

Bez správných obchodních nástrojů nebudete schopni provádět efektivní technickou analýzu. Silná obchodní strategie vám pomůže vyhnout se běžným chybám, zlepšit řízení rizik a zvýšit vaši schopnost rozpoznat příležitosti a využít je ve svůj prospěch.

Pro mnohé je TradingView pohodlnou platformou pro vytváření grafů. Výkonnou webovou aplikaci HTML5, která nabízí centrum nástrojů technické analýzy, používají miliony lidí ke sledování pohybů na Forexu, kryptoměnách a tradičních akciových trzích.

TradingView má mnoho výkonných funkcí: umožňuje nám sledovat aktiva na více obchodních platformách a sdílet obchodní nápady na naší sociální síti. V tomto článku se zaměříme na jeho nastavení. Budeme používat Pine Script, proprietární programovací jazyk TradingView, který nám poskytuje podrobnou kontrolu nad rozložením grafů.

Začněme!


Co je Pine Script?

Pine Script je skriptovací jazyk, který lze použít k úpravě grafů TradingView. Platforma vám k tomu již poskytuje mnoho funkcí, ale Pine Script vám umožňuje posunout se o krok dále. Pokud chcete změnit barvy svíček nebo otestovat novou strategii na historii, Pine Editor vám umožní upravit grafiku v reálném čase, jak uznáte za vhodné.

Samotný kód má vynikající dokumentaci, takže se určitě podívejte do uživatelské příručky pro více informací. Naším cílem v této příručce je probrat některé základy a představit indikátory, které mohou být užitečné pro obchodování s kryptoměnami.


Nastavení

Začít s Pine Script je neuvěřitelně snadné. Jakýkoli kód, který napíšeme, běží na serverech TradingView, takže můžeme přistupovat k editoru a vyvíjet naše skripty z prohlížeče bez jakéhokoli dalšího stahování nebo nastavování.

V této příručce zmapujeme měnový pár Bitcoin/Binance USD (BTCBUSD). Pokud jej ještě nemáte, vytvořte si bezplatný účet (existuje také profesionální předplatné, ale pro tuto příručku není vyžadováno). 

Klikněte na tento odkaz a uvidíte graf podobný následujícímu:


Графік BTCBUSD на Tradingview

Ten váš bude pravděpodobně aktualizován.


Zde chceme plně funkční graf – kliknutím na tlačítko se k němu dostanete. To nám mimo jiné poskytuje mnohem podrobnější přehled, nástroje pro kreslení a možnosti konstrukce trendových linií.


Повнофункціональний графік на Tradingview для BTCBUSD

Plně vybavený rozvrh. Časový rámec můžete upravit kliknutím na zvýrazněné karty.


Nebudeme diskutovat o tom, jak používat různé dostupné nástroje, ale pokud to myslíte s technickou analýzou vážně, doporučujeme vám se s nimi seznámit. V levém dolním rohu (na obrázku zvýrazněno) uvidíte několik různých karet - klikněte na Pine Editor.


Editor Pine


скріншот pine editor


V tomto editoru se dějí magie. Řekneme mu, co chceme udělat, a poté kliknutím na Přidat do plánu zobrazíte naše pokyny výše. Všimněte si, že pokud zahrneme několik instrukcí najednou, může dojít k záměně, takže je mezi příklady odstraníme (klikněte pravým tlačítkem myši na graf > "Odebrat indikátory").

Jak vidíte, máme již několik řádků kódu. Klikněte na Přidat do grafu a uvidíte, co se stane.


Додавання першого скрипта на графік Tradingview


Druhý graf je přidán pod ten hlavní. Nový graf představuje 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 do kódu.

studium ("Můj skript")

Tento první řádek jednoduše nastaví naši instrukci. To vyžaduje pouze pojmenování indikátoru (v tomto případě „Můj skript“), ale můžeme přidat i některé další možnosti. Jedním z nich je překrytí, které říká TradingView, aby umístil indikátor na existující graf (spíše než na nový segment). Jak můžete vidět z prvního příkladu, výchozí hodnota je false. I když jej nyní v akci neuvidíme, overlay = true přidá indikátor do stávajícího grafu.

spiknutí (zavřít)

Tento řádek je instrukcí ke konstrukci uzavírací ceny bitcoinu. plot nám dává pouze spojnicový graf, ale můžeme také zobrazit svíčky a tyče, jak brzy uvidíme. 

Nyní zkusme následující:

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

Po přidání tohoto grafu byste měli vidět druhý graf (který vypadá, že původní je posunutý doprava). Vše, co jsme udělali, je místo toho vykreslit graf otevírací ceny, a protože otevření aktuálního dne je uzavření předchozího dne, je zřejmé, že mají identický tvar.

Dobrý! Zbavme se aktuálních pokynů (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 klikněte na tlačítko Skrýt pro vymazání aktuálního grafu.

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. Pojďme je nyní přidat. 

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

Je to dobrý začátek, ale nedostatek barev dělá graf nepřehledným. V ideálním případě bychom měli mít červené svíčky, když je otevírací cena vyšší než zavírací cena pro daný časový rámec, a zelené svíčky, když je zavírací cena vyšší než otevírací cena. Přidáme řádek nad 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)

Kód se podívá na každou svíčku a zkontroluje, zda je otevřená cena větší nebo rovna uzavírací ceně. Pokud ano, znamená to, že ceny za dané období klesly, takže svíčka bude zbarvena červeně. V opačném případě zezelená. Upravte funkci plotcandle() tak, aby předala toto barevné schéma:

//@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 normální svíčkový graf.


Свічковий графік на Tradingview

Dokonale!


Graf klouzavých průměrů (MA)

Naučili jsme se nějaké základy. Pojďme k našemu prvnímu vlastnímu indikátoru – exponenciálnímu klouzavému průměru neboli EMA. Jedná se o cenný nástroj, protože nám umožňuje odfiltrovat jakýkoli hluk trhu a vyhladit pohyb cen. 

EMA se mírně liší od jednoduchého klouzavého průměru (SMA) v tom, že dává větší váhu nedávným údajům. Indikátor obvykle reaguje na náhlé pohyby a často se používá pro krátkodobé hraní (například při denním obchodování).


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

Stejně dobře bychom mohli vytvořit SMA, abychom pak oba ukazatele porovnali. Přidejte do svého skriptu tento řádek:

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

To představuje průměr za předchozích deset dní. Změňte číslo v závorce, abyste viděli, jak se křivka mění s různými délkami.


Проста ковзна середня на основі попередніх 10 днів

SMA vychází z předchozích deseti dnů.


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

EMA bude trochu složitější na pochopení, ale nebojte se. Nejprve si rozeberme vzorec:

EMA = (Zavřít - EMA předchozího dne) * multiplikátor - EMA předchozího dne

Co nám to tedy říká? Pro každý den vypočítáme nový klouzavý průměr na základě toho předchozího. Násobitel je to, co „váží“ poslední období a vypočítá se podle následujícího vzorce:

Násobitel = 2 / (délka EMA + 1)

Stejně jako u jednoduchých klouzavých průměrů musíme specifikovat, jaká bude délka EMA. Syntakticky je funkce konstrukce EMA podobná funkci SMA. Zakreslete to vedle SMA, abyste je mohli porovnat:

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


EMA та SMA на одному графіку Tradingview

Mezi těmito dvěma typy klouzavého průměru můžete vidět nepatrný rozdíl.


➠ Chcete začít obchodovat s kryptoměnami? Kupte si bitcoiny na Binance!


Vestavěné skripty

Až dosud jsme náš kód psali ručně, abyste si jej mohli vyzkoušet. Pojďme se ale podívat na něco, co nám může ušetřit čas, zvláště pokud píšeme složitější skripty a nechceme je stavět od začátku.

Na pravé straně editoru klikněte na Nový. Zobrazí se nabídka s různými technickými indikátory. Kliknutím na tlačítko Moving Average Exponencial zobrazíte zdrojový kód indikátoru EMA.



Експоненційна ковзна середня у скрипті Pine

Přidejte to do rozvrhu.


Ten je jiný než ten náš – můžete si všimnout funkcí input(). To je dobré z hlediska pohodlí, protože můžete kliknout na toto pole…


Зміна графіка в інтерфейсі Tradingview


... a je snadné změnit některé hodnoty ve vyskakovacím okně kliknutím na ikonu nastavení.


зміна входів на EMA


Abychom to demonstrovali, do našeho dalšího skriptu přidáme několik funkcí input().


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

Index relativní síly (RSI) je dalším důležitým ukazatelem v technické analýze. Je známý jako indikátor hybnosti, což znamená, že měří rychlost, s jakou se aktiva nakupují a prodávají. RSI, prezentovaná na stupnici od 0 do 100, se pokouší informovat investory, zda jsou aktiva překoupená nebo přeprodaná. Obecně lze aktivum považovat za přeprodané, pokud je jeho hodnota nižší nebo rovna 30, a naopak, může být překoupeno s hodnotou vyšší nebo rovnou 70.

Pokud půjdete do New > RSI Strategy, můžete se sami přesvědčit. RSI se obvykle měří za 14místné období (tj. 14 hodin nebo 14 dní), ale tento parametr můžete upravit tak, aby vyhovoval vaší vlastní strategii.

Přidejte to do rozvrhu. Nyní byste měli vidět nějaké šipky (definované funkcí strategy.entry() v kódu). RsiLE označuje potenciální délku aktiva, protože může být přeprodáno. RsiSE zdůrazňuje možné body, ve kterých můžete aktivum shortovat, 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 spolehlivý důkaz toho, že ceny půjdou dolů/až nahoru.


Zpětné testování

Máme způsob, jak otestovat naše vlastní indikátory. Zatímco minulý výkon není zárukou budoucích výsledků, zpětné testování našich skriptů nám může poskytnout představu o tom, jak efektivní jsou při shromažďování signálů. 

Níže uvedeme příklad jednoduchého skriptu. Vytvoříme jednoduchou strategii, která otevře dlouhou pozici, když cena BTC klesne pod 11 000 $ a zavře pozici, když cena překročí 11 300 $. Pak můžeme vidět, jak zisková 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 jsme definovali vstup a výstup jako proměnné vstupy, což znamená, že je můžeme později v grafu změnit. Nastavíme také cenovou proměnnou, která nabývá závěrečné hodnoty pro každé období. Pak máme nějakou logiku ve formě příkazů if. Pokud je část v závorkách "true", spustí se blok s odsazením pod ní. V opačném případě bude přeskočen.

Pokud je tedy cena nižší nebo rovna požadovanému vstupu, první výraz se vyhodnotí jako „true“ a otevíráme dlouhou pozici. Jakmile se cena vyrovná nebo překročí požadovaný exit, spustí se druhý blok, který uzavře všechny dlouhé pozice. 

Graf označíme šipkami, které ukazují, kde jsme vstoupili/vystoupili, takže jsme specifikovali, jak tyto body označit parametrem komentáře (v tomto příkladu „BuyTheDip“ a „SellTheNews“). Zkopírujte kód a přidejte jej do grafu.


активний індикатор на графіку tradingview

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


TradingView automaticky aplikuje vaše pravidla na starší data. Také si všimnete, že se přepne z Pine Editoru na kartu Strategy Tester. Umožňuje vám zobrazit přehled vašeho potenciálního zisku, seznam obchodů a výkon každého jednotlivého obchodu.


Тестер стратегій Tradingview

Pozice jsme otevírali a zavírali.


Vše svážeme dohromady

Je čas napsat svůj vlastní skript pomocí některých konceptů, které již známe. Zkombinujeme EMA a RSI a použijeme jejich hodnoty k malování svíček, abychom získali informace, které můžeme snadno vizualizovat. 

Tyto informace by neměly být považovány za finanční poradenství. Neexistuje žádný objektivně správný způsob použití tohoto ukazatele. Stejně jako 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 z grafu všechny své indikátory a skryjte graf Bitcoin/BUSD, abychom měli čisté plátno, se kterým můžete pracovat.

Začněme definicí našeho výzkumu. Klidně to nazvěte jak chcete, jen nezapomeňte nastavit overlay = true.

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

Pamatujte si náš vzorec EMA. Musíme poskytnout multiplikátor délky EMA. Udělejme to přes vstup, který vyžaduje celé číslo (tj. žádná desetinná místa). Nastavíme 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 určit 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)


Dokonale. Délku RSI poskytneme 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 teď to můžeme spočí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 shromáždíme logiku, která barví svíčky v závislosti na hodnotách EMA a RSI. Zvažte situaci, kdy (a) je uzavírací cena svíčky nad EMA a (b) když je RSI nad 50.

Proč? No, můžete se rozhodnout, že tyto indikátory mohou být použity společně, aby vám řekly, kdy jít na bitcoiny na dlouhou nebo krátkou dobu. Můžete si například myslet, že splnění obou těchto podmínek znamená, že nyní je vhodná doba na otevření dlouhé pozice. Nebo naopak jej můžete použít k tomu, aby vám řekl, kdy nemáte otevřít krátkou pozici, i když jiné indikátory říkají něco jiného.

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á

Jednoduše řečeno, pokud je EMA nad uzavírací cenou a RSI nad 50, obarvíme svíčku zeleně. V opačném případě zčervená. 

Dále vytvoří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 nakreslíme svíčky a ujistěte se, že máte zapnutý parametr barvy

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 scénář je hotový! Přidejte jej do grafu, abyste jej viděli v akci.


Скрипт Tradingview в дії

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


Závěrečné myšlenky

V tomto článku jsme probrali několik základních příkladů toho, co můžete dělat s Pine Editorem TradingView. V tomto okamžiku byste si měli být jisti, že uděláte jednoduché skripty pro cenové grafy, abyste získali další informace z vašich vlastních ukazatelů.

Popsali jsme zde jen několik indikátorů, ale složitější můžete snadno implementovat buď výběrem vestavěných skriptů z New, nebo jejich napsáním sami.

Chybí vám inspirace? Následující články vám mohou poskytnout nápady pro váš projekt:

  • Rychlý průvodce ukazatelem Parabolic SAR

  • Průvodce zvládnutím Fibonacciho retracementu

  • Vysvětlení indikátorů zpoždění a předstihu

  • Vysvětlení indikátoru MACD