Riy777 commited on
Commit
6dec69a
·
verified ·
1 Parent(s): 9b1ce6e

Update data_manager.py

Browse files
Files changed (1) hide show
  1. data_manager.py +38 -5
data_manager.py CHANGED
@@ -1,4 +1,4 @@
1
- # data_manager.py (Updated to V10.1 - Balanced 53% + MC Fix)
2
  import os
3
  import asyncio
4
  import httpx
@@ -81,7 +81,7 @@ class DataManager:
81
  print(f"❌ [DataManager V9.8] فشل تهيئة الرانكر V9.8: {e}")
82
  self.layer1_ranker = None
83
 
84
- print("✅ DataManager initialized - V10.1 (Balanced Threshold 53%)")
85
 
86
  async def _load_markets(self):
87
  try:
@@ -508,11 +508,44 @@ class DataManager:
508
  except Exception:
509
  return None
510
 
511
- async def get_whale_data_for_symbol(self, symbol):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
512
  try:
513
- return await self.whale_monitor.get_symbol_whale_activity(symbol) if self.whale_monitor else None
 
 
 
514
  except Exception:
515
  return None
 
516
 
517
  async def get_whale_trading_signal(self, symbol, whale_data, market_context):
518
  try:
@@ -520,4 +553,4 @@ class DataManager:
520
  except Exception as e:
521
  return {'action': 'HOLD', 'confidence': 0.3, 'reason': f'Error: {str(e)}', 'source': 'whale_analysis'}
522
 
523
- print("✅ DataManager loaded - V10.1 (Balanced Threshold 53%)")
 
1
+ # data_manager.py (Updated to V10.2 - Whale Learning Data Link)
2
  import os
3
  import asyncio
4
  import httpx
 
81
  print(f"❌ [DataManager V9.8] فشل تهيئة الرانكر V9.8: {e}")
82
  self.layer1_ranker = None
83
 
84
+ print("✅ DataManager initialized - V10.2 (Whale Learning Data Link)")
85
 
86
  async def _load_markets(self):
87
  try:
 
508
  except Exception:
509
  return None
510
 
511
+ # 🔴 --- START OF CHANGE (V10.2) --- 🔴
512
+ async def get_symbol_daily_volume(self, symbol: str) -> float:
513
+ """
514
+ (جديد) دالة مساعدة لجلب حجم التداول اليومي (بالدولار) لعملة واحدة.
515
+ (تستخدم في إعادة التحليل).
516
+ """
517
+ try:
518
+ if not self.exchange: return 0.0
519
+ ticker = self.exchange.fetch_ticker(symbol)
520
+ if not ticker: return 0.0
521
+
522
+ current_price = ticker.get('last', 0)
523
+ quote_volume = ticker.get('quoteVolume', 0)
524
+
525
+ if quote_volume is not None and quote_volume > 0:
526
+ return float(quote_volume)
527
+ elif current_price is not None and current_price > 0:
528
+ base_volume = ticker.get('baseVolume', 0)
529
+ if base_volume is not None:
530
+ return float(base_volume) * float(current_price)
531
+
532
+ return 0.0
533
+ except Exception:
534
+ return 0.0
535
+
536
+ async def get_whale_data_for_symbol(self, symbol: str, daily_volume_usd: float = 0.0):
537
+ """
538
+ (محدث V10.2)
539
+ تمرير حجم التداول اليومي إلى مراقب الحيتان لتفعيل المقاييس النسبية.
540
+ """
541
  try:
542
+ if self.whale_monitor:
543
+ return await self.whale_monitor.get_symbol_whale_activity(symbol, daily_volume_usd=daily_volume_usd)
544
+ else:
545
+ return None
546
  except Exception:
547
  return None
548
+ # 🔴 --- END OF CHANGE --- 🔴
549
 
550
  async def get_whale_trading_signal(self, symbol, whale_data, market_context):
551
  try:
 
553
  except Exception as e:
554
  return {'action': 'HOLD', 'confidence': 0.3, 'reason': f'Error: {str(e)}', 'source': 'whale_analysis'}
555
 
556
+ print("✅ DataManager loaded - V10.2 (Whale Learning Data Link)")