try to fix chart udates - wip
This commit is contained in:
@@ -17,7 +17,7 @@ import asyncio
|
||||
import logging
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from typing import Dict, List, Optional, Any, Callable
|
||||
from threading import Thread
|
||||
import json
|
||||
@@ -94,10 +94,24 @@ class COBIntegration:
|
||||
|
||||
# Initialize Enhanced WebSocket first
|
||||
try:
|
||||
# Enhanced WebSocket initialization would go here
|
||||
logger.info("Enhanced WebSocket initialized successfully")
|
||||
from .enhanced_cob_websocket import EnhancedCOBWebSocket
|
||||
|
||||
# Initialize Enhanced WebSocket with dashboard callback
|
||||
self.enhanced_websocket = EnhancedCOBWebSocket(
|
||||
symbols=self.symbols,
|
||||
dashboard_callback=self._on_websocket_status_update
|
||||
)
|
||||
|
||||
# Add callback for COB data updates
|
||||
self.enhanced_websocket.add_cob_callback(self._on_enhanced_cob_update)
|
||||
|
||||
# Start the WebSocket connection
|
||||
await self.enhanced_websocket.start()
|
||||
|
||||
logger.info("Enhanced WebSocket initialized and started successfully")
|
||||
except Exception as e:
|
||||
logger.error(f" Error starting Enhanced WebSocket: {e}")
|
||||
# Continue without WebSocket - will use API fallback
|
||||
|
||||
# Skip COB provider backup since Enhanced WebSocket is working perfectly
|
||||
logger.info("Skipping COB provider backup - Enhanced WebSocket provides all needed data")
|
||||
@@ -118,7 +132,23 @@ class COBIntegration:
|
||||
async def _on_enhanced_cob_update(self, symbol: str, cob_data: Dict):
|
||||
"""Handle COB updates from Enhanced WebSocket"""
|
||||
try:
|
||||
logger.debug(f"Enhanced WebSocket COB update for {symbol}")
|
||||
logger.debug(f"Enhanced WebSocket COB update for {symbol}: {cob_data.get('type', 'unknown')}")
|
||||
|
||||
# Handle candlestick data - convert to OHLCV and update data provider
|
||||
if cob_data.get('type') == 'candlestick' and self.data_provider:
|
||||
candlestick = cob_data.get('data', {})
|
||||
if candlestick:
|
||||
# Convert WebSocket candlestick to tick format for data provider
|
||||
tick = {
|
||||
'timestamp': datetime.fromtimestamp(candlestick.get('close_time', 0) / 1000, tz=timezone.utc),
|
||||
'price': float(candlestick.get('close_price', 0)),
|
||||
'volume': float(candlestick.get('volume', 0))
|
||||
}
|
||||
|
||||
# Update data provider with live tick (this will update real_time_data)
|
||||
if hasattr(self.data_provider, '_process_tick'):
|
||||
self.data_provider._process_tick(symbol, tick)
|
||||
logger.debug(f"Updated data provider with live candle: {symbol} @ {tick['price']}")
|
||||
|
||||
# Convert enhanced WebSocket data to COB format for existing callbacks
|
||||
# Notify CNN callbacks
|
||||
|
||||
Reference in New Issue
Block a user