Vasily.onl 5506f5db64 Add trading signal and execution layers with database integration
- Introduced `TradingSignalLayer` and `TradeExecutionLayer` for visualizing buy/sell signals and trade entries/exits on charts.
- Implemented signal validation and filtering mechanisms to ensure data integrity and user-configurable options.
- Enhanced market data layout to support new timeframes for improved user experience.
- Updated documentation to reflect the new signal layer architecture and its integration with the dashboard.
- Ensured compatibility with existing components while maintaining a modular structure for future enhancements.
2025-06-04 15:54:14 +08:00

135 lines
3.3 KiB
Python

"""
Chart Layers Package
This package contains the modular layer system for building complex charts
with multiple indicators, signals, and subplots.
Components:
- BaseChartLayer: Abstract base class for all layers
- CandlestickLayer: OHLC price chart layer
- VolumeLayer: Volume subplot layer
- LayerManager: Orchestrates multiple layers
- SMALayer: Simple Moving Average indicator overlay
- EMALayer: Exponential Moving Average indicator overlay
- BollingerBandsLayer: Bollinger Bands overlay with fill area
- RSILayer: RSI oscillator subplot
- MACDLayer: MACD lines and histogram subplot
- TradingSignalLayer: Buy/sell/hold signal markers
- TradeExecutionLayer: Trade entry/exit point visualization
"""
from .base import (
BaseChartLayer,
CandlestickLayer,
VolumeLayer,
LayerManager,
LayerConfig
)
from .indicators import (
BaseIndicatorLayer,
IndicatorLayerConfig,
SMALayer,
EMALayer,
BollingerBandsLayer,
create_sma_layer,
create_ema_layer,
create_bollinger_bands_layer,
create_common_ma_layers,
create_common_overlay_indicators
)
from .subplots import (
BaseSubplotLayer,
SubplotLayerConfig,
RSILayer,
MACDLayer,
create_rsi_layer,
create_macd_layer,
create_common_subplot_indicators
)
from .signals import (
BaseSignalLayer,
SignalLayerConfig,
TradingSignalLayer,
BaseTradeLayer,
TradeLayerConfig,
TradeExecutionLayer,
create_trading_signal_layer,
create_buy_signals_only_layer,
create_sell_signals_only_layer,
create_high_confidence_signals_layer,
create_trade_execution_layer,
create_profitable_trades_only_layer,
create_losing_trades_only_layer
)
__all__ = [
# Base layers
'BaseChartLayer',
'CandlestickLayer',
'VolumeLayer',
'LayerManager',
'LayerConfig',
# Indicator layers (overlays)
'BaseIndicatorLayer',
'IndicatorLayerConfig',
'SMALayer',
'EMALayer',
'BollingerBandsLayer',
# Subplot layers
'BaseSubplotLayer',
'SubplotLayerConfig',
'RSILayer',
'MACDLayer',
# Signal layers
'BaseSignalLayer',
'SignalLayerConfig',
'TradingSignalLayer',
# Trade layers
'BaseTradeLayer',
'TradeLayerConfig',
'TradeExecutionLayer',
# Convenience functions
'create_sma_layer',
'create_ema_layer',
'create_bollinger_bands_layer',
'create_common_ma_layers',
'create_common_overlay_indicators',
'create_rsi_layer',
'create_macd_layer',
'create_common_subplot_indicators',
'create_trading_signal_layer',
'create_buy_signals_only_layer',
'create_sell_signals_only_layer',
'create_high_confidence_signals_layer',
'create_trade_execution_layer',
'create_profitable_trades_only_layer',
'create_losing_trades_only_layer'
]
__version__ = "0.1.0"
# Package metadata
# __version__ = "0.1.0"
# __package_name__ = "layers"
# Layers will be imported once they are created
# from .base import BaseCandlestickLayer
# from .indicators import IndicatorLayer
# from .subplots import SubplotManager
# from .signals import SignalLayer
# Public exports (will be populated as layers are implemented)
# __all__ = [
# # "BaseCandlestickLayer",
# # "IndicatorLayer",
# # "SubplotManager",
# # "SignalLayer"
# ]