Riy777 commited on
Commit
20dc709
·
1 Parent(s): ed04390

Update LLM.py

Browse files
Files changed (1) hide show
  1. LLM.py +54 -7
LLM.py CHANGED
@@ -457,7 +457,9 @@ class LLMService:
457
  indicators_summary = self._format_advanced_indicators(advanced_indicators)
458
  strategies_summary = self._format_strategies_analysis(strategy_scores, recommended_strategy)
459
  pattern_summary = self._format_pattern_analysis_enhanced(pattern_analysis, payload)
460
- whale_analysis_section = self._format_whale_analysis_for_llm(general_whale_activity, whale_data, symbol)
 
 
461
 
462
  strategy_instructions = {
463
  "AGGRESSIVE_GROWTH": "**Strategy: AGGRESSIVE_GROWTH**: Focus on strong price movements (5-10%) and accept higher risk for higher rewards. Aim for 8-15% on successful trades.",
@@ -511,7 +513,7 @@ class LLMService:
511
  - Fear & Greed Index: {sentiment_data.get('fear_and_greed_index', 'N/A')} ({sentiment_data.get('sentiment_class', 'N/A')})
512
  - Market Regime: {sentiment_data.get('market_trend', 'N/A')}
513
 
514
- **6. 🐋 ADVANCED WHALE ANALYSIS:**
515
  {whale_analysis_section}
516
 
517
  **7. 📰 RECENT NEWS (LAST 3 HOURS):**
@@ -661,22 +663,61 @@ class LLMService:
661
 
662
  return "\n".join(analysis_lines)
663
 
664
- def _format_whale_analysis_for_llm(self, general_whale_activity, symbol_whale_data, symbol):
 
665
  analysis_parts = []
666
 
667
  if general_whale_activity.get('data_available', False):
 
 
668
  critical_flag = " 🚨 CRITICAL ALERT" if general_whale_activity.get('critical_alert') else ""
669
- analysis_parts.append(f"📊 **General Market:** {general_whale_activity.get('description', 'Activity detected')}{critical_flag}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
670
  else:
671
  analysis_parts.append("📊 **General Market:** No significant general whale data available")
672
 
673
  if symbol_whale_data.get('data_available', False):
674
- analysis_parts.append(f"🎯 **{symbol} Specific:** {symbol_whale_data.get('description', 'Activity detected')}")
 
 
 
 
 
 
 
 
 
 
 
675
  else:
676
  analysis_parts.append(f"🎯 **{symbol} Specific:** No contract-based whale data available")
677
 
678
  return "\n".join(analysis_parts)
679
 
 
 
 
 
680
  async def re_analyze_trade_async(self, trade_data: dict, processed_data: dict):
681
  try:
682
  symbol = trade_data['symbol']
@@ -768,7 +809,13 @@ class LLMService:
768
 
769
  indicators_summary = self._format_advanced_indicators(processed_data.get('advanced_indicators', {}))
770
  pattern_summary = self._format_pattern_analysis_enhanced(pattern_analysis, processed_data)
771
- whale_analysis_section = self._format_whale_analysis_for_llm(processed_data.get('sentiment_data', {}).get('general_whale_activity', {}), processed_data.get('whale_data', {}), symbol)
 
 
 
 
 
 
772
 
773
  prompt = f"""
774
  🔄 **ENHANCED TRADE RE-ANALYSIS WITH CHART PATTERNS**
@@ -1048,4 +1095,4 @@ def local_re_analyze_trade(trade_data, processed_data):
1048
  "strategy": strategy
1049
  }
1050
 
1051
- print("✅ ENHANCED LLM Service loaded successfully - ADVANCED PATTERN ANALYSIS - Performance Tracking - Real-time Pattern Integration")
 
457
  indicators_summary = self._format_advanced_indicators(advanced_indicators)
458
  strategies_summary = self._format_strategies_analysis(strategy_scores, recommended_strategy)
459
  pattern_summary = self._format_pattern_analysis_enhanced(pattern_analysis, payload)
460
+
461
+ # 🆕 استخدام البيانات المحسنة من data_manager
462
+ whale_analysis_section = self._format_enhanced_whale_analysis_for_llm(general_whale_activity, whale_data, symbol)
463
 
464
  strategy_instructions = {
465
  "AGGRESSIVE_GROWTH": "**Strategy: AGGRESSIVE_GROWTH**: Focus on strong price movements (5-10%) and accept higher risk for higher rewards. Aim for 8-15% on successful trades.",
 
513
  - Fear & Greed Index: {sentiment_data.get('fear_and_greed_index', 'N/A')} ({sentiment_data.get('sentiment_class', 'N/A')})
514
  - Market Regime: {sentiment_data.get('market_trend', 'N/A')}
515
 
516
+ **6. 🐋 ADVANCED WHALE ANALYSIS (ENHANCED NETFLOW):**
517
  {whale_analysis_section}
518
 
519
  **7. 📰 RECENT NEWS (LAST 3 HOURS):**
 
663
 
664
  return "\n".join(analysis_lines)
665
 
666
+ def _format_enhanced_whale_analysis_for_llm(self, general_whale_activity, symbol_whale_data, symbol):
667
+ """🆕 تنسيق محسن لتحليل الحيتان مع بيانات صافي التدفق"""
668
  analysis_parts = []
669
 
670
  if general_whale_activity.get('data_available', False):
671
+ # استخدام البيانات المحسنة من data_manager
672
+ netflow_analysis = general_whale_activity.get('netflow_analysis', {})
673
  critical_flag = " 🚨 CRITICAL ALERT" if general_whale_activity.get('critical_alert') else ""
674
+
675
+ if netflow_analysis:
676
+ inflow = netflow_analysis.get('inflow_to_exchanges', 0)
677
+ outflow = netflow_analysis.get('outflow_from_exchanges', 0)
678
+ net_flow = netflow_analysis.get('net_flow', 0)
679
+ flow_direction = netflow_analysis.get('flow_direction', 'BALANCED')
680
+ market_impact = netflow_analysis.get('market_impact', 'UNKNOWN')
681
+
682
+ analysis_parts.append(f"📊 **General Market Netflow Analysis:**")
683
+ analysis_parts.append(f" • Inflow to Exchanges: ${inflow:,.0f}")
684
+ analysis_parts.append(f" • Outflow from Exchanges: ${outflow:,.0f}")
685
+ analysis_parts.append(f" • Net Flow: ${net_flow:,.0f} ({flow_direction})")
686
+ analysis_parts.append(f" • Market Impact: {market_impact}{critical_flag}")
687
+
688
+ # إضافة إشارات التداول من تحليل صافي التدفق
689
+ trading_signals = general_whale_activity.get('trading_signals', [])
690
+ if trading_signals:
691
+ analysis_parts.append(f" • Trading Signals: {len(trading_signals)} active signals")
692
+ for signal in trading_signals[:3]: # عرض أول 3 إشارات فقط
693
+ analysis_parts.append(f" ◦ {signal.get('action')}: {signal.get('reason')} (Confidence: {signal.get('confidence', 0):.2f})")
694
+ else:
695
+ analysis_parts.append(f"📊 **General Market:** {general_whale_activity.get('description', 'Activity detected')}{critical_flag}")
696
  else:
697
  analysis_parts.append("📊 **General Market:** No significant general whale data available")
698
 
699
  if symbol_whale_data.get('data_available', False):
700
+ activity_level = symbol_whale_data.get('activity_level', 'UNKNOWN')
701
+ large_transfers = symbol_whale_data.get('large_transfers_count', 0)
702
+ total_volume = symbol_whale_data.get('total_volume', 0)
703
+
704
+ analysis_parts.append(f"🎯 **{symbol} Specific Whale Activity:**")
705
+ analysis_parts.append(f" • Activity Level: {activity_level}")
706
+ analysis_parts.append(f" • Large Transfers: {large_transfers}")
707
+ analysis_parts.append(f" • Total Volume: ${total_volume:,.0f}")
708
+
709
+ recent_transfers = symbol_whale_data.get('recent_large_transfers', [])
710
+ if recent_transfers:
711
+ analysis_parts.append(f" • Recent Large Transfers: {len(recent_transfers)}")
712
  else:
713
  analysis_parts.append(f"🎯 **{symbol} Specific:** No contract-based whale data available")
714
 
715
  return "\n".join(analysis_parts)
716
 
717
+ def _format_whale_analysis_for_llm(self, general_whale_activity, symbol_whale_data, symbol):
718
+ """النسخة القديمة للحفاظ على التوافق - استخدام النسخة المحسنة بدلاً منها"""
719
+ return self._format_enhanced_whale_analysis_for_llm(general_whale_activity, symbol_whale_data, symbol)
720
+
721
  async def re_analyze_trade_async(self, trade_data: dict, processed_data: dict):
722
  try:
723
  symbol = trade_data['symbol']
 
809
 
810
  indicators_summary = self._format_advanced_indicators(processed_data.get('advanced_indicators', {}))
811
  pattern_summary = self._format_pattern_analysis_enhanced(pattern_analysis, processed_data)
812
+
813
+ # 🆕 استخدام البيانات المحسنة من data_manager
814
+ whale_analysis_section = self._format_enhanced_whale_analysis_for_llm(
815
+ processed_data.get('sentiment_data', {}).get('general_whale_activity', {}),
816
+ processed_data.get('whale_data', {}),
817
+ symbol
818
+ )
819
 
820
  prompt = f"""
821
  🔄 **ENHANCED TRADE RE-ANALYSIS WITH CHART PATTERNS**
 
1095
  "strategy": strategy
1096
  }
1097
 
1098
+ print("✅ ENHANCED LLM Service loaded successfully - ADVANCED PATTERN ANALYSIS - Performance Tracking - Real-time Pattern Integration - Enhanced Whale Analysis")