# TradeCanvas

A zero-dependency canvas charting engine for building TradingView-style trading charts in JavaScript, with 66 technical indicators, 24 drawing tools, 17 chart types, and real-time streaming.

TradeCanvas is a canvas-based trading chart library, installed as an npm package, that ships with a built-in TradingView-like interface through a single widget call: a toolbar, a drawing sidebar, a settings dialog, and a status bar, usable from any JavaScript framework. It has zero external dependencies, computing all 66 of its technical indicators, such as SMA, EMA, RSI, MACD, Bollinger Bands, Ichimoku, and Supertrend, internally.

It supports 24 drawing tools, including trendlines, Fibonacci retracements and time zones, channels, Elliott waves, and Gann tools, with magnet snapping and undo and redo, and 17 chart types such as candlestick, OHLC bars, Heikin-Ashi, Renko, Kagi, and point and figure. A multi-chart grid, a replay mode, and a strategy backtester are included, along with a trading overlay that can render positions, orders, and stop-loss and take-profit markers directly on the chart.

Real-time data streams in through a built-in Binance WebSocket adapter with typed REST and WebSocket validators, or through a simple adapter interface for a custom data source.

Website: https://bonguynvan.github.io/tradecanvas
