close current bar close
open bar open
high / low bar high / low
volume bar volume
prevClose previous close
i bar index (0-based)
data[i] raw bar object
signal='BUY' green ▲ arrow
signal='SELL' red ▼ arrow
label='text' annotation
sma(p,atI?) simple moving avg
ema(p,atI?) exp moving avg (dashed)
hma(p,atI?) hull moving avg
rsi(p,atI?) → 0-100
bb(p,mult) → {upper,mid,lower}
macd(f,s,sig) → {macd,signal,histogram}
vwap(atI?) → number
atr(p,atI?) avg true range
stoch(k,d) → {k,d}
cci(p,atI?) commodity channel
williamsR(p,atI?) → -100 to 0
obv(atI?) on balance volume
ichimoku(t,k) → {tenkan,kijun}
SMA crossover
const fast=sma(20),slow=sma(50);
if(i===0)return;
const pf=sma(20,i-1),ps=sma(50,i-1);
if(pf<=ps&&fast>slow){signal='BUY';label='X↑';}
if(pf>=ps&&fast<slow){signal='SELL';label='X↓';}
RSI + BB combo
const r=rsi(14),b=bb(20,2);
if(r<35&&close<b.lower){signal='BUY';label='Combo↑';}
if(r>65&&close>b.upper){signal='SELL';label='Combo↓';}