All notable changes to the Chart-To-Image library will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Bollinger Bands Indicator: Advanced volatility and trend analysis with custom colors and background fill
- Complete Technical Suite: VWAP, EMA, SMA, and Bollinger Bands working together
- Advanced Color Customization: Individual colors for upper, middle, and lower bands
- Background Fill: Configurable background fill between bands with opacity control
- Multi-Chart Support: Bollinger Bands on all chart types (candlestick, line, area, heikin-ashi, renko)
- Comparison Integration: Full Bollinger Bands support in comparison charts
- CLI Integration:
--bbflag with comprehensive color options - API Support: Programmatic access to Bollinger Bands with custom configurations
- Bollinger Bands Calculation: Standard deviation-based volatility analysis
- Custom Periods: Configurable periods (default: 20) and standard deviations (default: 2)
- Three-Band System: Upper (resistance), Middle (SMA), Lower (support) bands
- Advanced Styling: Dashed lines for upper/lower bands, solid line for middle band
- Background Fill: Optional fill between bands with configurable opacity (0.0-1.0)
- Color Customization: Individual colors for each band and background fill
- Professional Labels: "BB(period)" labels with consistent styling
- Complete Integration: Works seamlessly with VWAP, EMA, and SMA indicators
- BollingerBandsRenderer: Dedicated renderer with split background/lines rendering
- Split Rendering: Background fill rendered before candlesticks, lines after
- Type Safety: Full TypeScript support for Bollinger Bands configurations
- Performance: Optimized calculations and rendering with proper coordinate mapping
- Error Handling: Robust validation for Bollinger Bands parameters
- Comparison Support: Full integration with ComparisonService and ComparisonConfig
- CLI Integration: Complete argument parsing for all Bollinger Bands options
- README: Updated with Bollinger Bands feature descriptions and examples
- USAGE.md: Comprehensive Bollinger Bands usage guide with all chart types
- CLI Examples: Command-line usage for basic and advanced Bollinger Bands
- API Examples: Programmatic Bollinger Bands integration
- Comparison Examples: Bollinger Bands in comparison charts
- Color Examples: Custom color combinations for different themes
- Professional Rendering: Background fill appears behind candlesticks for proper layering
- Custom Colors: Individual control over upper, middle, lower band colors
- Background Fill: Configurable fill between bands with opacity control
- Consistent Styling: Dashed lines for resistance/support, solid for trend
- Complete Suite: All four indicators (VWAP, EMA, SMA, BB) working harmoniously
- Multi-Chart Support: Bollinger Bands on candlestick, line, area, heikin-ashi, renko charts
--bb: Enable Bollinger Bands indicator--bb-period <number>: Custom period (default: 20)--bb-standard-deviations <number>: Standard deviations (default: 2)--bb-upper-color <color>: Upper band color--bb-middle-color <color>: Middle band color--bb-lower-color <color>: Lower band color--bb-background-color <color>: Background fill color--bb-background-opacity <number>: Background opacity (0.0-1.0)
- Side-by-Side: Bollinger Bands in symbol comparison charts
- Grid Layout: Bollinger Bands in grid comparison layouts
- Timeframe Comparison: Bollinger Bands across different timeframes
- Custom Colors: Individual color customization in comparison charts
- Background Fill: Configurable background fill in comparison mode
// Basic Bollinger Bands
const config = {
showBollingerBands: true,
bbPeriod: 20,
bbStandardDeviations: 2
}
// Advanced with custom colors
const config = {
showBollingerBands: true,
bbPeriod: 20,
bbStandardDeviations: 2,
bbColors: {
upper: '#ff6b9d',
middle: '#4ecdc4',
lower: '#ff6b9d',
background: '#ff6b9d',
backgroundOpacity: 0.2
}
}- SMA Indicator: Simple Moving Average with configurable periods
- Complete Indicator Suite: VWAP, EMA, and SMA working together on all chart types
- Comparison Support: All indicators available in comparison charts
- CLI Integration:
--smaflag for SMA indicator activation - API Support: Programmatic access to SMA indicator
- Professional Quality: Complete institutional-grade technical analysis toolkit
- SMA Calculation: Simple arithmetic moving average with period customization
- Multi-Chart Support: SMA works on candlestick, line, area, heikin-ashi, renko, line-break
- Comparison Charts: SMA displays in side-by-side and grid layouts
- Timeframe Analysis: SMA across different timeframes
- Custom Periods: Configurable SMA periods (default: 20)
- Visual Styling: Teal SMA line with "SMA(period)" labels
- Complete Suite: Use VWAP, EMA, and SMA together for comprehensive analysis
- SMARenderer: Dedicated renderer for Simple Moving Average
- Type Safety: Full TypeScript support for SMA configurations
- Performance: Optimized SMA calculations and rendering
- Error Handling: Robust validation for SMA parameters
- Integration: Seamless integration with existing VWAP and EMA indicators
- Position Fix: Fixed indicator alignment with candle positions
- README: Updated with SMA feature descriptions
- USAGE.md: Comprehensive SMA usage guide
- CLI Examples: Command-line usage for SMA indicator
- API Examples: Programmatic SMA integration
- SMA Labels: Clear "SMA(period)" labels
- Line Styling: Teal SMA lines with consistent colors
- Complete Display: VWAP, EMA, and SMA working together harmoniously
- Professional Quality: Complete institutional-grade indicator visualization
- Perfect Alignment: Fixed indicator positioning to match candle positions
- EMA Indicator: Exponential Moving Average with configurable periods
- Combined Indicators: VWAP and EMA working together on all chart types
- Comparison Support: Both indicators available in comparison charts
- CLI Integration:
--emaflag for EMA indicator activation - API Support: Programmatic access to EMA indicator
- Professional Quality: Institutional-grade technical analysis tools
- EMA Calculation: Exponential moving average with period customization
- Multi-Chart Support: EMA works on candlestick, line, area, heikin-ashi, renko, line-break
- Comparison Charts: EMA displays in side-by-side and grid layouts
- Timeframe Analysis: EMA across different timeframes
- Custom Periods: Configurable EMA periods (default: 20)
- Visual Styling: Solid EMA line with "EMA(period)" labels
- Combined with VWAP: Use both indicators together for comprehensive analysis
- EMARenderer: Dedicated renderer for Exponential Moving Average
- Type Safety: Full TypeScript support for EMA configurations
- Performance: Optimized EMA calculations and rendering
- Error Handling: Robust validation for EMA parameters
- Integration: Seamless integration with existing VWAP indicator
- README: Updated with EMA feature descriptions
- USAGE.md: Comprehensive EMA usage guide
- CLI Examples: Command-line usage for EMA indicator
- API Examples: Programmatic EMA integration
- EMA Labels: Clear "EMA(period)" labels
- Line Styling: Solid EMA lines with consistent colors
- Combined Display: EMA and VWAP working together harmoniously
- Professional Quality: Institutional-grade indicator visualization
- VWAP Indicator: Volume Weighted Average Price with institutional calculation
- CLI Integration:
--vwapflag for VWAP indicator activation - API Support: Programmatic access to VWAP indicator
- Professional Quality: Institutional-grade technical analysis tools
- VWAP Calculation: Standard institutional formula (typical price × volume)
- Multi-Chart Support: VWAP works on candlestick, line, area, heikin-ashi, renko, line-break
- Comparison Charts: VWAP displays in side-by-side and grid layouts
- Timeframe Analysis: VWAP across different timeframes
- Visual Styling: Dashed VWAP line with "VWAP" labels
- Volume Data: Proper volume data handling for VWAP calculation
- VWAPRenderer: Dedicated renderer for Volume Weighted Average Price
- Volume Data: Proper volume data handling for VWAP calculation
- Type Safety: Full TypeScript support for VWAP configurations
- Performance: Optimized VWAP calculations and rendering
- Error Handling: Robust validation for VWAP parameters
- README: Updated with VWAP feature descriptions
- USAGE.md: Comprehensive VWAP usage guide
- CLI Examples: Command-line usage for VWAP indicator
- API Examples: Programmatic VWAP integration
- VWAP Labels: Clear "VWAP" labels
- Line Styling: Dashed VWAP lines with consistent colors
- Volume Removal: Cleaner charts without noisy volume bars
- Professional Quality: Institutional-grade indicator visualization
- Chart Comparison Feature: Side-by-side and grid layouts for multiple symbols
- Timeframe Comparison: Compare same symbol across different timeframes
- Comparison Customization: Custom colors and themes for comparison charts
- Grid Layout Support: 2x1 grid layout for focused comparison
- Comparison API:
ComparisonServicefor programmatic comparison generation - Enhanced CLI: New
--compare,--layout,--columns,--timeframesarguments - Error Handling: Proper validation for comparison constraints (max 2 symbols/columns for grid)
- Documentation: Comprehensive comparison examples and usage guides
- Visual Assets: Professional comparison chart demos
- Symbol Comparison: Compare different trading pairs side-by-side
- Timeframe Analysis: Same symbol across multiple timeframes (1m to 1d)
- Grid Layout: Organized 2-chart grid for correlation analysis
- Custom Colors: Apply custom bar colors to comparison charts
- Theme Support: Light/dark themes for comparison charts
- All Chart Types: Candlestick, Line, Area, Heikin-Ashi, Renko in comparisons
- Modular Architecture: New
ComparisonRendererandComparisonServiceclasses - Type Safety: Full TypeScript support for comparison features
- Performance: Optimized rendering for multiple charts
- Error Handling: Robust validation and error messages
- CLI Integration: Seamless integration with existing CLI interface
- README: Updated with comparison features and visual examples
- USAGE.md: Comprehensive comparison usage guide
- Visual Demos: Professional comparison chart examples
- API Examples: Programmatic comparison usage
- Package Size: Reduced from 191.7 kB to 26.7 kB by excluding source files
- Documentation: Fixed duplicate PNG entries in USAGE.md
- Build Process: Clean TypeScript compilation with Terser minification
- Core Chart Generation: Convert trading data to high-quality images using Node.js Canvas
- Multiple Chart Types:
- Candlestick charts (traditional OHLC)
- Line charts (trend visualization)
- Area charts (filled price charts)
- Heikin-Ashi charts (trend-smoothed candles)
- Renko charts (price-based blocks)
- Export Formats: PNG and JPEG with configurable quality
- Real Market Data: Integration with CCXT for live exchange data
- Multiple Exchanges: Support for Binance, Kraken, Coinbase, and more
- CLI Interface: Command-line tool for quick chart generation
- Programmatic API: TypeScript library for integration
- Theme Support: Light and dark themes
- Custom Bar Colors: Configurable bullish/bearish candle colors
- Background Colors: Hex, RGB, named colors, and CSS gradients
- Text Colors: Customizable text color for all elements
- Horizontal Levels: Support/resistance lines with custom styling
- Watermarks: Customizable text watermarks with positioning
- Hide Elements: Option to hide title, time axis, and grid
- Auto-scaling: Automatic price range calculation
- Manual Scaling: X/Y axis scale factors
- Custom Dimensions: Configurable width and height
- Price Limits: Min/max price constraints
- Optimized Rendering: Efficient canvas-based chart generation
- Minified Build: Compressed output for faster loading
- TypeScript: Full type safety and IntelliSense support
- Error Handling: Comprehensive error handling and validation
- ESLint: Code quality and consistency
- Prettier: Consistent code formatting
- JSDoc: Comprehensive documentation
- Modular Architecture: Clean separation of concerns
- README.md: Complete project overview and quick start
- USAGE.md: Comprehensive usage guide with examples
- CLI Help: Detailed command-line help and examples
- API Documentation: Full TypeScript definitions
- Node.js Canvas: High-performance 2D graphics rendering
- CCXT Integration: Unified cryptocurrency exchange API
- Buffer Export: Direct buffer output for programmatic use
- File Export: Direct file system writing
- Data URL: Base64 encoded output for web applications
- Symbol Support: All major trading pairs (BTC/USDT, ETH/USDT, etc.)
- Timeframes: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w
- Exchange Selection: Multiple exchange support
- Batch Processing: Multiple chart generation
- Quality Control: Configurable JPEG quality settings
- NPM Ready: Proper package.json configuration
- Global Installation: CLI tool available globally
- Type Definitions: Complete TypeScript support
- Minified Distribution: Optimized for production use
- Modular Architecture: Separated renderer, config, and utilities
- Type Safety: Comprehensive TypeScript interfaces
- Error Handling: Multi-layer try-catch with structured results
- Performance: Optimized canvas operations and memory usage
- Compatibility: Node.js 18+ support with cross-platform compatibility
# Basic chart generation
npx @neabyte/chart-to-image --symbol BTC/USDT --output chart.png
# Advanced customization
npx @neabyte/chart-to-image -s ETH/USDT -t 4h -o eth.png \
--theme light --chart-type heikin-ashi \
--custom-colors "bullish=#00ff88,bearish=#ff4444" \
--levels "45000:#ff0000:solid:Resistance,40000:#00ff00:dotted:Support"
# Programmatic usage
import { quickChart } from '@neabyte/chart-to-image'
const result = await quickChart('BTC/USDT', 'chart.png', {
timeframe: '1h',
theme: 'dark',
chartType: 'candlestick'
})- 🎉 Initial release with full feature set
- 📊 5 chart types (candlestick, line, area, heikin-ashi, renko)
- 🎨 Complete customization options
- 🖼️ PNG and JPEG export formats
- 💻 CLI and programmatic API
- 📚 Comprehensive documentation
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.