Přichází Pine Script v4!

Seznamte se s novou verzí programovacího jazyka Pine Script. Přináší nové funkce, byla zlepšena struktura jazyka a byly opraveny nějaké chyby.


Avšak nejdůležitější a dlouho očekávanou novinkou je podpora kreslení objektů. Krátce zde shrneme novinky, pro detailnější náhled je dostupná oficiální dokumentace a manuál.

Objekt label (štítek)

Funkce label.new umožňuje přidávat štítky s libovolným textem. Zde je příklad štítku ukazující zavírací cenu poslední svíčky:

//@version=4
study("Last Bar Price", overlay=true)

l = label.new(bar_index, na, 'last price is '+tostring(close),
color=close >= open ? color.green : color.red,
textcolor=color.white,
style=label.style_labeldown, yloc=yloc.abovebar)

label.delete(l[1])

Po vytvoření  štítku jej lze upravit nebo smazat funkcemi label.*.
Zde najdete složitější využití štítku.

Objekt line (přímka)

Funkce line.new umožňuje do grafu kreslit přímky. Zde je příklad skriptu, který narýsuje trendovou čáru spojující high aktuální svíčky  a low desáté předchozí  svíčky:

//@version=4
study("Line", overlay=true)
l = line.new(bar_index, high, bar_index[10], low[10], width = 4)
line.delete(l[1])

Po vytvoření přímky ji lze upravit nebo smazat funkcemi line.*.
Zde opět podrobnější popis .

Poznámka – Aktuálně lze skriptem zobrazit maximálně 50 až 55 objektů stejného typu (label nebo line). Je to záměrné omezení coby prevence přetížení TV serverů.

Series string

Nyní je podporován datový typ series string. Zde je příklad jeho využití se štítky (label).

//@version=4
study("Series string", overlay = true)
draw_label(title) =>
    label.new(bar_index, high, text=title)
t = close >= open ? "green" : "red"
draw_label(t)

Klíčové slovo „var“

Proměnná deklarovaná běžným způsobem se inicializuje při každém výpočtu skriptu vždy znovu. To nutilo skripty pracovat s proměnnými určitým způsobem, aby byla hodnota zachována.
Klíčové slovo „var“ deklaruje proměnou a inicializuje ji pouze jednou. Hodnota proměnné je mezi svíčkami automaticky uložena. Zde je příklad skriptu, který počítá zelené svíčky v grafu.

//@version=4
study("My Script")
var s = 0.0
if close >= open
    s := s + 1
plot(s)

Pokaždé když platí podmínka close >= open, hodnota s se zvýší o 1. Výchozí hodnota při inicializaci může být libovolný aritmetický výraz.

Syntaxe pro deklaraci proměnných pomocí var umožňuje vynechat dříve nezbytný kód:s := nz(s[1], s)

Přejmenování vestavěných konstant, proměnných a funkcí

V PS v4 byly přejmenovány následující vestavěné konstanty, proměnné a funkce:

  1. Barevné konstanty (např. red) byly přesunuty do namespace color.* (např. color.red).
  2. Funkce color byla přejmenována na color.new.
  3. Konstanty pro vstup (např. integer) byly přesunuty do jmenného prostoru (namespace) input.* (např. input.integer).
  4. Konstanty stylu příkazu plot (např. histogram) byly přesunuty do namespace plot.style_* (např. plot.style_histogram).
  5. Konstanty stylu pro funkci hline (např. tečkované) byly přesunuty do namespace hline.stlye_* (např. hline.stlye_dotted).
  6. Konstanty dnů týdne (např. sunday) byly přesunuty do namespace dayofweek.* (např. dayofweek.sunday)
  7. Proměnné týkající se aktuálního časového rozpětí grafu (např. period, isintraday) byly přesunuty do namespace timeframe.* (např. timeframe.period, timeframe.isintraday).
  8. Proměnná interval byly přejmenovány na timeframe.multiplier.
  9. Proměnné ticker a tickerid byly přejmenovány na syminfo.ticker a syminfo.tickerid.
  10. Proměnná n obsahující bar index byla přejmenována na bar_index.

Výše uvedené změny proběhly za účelem strukturovat standardní nástroje jazyka a zjednodušit práci s jeho kódem. Nová jména jsou seskupena podle společných prefixů. Například když napíšete do editoru „color“ a stisknete CTRL + mezerník, zobrazí se vám všechny možné barevné konstanty.

Explicitní deklarace typu proměnné

V PS v4 již nelze vytvořit proměnnou s neznámým data typem (viz na value). Tato změna byla zavedena pro vyhnutí se některým problémům, které se vyskytnou při změně typu proměnné po její inicializaci bez hodnoty (s hodnotou „na“). Nyní je třeba specifikovat typ proměnné s hodnotou na pomocí klíčových slov nebo typových funkcí (např. float):

//@version=4
study("NA", overlay=true)
float a = na
a := if close >= open
    high
else
    low
plot(a)

 

Vyzkoušejte Pine Script v4. Někteří uživatelé již připravili několik užitečných skriptů, které demonstrují možnosti kreslení. Například Ricardo Santos zveřejnil níže uvedenou sérii skriptů:

 

Uživatel Joris Duyck napsal skript Trendlines ukazující možnosti trendových linek.

Můžete nám poskytnou zpětnou vazbu v chatu TV. Tuto novou verzi pomáhali testovat Pinescripters. Lze také klást dotazy ke kódu na stránce Stack Overflow.

https://www.tradingview.com/blog/en/introducing-pine-script-4-12626/

 

Komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *