This commit is contained in:
Dobromir Popov
2025-06-25 02:54:13 +03:00
parent 2d9b4aade2
commit 11bbe8913a

View File

@ -23,13 +23,25 @@ class DashboardComponentManager:
signals = []
for decision in recent_decisions[-10:]: # Last 10 signals
timestamp = decision.get('timestamp', 'Unknown')
action = decision.get('action', 'UNKNOWN')
confidence = decision.get('confidence', 0)
price = decision.get('price', 0)
executed = decision.get('executed', False)
blocked = decision.get('blocked', False)
manual = decision.get('manual', False)
# Handle both TradingDecision objects and dictionary formats
if hasattr(decision, 'timestamp'):
# This is a TradingDecision object (dataclass)
timestamp = getattr(decision, 'timestamp', 'Unknown')
action = getattr(decision, 'action', 'UNKNOWN')
confidence = getattr(decision, 'confidence', 0)
price = getattr(decision, 'price', 0)
executed = getattr(decision, 'executed', False)
blocked = getattr(decision, 'blocked', False)
manual = getattr(decision, 'manual', False)
else:
# This is a dictionary format
timestamp = decision.get('timestamp', 'Unknown')
action = decision.get('action', 'UNKNOWN')
confidence = decision.get('confidence', 0)
price = decision.get('price', 0)
executed = decision.get('executed', False)
blocked = decision.get('blocked', False)
manual = decision.get('manual', False)
# Determine signal style
if executed:
@ -83,13 +95,25 @@ class DashboardComponentManager:
# Create table rows
rows = []
for trade in closed_trades[-20:]: # Last 20 trades
entry_time = trade.get('entry_time', 'Unknown')
side = trade.get('side', 'UNKNOWN')
size = trade.get('size', 0)
entry_price = trade.get('entry_price', 0)
exit_price = trade.get('exit_price', 0)
pnl = trade.get('pnl', 0)
fees = trade.get('fees', 0)
# Handle both trade objects and dictionary formats
if hasattr(trade, 'entry_time'):
# This is a trade object
entry_time = getattr(trade, 'entry_time', 'Unknown')
side = getattr(trade, 'side', 'UNKNOWN')
size = getattr(trade, 'size', 0)
entry_price = getattr(trade, 'entry_price', 0)
exit_price = getattr(trade, 'exit_price', 0)
pnl = getattr(trade, 'pnl', 0)
fees = getattr(trade, 'fees', 0)
else:
# This is a dictionary format
entry_time = trade.get('entry_time', 'Unknown')
side = trade.get('side', 'UNKNOWN')
size = trade.get('size', 0)
entry_price = trade.get('entry_price', 0)
exit_price = trade.get('exit_price', 0)
pnl = trade.get('pnl', 0)
fees = trade.get('fees', 0)
# Format time
if isinstance(entry_time, datetime):