Více možností s kompilovanými konstantami
Pine Script umožňoval použít 3 typy konstant – literály, ne-literály a série. Nyní byl přidán typ další, ale podívejme se nejdříve na ty dosavadní.
Literál – obsahuje pevné hodnoty jako 15.5 nebo -2 (používáme desetinnou tečku).
Ne-literál – má stále stejnou hodnotu ve všech barech, ale není to číslo – např. ticker, interval nebo sin(1).
Série (konstantních hodnot) – reprezentuje čísla, které mají jinou hodnotu pro každý bar – např. open, close a time[1].
Některé funkce (input, color) přijímají do některých argumentů pouze literály.
TV pro větší pohodlnost přidalo nový typ konstant, které mohou být kalkulovány při kompilaci. Ten může obsahovat nejen literály, ale i matematické vzorce, které obsahují další literály nebo konstanty.
Jakýkoliv typ Pine Script literálu (integer, float, boolean, string) má definované parametry, kdežto série je obecného typu.
Kompilované konstanty leží někde mezi literály a ne-literály. Všechny funkce, které vyžadovaly jako argument pouze literály, budou nyní akceptovat i kompilované konstanty.
Zde je několik příkladů volání funkcí:
pi = acos(-1) r = input(pi) mins = input(24*60)
la = barmerge.lookahead_on daily = security(tickerid, 'D', close, lookahead=la) daily_low = security(tickerid, 'D', low, lookahead=la)
in_sma='SMA', in_ema='EMA', in_mixed='1/2 SMA + 1/2 EMA' smoothing = input(in_sma, options=[in_sma, in_ema, in_mixed]) smoothed = na if smoothing == in_sma smoothed := sma(close, 7) if smoothing == in_ema smoothed := ema(close, 7) if smoothing == in_mixed smoothed := 0.5*sma(close, 7) + 0.5*ema(close, 7)