Spaces:
Starting
Starting
Update LLM.py
Browse files
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 |
-
|
|
|
|
|
|
|
| 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
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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")
|