# chart-js
**Repository Path**: xinxing_me/chart-js
## Basic Information
- **Project Name**: chart-js
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-07-17
- **Last Updated**: 2026-07-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# FCS Chart - Free JavaScript Financial Charting Library
Lightweight, high-performance **JavaScript charting library** for building interactive **financial charts** — **Forex charts**, **cryptocurrency charts**, and **stock market charts** with **real-time data**, **60+ technical indicators**, and **advanced drawing tools**. A powerful open-source **TradingView alternative** for web developers and brokers.
[](https://opensource.org/licenses/MIT)
[](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
[](https://www.jsdelivr.com/package/gh/fcsapi/chart-js)
> Build professional trading charts for your website, trading platform, or broker application with just a few lines of code. No frameworks required — works with vanilla JavaScript, React, Vue, Angular, or any web stack.
## Why FCS Chart?
| Feature | FCS Chart | Other Libraries |
|---------|-----------|-----------------|
| Real-time WebSocket data | Yes | Often paid/separate |
| 60+ Technical indicators | Built-in | Limited or plugin-based |
| Drawing tools (Fibonacci, Trendlines) | Built-in | Rarely included |
| Forex + Crypto + Stocks | All-in-one | Usually single market |
| Mobile responsive | Yes | Varies |
| Bundle size | Lightweight | Often heavy |
| Pricing | Free / MIT License | Often commercial |
## Features
- **Real-time Trading Charts** — Live candlestick price updates via WebSocket connection
- **Multi-Market Data** — Forex currency pairs, cryptocurrency (Bitcoin, Ethereum, etc.), and stock market data (NASDAQ, NYSE)
- **60+ Technical Analysis Indicators** — RSI, MACD, Bollinger Bands, EMA, SMA, Ichimoku Cloud, Stochastic, ATR, VWAP, and more
- **Professional Drawing Tools** — Trendlines, Fibonacci retracement, horizontal lines, shapes, text annotations, and XABCD patterns
- **8 Chart Types** — Candlestick, OHLC bars, Line, Area, Heikin-Ashi, Hollow candles, High-Low, Volume candles
- **Dark & Light Themes** — Customizable color schemes for any UI
- **Responsive Design** — Optimized for desktop, tablet, and mobile browsers
- **Multi-Chart Layouts** — Display multiple charts side by side with different symbols or timeframes
- **Chart Replay Mode** — Replay historical price action for backtesting strategies
- **Screenshot & Export** — Export charts as images for reports and sharing
- **Broker Integration** — Add TP/SL/Entry price lines programmatically via API
- **Undo/Redo Support** — Full undo/redo for all drawing operations (Ctrl+Z, Ctrl+Y)
- **Keyboard Shortcuts** — Professional keyboard shortcut support
- **Timezone Support** — Local, UTC, or custom timezone offsets
- **No Dependencies** — Pure JavaScript, no jQuery or external frameworks required
## Demo
See the live chart in action: [FCS API Chart Demo](https://fcsapi.com/crypto-chart)
## Installation
### CDN (Recommended)
The fastest way to get started — add two lines to your HTML:
```html
```
### Pin a Specific Version
| Version | Status |
|---------|--------|
| `@latest` | Recommended — always up to date |
| `@4.0.3` | Current stable release |
| `@4.0.2` | Previous stable |
| `@4.0.1` | Previous stable |
```html
```
### Install via Git
```bash
git clone https://github.com/fcsapi/chart-js.git
cd chart-js
```
### Self-Hosted / Local Files
```html
```
## Quick Start — Create Your First Chart
Get a chart running in under 2 minutes:
```html
My Trading Chart
```
## Examples
| Example | Description |
|---------|-------------|
| [Simple Chart](examples/simple.html) | Minimal setup — just 3 required settings to render a chart |
| [Full Configuration](examples/index.html) | Complete trading chart with all configuration options |
## Configuration Reference
### Required Settings
Only 3 settings are required to create a chart:
```javascript
const chart = new FCSAPIChart({
container: document.getElementById('fcs_chart'), // Chart container element
parentid: 'fcs_chartparent', // Parent container ID
accessKey: 'YOUR_API_KEY', // Get free key at fcsapi.com
});
```
### Chart Settings
```javascript
{
symbol: 'BINANCE:BTCUSDT', // Symbol to display (format: EXCHANGE:SYMBOL)
period: '1H', // Timeframe: 1m, 5m, 15m, 30m, 1h, 4h, 1D, 1W, 1M
length: 600, // Number of candles to load
theme: 'dark', // 'dark' | 'light'
defaultChartType: 'candlestick', // candlestick | bars | line | area | hollow | heikin-ashi
}
```
### Real-time WebSocket Settings
```javascript
{
enableSocket: true, // Enable live price updates
socketApiKey: 'YOUR_SOCKET_KEY', // WebSocket API key
}
```
### UI & Layout Options
```javascript
{
displayMode: 'normal', // 'normal' = full UI | 'chartonly' = embeddable chart only
enableSidebar: true, // Left sidebar with drawing tools
enableToolbar: true, // Top toolbar with controls
enableRangeSelector: true, // Bottom time range selector
}
```
### Toolbar Controls
```javascript
{
enableSearch: true, // Symbol search bar
enableIndicators: true, // Technical indicators panel
enableMultiChart: true, // Multi-chart layout selector
enableReplay: true, // Historical replay mode
enableCapture: true, // Screenshot & image export
enableUndoRedo: true, // Undo/Redo (Ctrl+Z, Ctrl+Y)
enableTemplates: true, // Save/load chart templates
enableSettings: true, // Settings panel
}
```
### Chart Features
```javascript
{
enableContextMenu: true, // Right-click context menu
enableDrawingTools: true, // Drawing & annotation tools
enableGrid: false, // Grid lines
enableCrosshair: true, // Crosshair on hover
enablePriceLine: true, // Current price line
enableAskBidLines: false, // Ask/Bid price lines
enableHighLowLabels: true, // High/Low price labels
autoScale: true, // Auto-scale price axis
logScale: false, // Logarithmic price scale
}
```
### Color Customization
```javascript
{
askLabelColor: '#00bcd4', // Ask price label color
bidLabelColor: '#ff9800', // Bid price label color
lastPriceLabelColor: null, // Last price label (null = candle color)
}
```
### Timezone Configuration
```javascript
{
timezone: 'local', // 'local' | 'UTC' | '+05:00' | '-08:00'
}
```
## API Methods
### Change Symbol & Timeframe
```javascript
chart.setSymbol('NASDAQ:AAPL'); // Switch to Apple stock
chart.setSymbol('FX:EURUSD'); // Switch to EUR/USD forex pair
chart.setSymbol('BINANCE:ETHUSDT'); // Switch to Ethereum
chart.setPeriod('4h'); // Change to 4-hour timeframe
```
### Theme & Chart Type
```javascript
chart.setTheme('light'); // Switch to light theme
chart.setChartType('line'); // Switch to line chart
chart.setChartType('candlestick'); // Switch to candlestick chart
```
### Export Chart as Image
```javascript
const imageData = chart.exportImage(); // Returns base64 image string
```
### Resize & Cleanup
```javascript
chart.resize(); // Recalculate after container resize
chart.destroy(); // Remove chart and free memory
```
### Horizontal Line API — For Brokers & Trading Platforms
Programmatically add Take Profit, Stop Loss, and entry price lines:
```javascript
// Add Take Profit line
const tpLine = await chart.addHorizontalLine({
price: 45000,
color: '#4caf50',
label: 'TP',
style: 'dashed'
});
// Add Stop Loss line
const slLine = await chart.addHorizontalLine({
price: 42000,
color: '#f44336',
label: 'SL',
style: 'dashed'
});
// Update line price (e.g., drag TP/SL)
chart.updateHorizontalLine(tpLine, { price: 46000 });
// Remove a specific line
chart.removeHorizontalLine(tpLine);
// Get all horizontal lines
const lines = chart.getHorizontalLines();
// Clear all lines
chart.clearHorizontalLines();
```
## Supported Markets & Symbol Format
| Market | Format | Examples |
|--------|--------|----------|
| **Forex** | `FX:PAIR` | `FX:EURUSD`, `FX:GBPUSD`, `FX:USDJPY`, `FX:AUDUSD` |
| **Crypto** | `EXCHANGE:PAIR` | `BINANCE:BTCUSDT`, `BINANCE:ETHUSDT`, `COINBASE:ETHUSD` |
| **Stocks** | `EXCHANGE:SYMBOL` | `NASDAQ:AAPL`, `NASDAQ:TSLA`, `NASDAQ:GOOGL`, `NYSE:MSFT` |
## Supported Timeframes
| Period | Description |
|--------|-------------|
| `1m` | 1 Minute chart |
| `5m` | 5 Minute chart |
| `15m` | 15 Minute chart |
| `30m` | 30 Minute chart |
| `1h` | 1 Hour chart |
| `4h` | 4 Hour chart |
| `1D` | Daily chart |
| `1W` | Weekly chart |
| `1M` | Monthly chart |
## Chart Types
| Type | Description |
|------|-------------|
| `candlestick` | Japanese candlestick chart |
| `bars` | OHLC bar chart |
| `line` | Line chart |
| `area` | Area / Mountain chart |
| `hollow` | Hollow candlestick chart |
| `heikin-ashi` | Heikin-Ashi smoothed candles |
| `high-low` | High-Low range chart |
| `volume-candles` | Volume-weighted candle chart |
## Technical Indicators (60+)
Full list of built-in technical analysis indicators for trading:
**Trend Indicators:**
SMA (Simple Moving Average), EMA (Exponential Moving Average), WMA (Weighted Moving Average), DEMA (Double EMA), TEMA (Triple EMA), Bollinger Bands, Keltner Channels, Ichimoku Cloud, Parabolic SAR, SuperTrend, ADX (Average Directional Index)
**Oscillators:**
RSI (Relative Strength Index), Stochastic Oscillator, MACD (Moving Average Convergence Divergence), CCI (Commodity Channel Index), Williams %R, ROC (Rate of Change), Awesome Oscillator, CMO (Chande Momentum Oscillator)
**Volume Indicators:**
OBV (On Balance Volume), Volume, VWAP (Volume Weighted Average Price), Chaikin Money Flow, MFI (Money Flow Index), Accumulation/Distribution Line
**Volatility Indicators:**
ATR (Average True Range), Standard Deviation, Bollinger Bandwidth
## Drawing Tools
Professional-grade drawing and annotation tools:
- **Lines** — Trendlines, horizontal lines, vertical lines, ray lines
- **Fibonacci** — Fibonacci retracement, extension, fan, arcs, time zones
- **Patterns** — XABCD harmonic patterns
- **Shapes** — Rectangle, ellipse, triangle
- **Text & Labels** — Text annotations, price labels, callouts
- **Measurement** — Price range, date range, price & date range
## Use Cases
- **Trading Platforms** — Embed professional charts in your web-based trading platform
- **Broker Websites** — Add interactive financial charts with TP/SL line support
- **Crypto Dashboards** — Real-time Bitcoin, Ethereum, and altcoin price charts
- **Forex Portals** — Live currency pair charts with technical analysis tools
- **Stock Market Apps** — Interactive stock charts with indicators for financial websites
- **Financial News Sites** — Embed responsive charts alongside market news
- **Education & Research** — Teaching technical analysis with interactive chart tools
- **Portfolio Trackers** — Visualize asset performance with historical charts
## Project Structure
```
chart-js/
├── src/
│ ├── fcsapi-chart.js # Main chart library
│ ├── fcsapi-chart.css # Chart styles
│ └── chunks/ # Lazy-loaded modules (loaded on demand)
│ ├── indicator.technicals.*.js # Technical indicator calculations
│ ├── indicator.patterns.*.js # Pattern recognition modules
│ └── indicator.signals.*.js # Signal generation modules
├── examples/
│ ├── simple.html # Simple example (minimal setup)
│ └── index.html # Full configuration example
├── README.md
└── LICENSE
```
## Get Your Free API Key
1. Visit [FCS API](https://fcsapi.com)
2. Create a free account
3. Copy your API key from the dashboard
4. Start building charts!
## Documentation & Resources
- [FCS API Documentation](https://fcsapi.com/document) — Full API reference
- [Chart API Guide](https://fcsapi.com/document/stock-api#chart) — Chart-specific documentation
- [FCS API Dashboard](https://fcsapi.com/dashboard) — Manage your API keys
## Browser Support
| Browser | Version |
|---------|---------|
| Chrome | 60+ |
| Firefox | 55+ |
| Safari | 12+ |
| Edge | 79+ |
| Mobile Chrome | 60+ |
| Mobile Safari | 12+ |
## Support & Community
- **Email:** support@fcsapi.com
- **Website:** [fcsapi.com](https://fcsapi.com)
- **Issues:** [GitHub Issues](https://github.com/fcsapi/chart-js/issues)
## Keywords
`javascript chart library`, `financial chart`, `trading chart`, `stock chart`, `forex chart`, `crypto chart`, `candlestick chart`, `technical analysis`, `real-time chart`, `websocket chart`, `TradingView alternative`, `open source chart`, `OHLC chart`, `bitcoin chart`, `market data visualization`, `broker chart widget`, `embeddable chart`, `lightweight chart`, `charting library`, `interactive chart`
## License
MIT License — see [LICENSE](LICENSE) file for details.
Free to use in personal and commercial projects.