Indicators

Create custom technical analysis indicators with PineTS scripting

Indicators are custom technical analysis scripts that run on market data in TradingGoose. They are powered by PineTS, a JavaScript/TypeScript runtime for Pine Script, extended with TradingGoose-specific features like workflow triggers.

What Can You Build?

  • Technical indicators — RSI, MACD, Bollinger Bands, or your own custom calculations
  • Signal generators — Detect crossovers, breakouts, or custom conditions
  • Workflow triggers — Fire workflow executions when indicator conditions are met using the trigger() API
  • Visual overlays — Plot lines, shapes, and fills directly on the chart

How It Works

Write PineTS code in the Indicator Editor using familiar Pine Script syntax adapted for JavaScript/TypeScript

Define inputs with input.int(), input.float(), etc. — these become configurable parameters in the UI

Calculate using 57+ built-in technical analysis functions (ta.*), math operations, arrays, and more

Visualize with plot(), plotshape(), fill(), bgcolor() and other chart rendering functions

Trigger workflows by calling trigger() when conditions are met — connecting indicators to your automation pipelines

Quick Example

indicator('RSI Signal', { overlay: false });

const length = input.int(14, 'RSI Length');
const overbought = input.int(70, 'Overbought');
const oversold = input.int(30, 'Oversold');

const rsi = ta.rsi(close, length);

plot(rsi, 'RSI', { color: '#2962FF' });
hline(overbought, { color: '#FF0000', linestyle: hline.style_dashed });
hline(oversold, { color: '#00FF00', linestyle: hline.style_dashed });

// Trigger a workflow when RSI crosses below oversold
if (ta.crossunder(rsi, oversold)) {
  trigger('rsi_oversold', {
    condition: ta.crossunder(rsi, oversold),
    input: 'RSI crossed below oversold threshold',
    signal: 'long',
    position: 'belowBar',
    color: '#00FF00'
  });
}

Built-in Indicators

TradingGoose ships with 80+ pre-built indicators covering momentum, trend, volatility, and volume analysis. These serve as both ready-to-use tools and reference examples for writing your own.

PineTS is based on Pine Script v5/v6 syntax. If you're familiar with TradingView's Pine Script, you'll feel right at home — the main difference is using JavaScript variable declarations (const, let, var) instead of Pine Script's implicit declarations.

Guides