Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@tradecanvas/core

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tradecanvas/core

Canvas rendering engine for @tradecanvas/chart

latest
Source
npmnpm
Version
0.9.0
Version published
Maintainers
1
Created
Source

@tradecanvas/core

Canvas rendering engine, indicators, drawing tools, trading overlays, and real-time streaming for the @tradecanvas/chart library.

Live Demo | GitHub | Documentation

Install

You don't need to install this package directly. It's included as a dependency of @tradecanvas/chart.

npm install @tradecanvas/chart

What's Inside

Rendering Engine

Multi-layer canvas rendering for optimal performance -- only dirty layers repaint each frame:

  UI Layer      (price axis, legend, live price)      z=3
  Overlay Layer (drawings, trading positions/orders)  z=2
  Main Layer    (candles, indicators, volume)          z=1
  Background    (grid, watermark)                      z=0
  • RenderEngine -- orchestrates the render pipeline
  • LayerManager -- manages canvas layer stack
  • RenderLoop -- requestAnimationFrame loop with dirty tracking
  • DPRManager -- device pixel ratio handling for crisp rendering

Chart Renderers (17 types)

CandlestickRenderer, HollowCandleRenderer, BarRenderer, LineRenderer, AreaRenderer, BaselineRenderer, RenkoRenderer, KagiRenderer, PointAndFigureRenderer, VolumeRenderer, VolumeCandleRenderer, EquivolumeRenderer, HLCAreaRenderer, StepLineRenderer, LineWithMarkersRenderer, CompareRenderer. Heikin-Ashi, Line Break, and Range Bars reuse CandlestickRenderer against transformed data.

Data transforms: toHeikinAshi, toRenko, toLineBreak, toKagi, toPointAndFigure, toRangeBars

Indicators (33 built-in)

Overlay (on price chart): SMA, EMA, Hull MA, Bollinger Bands, Keltner Channel, Donchian Channel, Ichimoku Cloud, Parabolic SAR, Supertrend, VWAP, Anchored VWAP, Pivot Points (Classic), ZigZag, Linear Regression Channel

Panel (separate sub-chart): RSI, MACD, Stochastic, ATR, ADX, CCI, CMF, MFI, OBV, ROC, TSI, Williams %R, Awesome Oscillator, Chaikin Oscillator, Volume Profile, VROC, Standard Deviation, Accumulation/Distribution, Aroon

Indicator parameters are read through getNumberParam / getIntParam helpers, so invalid values (NaN, Infinity, missing keys, non-numeric strings) safely fall back to defaults instead of producing NaN-laced calculations.

Extensible via IndicatorBase for custom indicators.

Web Worker offload

IndicatorWorkerHost wraps a Worker and exposes a Promise-based calculate() so heavy charts can run indicator math off the main thread:

import { IndicatorWorkerHost } from '@tradecanvas/core'

const worker = new Worker(new URL('./dist/indicator.worker.js', import.meta.url), { type: 'module' })
const host = new IndicatorWorkerHost(worker)
const output = await host.calculate('rsi', config, bars)

Pass null instead of a worker for synchronous fallback (SSR, tests). The shipped indicator.worker.js registers all 33 built-in indicators and supports calculate and ping requests.

Drawing Tools (24)

Trendline, Horizontal/Vertical Lines, Ray, Extended Line, Parallel Channel, Fibonacci Retracement / Extension / Time Zones (new in 0.8), Rectangle, Ellipse, Triangle, Arrow, Pitchfork, Gann Fan/Box, Elliott Wave, Regression Channel, Date/Price Range, Measure, Anchored VWAP, Volume Profile Range, Text Annotation

All tools support magnet snapping, undo/redo, and serialization. Extensible via DrawingBase.

Trading

  • TradingManager -- manage positions and orders
  • TradingRenderer -- render entry lines, P&L zones, SL/TP markers
  • OrderRenderer -- render pending orders with drag-to-modify
  • DepthOverlay -- bid/ask depth visualization

Real-Time Streaming

  • StreamManager -- manage data connections with auto-reconnect
  • BinanceAdapter -- built-in Binance WebSocket adapter
  • MockAdapter -- testing and demo data
  • TickAggregator -- aggregate raw ticks into OHLC bars
  • ReconnectManager -- exponential backoff reconnection

Interaction

  • Pan, zoom (wheel/pinch), crosshair tracking
  • Keyboard shortcuts (arrows, +/-, Home/End, Space)
  • Drawing tool interaction with magnet snapping

Features

  • AlertManager -- price and indicator alerts
  • ReplayManager -- bar-by-bar historical replay (Chart-tied)
  • ReplayController (new in 0.8) -- headless replay decoupled from Chart; powers backtest visualization
  • ChartStateManager -- save/load chart state as JSON
  • UndoRedoManager -- undo/redo for drawings
  • DataExporter -- export visible/all data as CSV or JSON

UI

  • ChartLegend -- OHLCV overlay display
  • Screenshot -- export chart as PNG
  • Watermark -- background text watermark
  • BarCountdown -- time until candle close
  • SessionBreaks -- market session visualization

License

MIT

Keywords

trading

FAQs

Package last updated on 02 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts