Skip to content
Typed Trader

Typed Trader

Typed Trader is a monorepo that gives you all the puzzle pieces for building a successful trading bot. You choose which pieces you need: just the strategies, just candle data for testing, or just the indicators to run technical analysis.

Every piece connects to the others, and every piece works in isolation. Use the famous trading-signals library inside your own trading framework. Take only the exchange package to connect your own bot to brokers like Alpaca or Trading 212. Or grab the candle datasets to experiment with backtesting.

You can even build your very own strategy, based on indicators, news, or API calls to other sources, and run it with the trading-strategies package. It is compatible with the exchange layer, so the same strategy can also trade live. On top of it all, the messaging package gives you a remote control: start your trading logic straight from Telegram.

And this documentation site is not just documentation. It offers full backtesting capabilities, too.

The Building Blocks

Loading diagram...

Take It Into Code

The site is a window into a set of open-source, fully-typed TypeScript packages. What you see in the demos is exactly what you get in code:

npm install trading-signals
import {} from 'trading-signals';
 
const  = new (5);
 
.(81);
.(24);
.(75);
.(21);
.(34);
 
.(.()); // 47

Indicators on Larger Timeframes

A strategy receives 1-minute candles. To run an indicator on hourly or daily bars, wrap it in a BatchedIndicator from the trading-strategies package. It batches the candles and only feeds completed bars to the indicator:

import {ms} from 'ms';
import {SMA} from 'trading-signals';
import {BatchedIndicator} from 'trading-strategies';
 
const sma = new SMA(3);
const hourly = new BatchedIndicator('1h', sma, bar => bar.close.toNumber());
 
// Seed the SMA with the last 3 finished hourly bars
hourly.warmUp(await market.getRecentCandles(pair, sma.getRequiredInputs(), ms('1h')));
hourly.getResult();
// Feed new candles until the `add` method returns a result
const hourlyResult = hourly.add(candle);

trading-signals

Indicators

Over 120 streaming technical indicators with zero runtime dependencies. Feed prices in, read stable results out — the core of everything on this site.

View on npm →

trading-strategies

Strategies

Turns indicator readings into buy/sell advice. Ready-made strategies included, plus built-in stop-loss and take-profit protection for any custom one.

View on npm →

@typedtrader/exchange

Broker access

One typed API for different brokers: order execution, live candles over WebSocket, and paper trading. Alpaca is supported today, more can plug in.

View on npm →

@typedtrader/messaging

Remote control

Drive your bot from Telegram: connect accounts, launch strategies through chat wizards, watch prices, and schedule recurring reports.

View on GitHub →

@typedtrader/candles

Datasets

Synthetic market regimes and real symbol history as ready-to-use candle datasets — the data behind every demo and backtest on this site.

View on GitHub →

Typed Trader is for research and education — nothing here is financial advice.