Vasily.onl e57c33014f Add bot integration and enhanced signal layers for automated trading
- Introduced `BotIntegratedSignalLayer` and `BotIntegratedTradeLayer` to facilitate automated data fetching and visualization of bot signals and trades.
- Implemented `BotDataService` for efficient retrieval of bot-related data, including filtering and performance summaries.
- Added support for various bot-enhanced layers, including support/resistance and custom strategy layers, to improve trading analysis.
- Updated existing signal layer components to integrate with the new bot functionalities, ensuring seamless operation.
- Enhanced logging and error handling for better debugging and user feedback during bot operations.
- Included comprehensive tests for new functionalities to ensure reliability and maintainability.
- Updated documentation to reflect the new bot integration features and usage guidelines.
2025-06-04 17:03:09 +08:00

240 lines
6.2 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
- Bot Integration: Automated data fetching and bot-integrated layers
"""
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,
BaseSupportResistanceLayer,
SupportResistanceLayerConfig,
SupportResistanceLayer,
CustomStrategySignalInterface,
BaseCustomStrategyLayer,
CustomStrategySignalConfig,
CustomStrategySignalLayer,
SignalStyleConfig,
SignalStyleManager,
EnhancedSignalLayer,
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,
create_support_resistance_layer,
create_support_only_layer,
create_resistance_only_layer,
create_trend_lines_layer,
create_key_levels_layer,
create_custom_strategy_layer,
create_pairs_trading_layer,
create_momentum_strategy_layer,
create_arbitrage_layer,
create_mean_reversion_layer,
create_breakout_strategy_layer,
create_enhanced_signal_layer,
create_professional_signal_layer,
create_colorblind_friendly_signal_layer,
create_dark_theme_signal_layer,
create_minimal_signal_layer
)
from .bot_integration import (
BotFilterConfig,
BotDataService,
BotSignalLayerIntegration,
bot_data_service,
bot_integration,
get_active_bot_signals,
get_active_bot_trades,
get_bot_signals_by_strategy,
get_bot_performance_summary
)
from .bot_enhanced_layers import (
BotSignalLayerConfig,
BotTradeLayerConfig,
BotIntegratedSignalLayer,
BotIntegratedTradeLayer,
BotMultiLayerIntegration,
bot_multi_layer,
create_bot_signal_layer,
create_bot_trade_layer,
create_complete_bot_layers
)
__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',
# Support/Resistance layers
'BaseSupportResistanceLayer',
'SupportResistanceLayerConfig',
'SupportResistanceLayer',
# Custom Strategy layers
'CustomStrategySignalInterface',
'BaseCustomStrategyLayer',
'CustomStrategySignalConfig',
'CustomStrategySignalLayer',
# Signal Styling
'SignalStyleConfig',
'SignalStyleManager',
'EnhancedSignalLayer',
# Bot Integration
'BotFilterConfig',
'BotDataService',
'BotSignalLayerIntegration',
'bot_data_service',
'bot_integration',
# Bot Enhanced Layers
'BotSignalLayerConfig',
'BotTradeLayerConfig',
'BotIntegratedSignalLayer',
'BotIntegratedTradeLayer',
'BotMultiLayerIntegration',
'bot_multi_layer',
# 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',
'create_support_resistance_layer',
'create_support_only_layer',
'create_resistance_only_layer',
'create_trend_lines_layer',
'create_key_levels_layer',
'create_custom_strategy_layer',
'create_pairs_trading_layer',
'create_momentum_strategy_layer',
'create_arbitrage_layer',
'create_mean_reversion_layer',
'create_breakout_strategy_layer',
'create_enhanced_signal_layer',
'create_professional_signal_layer',
'create_colorblind_friendly_signal_layer',
'create_dark_theme_signal_layer',
'create_minimal_signal_layer',
'get_active_bot_signals',
'get_active_bot_trades',
'get_bot_signals_by_strategy',
'get_bot_performance_summary',
'create_bot_signal_layer',
'create_bot_trade_layer',
'create_complete_bot_layers'
]
__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"
# ]