2025-06-03 12:49:46 +08:00
|
|
|
"""
|
|
|
|
|
Chart Layers Package
|
|
|
|
|
|
2025-06-03 13:56:15 +08:00
|
|
|
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
|
2025-06-04 15:54:14 +08:00
|
|
|
- TradingSignalLayer: Buy/sell/hold signal markers
|
|
|
|
|
- TradeExecutionLayer: Trade entry/exit point visualization
|
2025-06-03 12:49:46 +08:00
|
|
|
"""
|
|
|
|
|
|
2025-06-03 13:56:15 +08:00
|
|
|
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
|
|
|
|
|
)
|
|
|
|
|
|
2025-06-04 15:54:14 +08:00
|
|
|
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
|
|
|
|
|
)
|
|
|
|
|
|
2025-06-03 13:56:15 +08:00
|
|
|
__all__ = [
|
|
|
|
|
# Base layers
|
|
|
|
|
'BaseChartLayer',
|
|
|
|
|
'CandlestickLayer',
|
|
|
|
|
'VolumeLayer',
|
|
|
|
|
'LayerManager',
|
|
|
|
|
'LayerConfig',
|
|
|
|
|
|
|
|
|
|
# Indicator layers (overlays)
|
|
|
|
|
'BaseIndicatorLayer',
|
|
|
|
|
'IndicatorLayerConfig',
|
|
|
|
|
'SMALayer',
|
|
|
|
|
'EMALayer',
|
|
|
|
|
'BollingerBandsLayer',
|
|
|
|
|
|
|
|
|
|
# Subplot layers
|
|
|
|
|
'BaseSubplotLayer',
|
|
|
|
|
'SubplotLayerConfig',
|
|
|
|
|
'RSILayer',
|
|
|
|
|
'MACDLayer',
|
|
|
|
|
|
2025-06-04 15:54:14 +08:00
|
|
|
# Signal layers
|
|
|
|
|
'BaseSignalLayer',
|
|
|
|
|
'SignalLayerConfig',
|
|
|
|
|
'TradingSignalLayer',
|
|
|
|
|
|
|
|
|
|
# Trade layers
|
|
|
|
|
'BaseTradeLayer',
|
|
|
|
|
'TradeLayerConfig',
|
|
|
|
|
'TradeExecutionLayer',
|
|
|
|
|
|
2025-06-03 13:56:15 +08:00
|
|
|
# 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',
|
2025-06-04 15:54:14 +08:00
|
|
|
'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'
|
2025-06-03 13:56:15 +08:00
|
|
|
]
|
|
|
|
|
|
2025-06-03 12:49:46 +08:00
|
|
|
__version__ = "0.1.0"
|
2025-06-03 13:56:15 +08:00
|
|
|
|
|
|
|
|
# Package metadata
|
|
|
|
|
# __version__ = "0.1.0"
|
|
|
|
|
# __package_name__ = "layers"
|
2025-06-03 12:49:46 +08:00
|
|
|
|
|
|
|
|
# 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)
|
2025-06-03 13:56:15 +08:00
|
|
|
# __all__ = [
|
|
|
|
|
# # "BaseCandlestickLayer",
|
|
|
|
|
# # "IndicatorLayer",
|
|
|
|
|
# # "SubplotManager",
|
|
|
|
|
# # "SignalLayer"
|
|
|
|
|
# ]
|