Úvod

Bez spolehlivých obchodních nástrojů není možné provádět vysoce kvalitní technickou analýzu. Silná obchodní strategie vám pomůže vyhnout se běžným chybám, efektivněji řídit riziko a najít a realizovat více obchodních příležitostí.

Pro většinu obchodníků je TradingView oblíbenou platformou pro analýzu grafů. Webová aplikace HTML5 bohatá na funkce, která nabízí řadu nástrojů pro technickou analýzu, ji používají miliony uživatelů ke sledování pohybů na forexu, kryptoměnách a tradičních akciových trzích.

TradingView nabízí řadu výkonných funkcí, které vám umožňují sledovat aktiva na různých obchodních platformách a sdílet obchodní nápady na vlastní sociální síti TradingView. V tomto článku se podíváme na možnosti přizpůsobení TradingView. Budeme používat Pine Script, programovací jazyk TradingView, který poskytuje podrobnou kontrolu nad rozložením grafů.

Pojďme začít!


Co je Pine Script?

Pine Script je skriptovací jazyk, který vám umožňuje přizpůsobit grafy na TradingView. Platforma vám k tomu již poskytuje mnoho funkcí, ale Pine Script vám umožňuje rozšířit možnosti. Ať už chcete změnit barvy svíček nebo vyzkoušet novou strategii, můžete si grafy v reálném čase upravit tak, jak chcete, pomocí editoru Pine.

Na webu je k dispozici podrobná dokumentace, takže podrobné pokyny vždy najdete v uživatelské příručce. V tomto článku bychom rádi pokryli základy Pine Scriptu a ukázali, jak vytvořit indikátory, které mohou být užitečné při obchodování s kryptoměnami.


Založit

Začít s Pine Script je velmi snadné. Veškerý kód, který píšeme, běží na serverech TradingView a máme přístup k editoru kódu a můžeme psát skripty přímo v prohlížeči – není třeba stahovat aplikace třetích stran ani nic konfigurovat.

V tomto tutoriálu zmapujeme měnový pár Bitcoin/Binance USD (BTCBUSD). Pokud ještě nejste registrováni u TradingView, vytvořte si bezplatný účet (k dispozici je také profesionální předplatné, které však není pro tento článek potřeba).

Klikněte na tento odkaz a uvidíte graf, jako je tento:


график BTCBUSD на tradingview

Váš rozvrh musí být aktuálnější.


Potřebujeme podrobný plán - přejděte na něj kliknutím na uvedené tlačítko. Uvidíme podrobnější grafy, nástroje pro kreslení a nástroje trendových spojnic.


Подробный график BTCBUSD на tradingview

Podrobný rozvrh. V panelu nad vybranými kartami můžete nastavit požadované časové rámce.


Nyní nebudeme diskutovat o použití různých dostupných nástrojů, ale pokud to myslíte s technickou analýzou vážně, pak důrazně doporučujeme, abyste se s nimi seznámili. Vlevo dole (na obrázku zvýrazněno) je několik záložek - klikněte na Pine Editor.


Redaktor Pine


скриншот редактора pine


V tomto editoru se dějí skutečné kouzlo. Chcete-li vidět výsledek, musíte v editoru napsat pokyny a poté kliknout na tlačítko „Přidat do grafu“. Poznámka: Pokud použijete několik vlastních indikátorů současně, graf se může stát chaotický, takže je mezi příklady odstraníme (pravé tlačítko myši na grafu > Odebrat indikátory).

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


Добавление первого скрипта на график tradingview


Druhý se objevil pod původním grafem. Nový graf představuje stejná data. Chcete-li odstranit druhý graf, najeďte myší na Můj skript a klikněte na křížek. Nyní se podíváme na kód.

studium ("Můj skript")

První řádek určuje název grafu. To vyžaduje pouze název indikátoru (v tomto případě "Můj skript"), ale můžete nastavit i další parametry. Jedním z nich je překrytí. Znamená to umístění indikátoru na existující graf (ne do nového segmentu). Jak vidíme z prvního příkladu, ve výchozím nastavení je nastaveno na false. Nyní to nebudeme testovat, ale nastavení overlay=true přidá indikátor do stávajícího grafu.

spiknutí (zavřít)

Tento řádek je instrukce pro vykreslení uzavírací ceny bitcoinu; plot určuje spojnicový graf, ale můžeme přidat svíčky a sloupce.

Nyní zvažte následující příklad:

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

Přidáním tohoto řádku do editoru byste měli vidět druhý graf (který vypadá jako původní, ale posunutý doprava). Vykreslili jsme otevírací cenu, a protože otevření aktuálního dne je uzavření předchozího dne, je logické, že grafy mají stejný tvar.

Skvělý! Smažeme grafy, které jsme vytvořili (nezapomeňte, že k tomu musíte kliknout pravým tlačítkem na graf a vybrat „Odstranit indikátory“). Chcete-li vymazat aktuální graf, najeďte myší na graf Bitcoin/BUSD a klikněte na tlačítko Skrýt.

Mnoho obchodníků používá svíčkové grafy, protože poskytují více informací než běžné grafy (jako ten, který jsme právě vytvořili). Nyní do grafu přidáme svíčky.

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

Je to lepší, ale kvůli nedostatku barev je graf nevýrazný. V ideálním případě musíme kreslit svíčky červeně, pokud je otevírací cena v časovém rámci vyšší než zavírací cena, a zeleně, pokud 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)

V tomto řádku procházíme všechny svíčky a kontrolujeme: je otevírací cena větší nebo rovna zavírací ceně Pokud ano, pak cena během období klesla a svíčka bude červená? Jinak - zelená. Chcete-li přidat barevné schéma, upravte funkci plotcandle() podle obrázku níže:

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

Pokud jste tak ještě neučinili, smažte předchozí graf a přidejte nový. Nyní bychom měli mít pravidelný svíčkový graf.


Свечной график на tradingview

Báječné!


Vytváření klouzavých průměrů (MA)

Probrali jsme nějaké základy. Pojďme k vytvoření našeho prvního vlastního ukazatele, exponenciálního klouzavého průměru neboli EMA. Jedná se o cenný ukazatel, protože filtruje hluk trhu a vyhlazuje pohyby cen.

EMA se liší od jednoduchého klouzavého průměru (SMA) v tom, že dává větší váhu aktuálním údajům. EMA aktivněji reaguje na neočekávané pohyby trhu a často se používá v krátkodobých strategiích (například intradenní obchodování).


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

Můžeme vykreslit SMA a poté jej porovnat s EMA. Přidejte do skriptu následující řádek:

plot(sma(blízko, 10))

Tento řádek zobrazí průměr za předchozích 10 dní. V závorkách můžete nastavit různé hodnoty období a sledovat, jak se křivka mění.


Простая 10-дневная скользящая средняя

SMA za předchozích 10 dní


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

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

EMA = (uzavírací cena – EMA předchozího dne) * multiplikátor – EMA předchozího dne

Co tento vzorec říká? Pro každý den vypočítáme nový klouzavý průměr na základě toho předchozího. Multiplikátor je „váha“ předchozího období, která se vypočítá podle následujícího vzorce:

multiplikátor = 2 / (období EMA + 1)

Stejně jako v případě jednoduchého klouzavého průměru musíte určit období pro konstrukci EMA. Syntaxe funkce EMA je podobná funkci SMA. Pro přehlednost si vedle SMA nakreslete graf EMA:

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


EMA и SMA на одном графике tradingview

Rozdíl mezi SMA a EMA


➟ Přemýšlíte, kde začít pracovat s kryptoměnami? Kupte si bitcoiny na Binance!


Vestavěné skripty

Až dosud jsme kód psali ručně, abychom mu porozuměli podrobněji. Pojďme ale prozkoumat nástroj, který nám ušetří čas, zvláště pokud píšeme složitější skripty a nechceme to dělat od začátku.

V pravém horním rohu editoru klikněte na tlačítko „Nový“. Zobrazí se rozbalovací nabídka s různými technickými indikátory. Chcete-li zobrazit zdrojový kód indikátoru EMA, klikněte na položku „Exponenciální klouzavý průměr“.



Экспоненциальная скользящая средняя в pine script

Přidejte kód do grafu


Kód šablony se bude lišit od toho, co jsme napsali – věnujte pozornost funkcím input(). Jsou pohodlné, protože můžete kliknout do levého horního rohu grafu...


Изменение графика в интерфейсе tradingview


...a ve vyskakovacím okně je snadné změnit některé hodnoty stisknutím kolečka nastavení.


изменение входных параметров EMA


Abychom to demonstrovali, přidáme do následujícího skriptu dvě funkce input().


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

Index relativní síly (RSI) je dalším klíčovým ukazatelem technické analýzy. Je známý jako indikátor hybnosti. To znamená, že zobrazuje sazbu, za kterou se aktiva kupují a prodávají. Index RSI, který se pohybuje od 0 do 100, říká obchodníkům, zda je aktivum překoupené nebo přeprodané. Obecně se aktivum považuje za přeprodané, pokud je RSI menší nebo rovno 30, a za překoupené, pokud je RSI větší nebo rovno 70.

Můžete si to ověřit sami – přejděte do nabídky Nový > Strategie RSI. RSI se obvykle měří v obdobích 14 jednotek (tj. 14 hodin nebo 14 dní), ale tento parametr můžete přizpůsobit tak, aby vyhovoval vaší vlastní strategii.

Přidejte to do grafu. Měli byste vidět nějaké šipky (definované v kódu funkcí strategy.entry()). RsiLE označuje potenciál pro dlouhou pozici v aktivu, protože může být znovu prodáno. RsiSE také naznačuje potenciál ke shortování aktiva, protože může být překoupeno. Vezměte prosím na vědomí: stejně jako u všech ukazatelů byste se na ně neměli spoléhat jako na záruku, že ceny půjdou dolů/až nahoru.


Testování strategií

Můžeme testovat vlastní ukazatele. Zatímco výkon na historických datech není zárukou budoucích výsledků, testovací skripty na historických datech vám mohou poskytnout představu o tom, jak efektivní jsou při sledování signálů.

Vezměme si jako příklad jednoduchý skript. Vytvořme si jednoduchou strategii, kdy budeme vstupovat do dlouhé pozice, když cena BTC klesne pod 11 000 $ a pozici uzavřeme, když cena překročí 11 300 $. Můžeme se podívat na to, jak zisková je tato strategie při aplikaci na historii trhu.

//@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 vstupní a výstupní úrovně jako proměnné - obě jsou vstupní, což znamená, že je pak můžeme změnit v grafu. Vytvořili jsme také cenovou proměnnou, která přebírá závěrečnou hodnotu pro každé období. Logika je prezentována ve formě příkazů if. Pokud je část v závorkách pravdivá, spustí se blok s odsazením pod ní. Jinak bude ignorována.

Pokud je tedy cena nižší nebo rovna požadované vstupní hodnotě, první výraz se vyhodnotí jako true a jedeme dlouho. Když se cena rovná nebo překročí požadovanou výstupní hodnotu, spustí se druhý blok, který uzavře všechny otevřené pozice.

Na grafu jsme navíc šipkami ukázali místa nástupu do pozic a výstupů z nich. Tyto body jsme označili parametrem komentáře (v tomto příkladu „BuyTheDip“ a „SellTheNews“). Zkopírujte kód a přidejte jej do grafu.


активный индикатор на графике tradingview

Ukazatele na grafu. Můžete oddálit


TradingView automaticky aplikuje vaše pravidla na starší data. Vezměte prosím na vědomí, že jste přešli z editoru Pine na kartu Tester strategií. Zde můžete analyzovat potenciální zisk, zobrazit seznam obchodů a výkon každého obchodu.


Тестирование стратегии на Tradingview

Otevřené a uzavřené polohy


Pojďme si to shrnout

Nyní můžeme napsat vlastní skript pomocí známých nástrojů. Zkombinujeme EMA a RSI na stejném grafu a poté použijeme jejich hodnoty k obarvení svíček, abychom vytvořili informace, které lze snadno vizualizovat.

Výsledky grafu nepředstavují finanční poradenství – neexistuje objektivně správný způsob jeho použití. Stejně jako ostatní indikátory by měl být používán ve spojení s dalšími nástroji k rozvoji vlastní strategie.

Pojďme napsat náš nový scénář. Chcete-li mít volný prostor pro práci, odstraňte z grafu předchozí indikátory a skryjte graf Bitcoin/BUSD.

Začněme definováním naší studie. Pojmenujte to, jak chcete, jen se ujistěte, že overlay=true.

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

Vzpomeňme na vzorec EMA, který jsme popsali výše. Musíme určit multiplikátor pro období EMA. Udělejme z ní proměnnou (vstup), která je celým číslem (tedy bez desetinných míst). Nastavíme také minimální (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:

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


Pokuta. Nyní přejděme k RSI. Nastavíme jeho periodu 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)

Nyní 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 nastavíme logiku, která obarví svíčky v závislosti na hodnotách EMA a RSI. Zvažte situaci, kdy uzavírací cena svíčky překročí EMA (a) a když je RSI nad 50 (b).

Proč právě tyto podmínky? Tyto indikátory lze použít společně k tomu, aby vám řekly, kdy na bitcoiny jít na dlouhou nebo krátkou dobu. Pokud jsou například splněny obě podmínky, může to znamenat, že nyní je vhodná doba na otevření dlouhé pozice. Nebo naopak můžete pomocí tohoto indikátoru pochopit, kdy nechodit zkrátka, i když jiné indikátory říkají něco jiného.

Další řádek našeho skriptu 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á

Pokud kód přeložíme do běžného jazyka, ukáže se, že pokud hodnota EMA překročí uzavírací cenu a hodnota RSI přesáhne 50, obarvíme svíčku na zeleno. Jinak bude barva červená.

Přidat 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 přidáním parametru 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)

Zde je celý náš scénář! Chcete-li ji vidět v akci, přidejte ji do grafu.


Скрипт Tradingview в действии

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


souhrn

V tomto článku jsme se podívali na několik jednoduchých příkladů použití Pine Editoru TradingView. Nyní, pokud jste dokončili naše příklady, již můžete vytvářet jednoduché popisky pro cenové grafy a získat další informace ze svých vlastních ukazatelů.

V tomto článku jsme se dotkli pouze několika ukazatelů, ale složitější můžete analyzovat sami, a to buď výběrem vestavěných skriptů ze seznamu Nový, nebo jejich napsáním sami.

Hledáte inspiraci? Nápady na svůj další projekt můžete získat z následujících článků:

  • Rychlý průvodce používáním systému Parabolic SAR

  • Průvodce používáním Fibonacciho linií

  • Předstihové a zaostávající ukazatele

  • Co je indikátor MACD