- Replace indicator table with icon card grid display
- Add edit indicator popup dialog for modifying indicator settings
- Display indicator type, value, and emoji symbols on cards
- Add visibility toggle and delete buttons on hover
- Redesign backtest items with CSS-based icons and status indicators
- Unify dialog styling across external indicator, signal type, and public strategies
- Make edit indicator dialog draggable
- Fix button text: "+ Add Public" -> "Add Public"
- Remove dark theme from signal_type_popup for consistency
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
External Sources:
- New ExternalSources.py module for real-time API data fetching
- Configurable refresh intervals, JSONPath extraction, and auth headers
- External sources can be used in signals for live strategy conditions
External Indicators:
- New ExternalIndicators.py module for historical API data
- Supports backtesting by fetching and caching historical data points
- Timestamps are matched to candle times during backtest execution
- Fear & Greed index and similar APIs now work in backtests
Signal System Enhancements:
- Added signal Blockly blocks for use in strategy builder
- New signal_blocks.js for dynamic signal block generation
- Signals category added to strategy toolbox
- PythonGenerator updated to handle signal_* block types
- process_signal() method added to StrategyInstance classes
notify_user Block Enhancement:
- Now supports dynamic values (variables, indicators, expressions)
- Can display indicator values and calculations in notifications
Bug Fixes:
- Fixed Socket.IO parse error causing strategies not to load on refresh
- Enhanced sanitize_for_json to handle pandas, datetime, bytes types
- Fixed external indicator name matching (underscore/space conversion)
- Fixed PRAGMA query missing fetch_all=True in ExternalIndicators
Dependencies:
- Added jsonpath-ng for JSONPath extraction from API responses
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add 15 candlestick pattern indicators (Doji, Hammer, Engulfing, etc.)
- Create dedicated Patterns chart pane for pattern visualization
- Add hover tooltips with descriptions and SVG diagrams in indicator selector
- Fix color picker compatibility by using hex format instead of RGBA
- Fix chart positioning and timestamp synchronization for pattern chart
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add BollingerPercentB indicator class in backend (BOL%B)
- Calculates %B = (Close - Lower) / (Upper - Lower)
- Shows where price is relative to Bollinger Bands
- Values: 1.0 = upper band, 0.5 = middle, 0.0 = lower
- Add BollingerPercentB JavaScript class for frontend display
- Creates its own chart (chart4) like RSI/MACD
- Includes chart binding for synchronized scrolling
- Add chart4 HTML container and data plumbing
- Fix credential update when reconnecting with changed API keys
- Add TESTNET_MODE config setting for live trading mode control
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix market/symbol key mismatch in PythonGenerator.py (6 locations)
causing backtest to use wrong trading pair (BTC/USD vs BTC/USDT)
- Fix backtesting.py to always use default_source for backtest data
- Fix exchange/exchange_name key mismatch in app.py and BrighterTrades.py
causing strategy dialog to show wrong current chart exchange
- Add favicon links to standalone HTML templates
- Add AI strategy dialog template
- Update tests and documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>