Entradas

Define parámetros de indicador configurables con el espacio de nombres `input`

El espacio de nombres input te permite definir parámetros que los usuarios pueden configurar en la interfaz sin editar código. TradingGoose genera automáticamente un panel de configuración a partir de tus llamadas input.*().

Tipos de entrada

FunciónDevuelveDescripción
input.int(defval, title, minval?, maxval?, step?)numberEntrada de entero con rango y paso opcionales
input.float(defval, title, minval?, maxval?, step?)numberEntrada de punto flotante
input.bool(defval, title)booleanInterruptor/casilla de verificación
input.string(defval, title)stringEntrada de texto
input.color(defval, title)stringSelector de color (cadena hexadecimal)
input.source(defval, title)seriesSelector de fuente de datos (close, open, high, low, etc.)
input.timeframe(defval, title)stringSelector de marco temporal
input.price(defval, title)numberEntrada de nivel de precio
input.time(defval, title)numberEntrada de marca temporal
input.session(defval, title)stringEntrada de sesión de trading
input.symbol(defval, title)stringEntrada de símbolo/ticker
input.text_area(defval, title)stringEntrada de texto multilínea
input.enum(defval, title, options)TSelector desplegable a partir de una lista de opciones

Ejemplos

Entradas numéricas

// Integer with range constraints
const length = input.int(14, 'RSI Length', 1, 200, 1);

// Float with step
const multiplier = input.float(2.0, 'StdDev Multiplier', 0.1, 10.0, 0.1);

Booleano y cadena

const showSignals = input.bool(true, 'Show Signals');
const customLabel = input.string('Buy', 'Signal Label');

Selección de fuente

// Let users choose which price data to calculate on
const src = input.source(close, 'Source');
const sma = ta.sma(src, 20);

Enum (desplegable)

const maType = input.enum('SMA', 'MA Type', ['SMA', 'EMA', 'WMA', 'HMA']);

let ma;
switch (maType) {
  case 'EMA': ma = ta.ema(close, length); break;
  case 'WMA': ma = ta.wma(close, length); break;
  case 'HMA': ma = ta.hma(close, length); break;
  default:    ma = ta.sma(close, length);
}

Entrada de color

const bullColor = input.color('#00FF00', 'Bull Color');
const bearColor = input.color('#FF0000', 'Bear Color');

plot(close, 'Close', { color: close > open ? bullColor : bearColor });

Cómo funcionan las entradas

Cuando TradingGoose carga tu indicador, analiza todas las llamadas input.*() para:

  1. Extraer metadatos — título, tipo, valor predeterminado y restricciones (mín/máx/paso/opciones)
  2. Generar controles de interfaz — renderiza los controles de formulario adecuados en el panel de configuración del indicador
  3. Pasar valores en tiempo de ejecución — cuando un usuario cambia un parámetro, el indicador se vuelve a ejecutar con los valores actualizados

Los parámetros de entrada se extraen de forma estática de tu código. Mantén las llamadas input.*() en el nivel superior de tu script para obtener mejores resultados; evita colocarlas dentro de condicionales o bucles.