scripting
Tipos de script
Indicator, Alert, Screener, Drawing, Strategy — qué hace cada superficie y en qué se diferencian.
El mismo DSL apunta a cinco superficies. Cada tipo tiene semánticas
ligeramente distintas — qué significa output, qué corre en tiempo de
evaluación, y dónde aparece el resultado.
Indicator
Pinta una serie u oscilador en el gráfico. output es el valor que
expones a otros scripts (puedes encadenar indicadores).
let r = rsi(close, 14)
plot(r, pane: "rsi")
output r
Runtime: vista previa del gráfico, instantánea. Sin capacidad de órdenes.
Alert
output es un booleano. El runtime dispara notify(...) cuando se vuelve
true en cierre de barra. El plan Pro lo envía a través de un cloud worker
24/7.
let trigger = close > sma(close, 200) and volume > sma(volume, 20) * 2
notify(when: trigger, channel: "discord")
output trigger
Screener
Un loop que cede los símbolos que coinciden con una condición. Corre sobre una watchlist en un schedule configurable.
for sym in watchlist("us-large-cap") {
let hit = rsi(close, 14) < 30 and close > vwap()
if hit { yield sym }
}
Drawing
Formas programáticas en el gráfico. Sin output — solo efectos
secundarios.
let pivot = high[1]
draw_zone(top: pivot, bottom: pivot - atr(14), fill: accent, opacity: 0.1)
Strategy
Código emisor de órdenes. Backtestea contra el mismo motor de fills que
corre live. La regla de auto-flip convierte un booleano estilo indicador
en posiciones long/flat cuando no hay llamadas explícitas a buy/sell.
let fast = sma(close, 12)
let slow = sma(close, 26)
if cross_up(fast, slow) { buy(qty: 1) }
if cross_down(fast, slow) { sell_all() }
Matriz de decisión
| Necesidad | Usa | |---|---| | Pintar una línea | Indicator | | Notificarte ante una condición de precio | Alert | | Filtrar una watchlist a diario | Screener | | Resaltar zonas | Drawing | | Generar órdenes | Strategy |