Riy777 commited on
Commit
f9c705e
·
1 Parent(s): 20a2029

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -2
app.py CHANGED
@@ -20,7 +20,7 @@ from trade_manager import TradeManager
20
  import state
21
  from helpers import safe_float_conversion, validate_candidate_data_enhanced
22
 
23
- # المتغيرات العامة
24
  r2_service_global = None
25
  data_manager_global = None
26
  llm_service_global = None
@@ -215,6 +215,9 @@ async def run_3_layer_analysis():
215
 
216
  print(f"🎯 تم اختيار {len(final_layer2_candidates)} عملة للطبقة 3 (الأقوى فقط)")
217
 
 
 
 
218
  # عرض أفضل 10 عملات من الطبقة 2
219
  print("\n🏆 أفضل 10 عملات من الطبقة 2:")
220
  for i, candidate in enumerate(final_layer2_candidates):
@@ -237,6 +240,15 @@ async def run_3_layer_analysis():
237
  try:
238
  print(f" 🤔 تحليل {candidate['symbol']} بالنموذج الضخم...")
239
 
 
 
 
 
 
 
 
 
 
240
  # إرسال كل عملة للنموذج الضخم على حدة
241
  llm_analysis = await llm_service_global.get_trading_decision(candidate)
242
 
@@ -249,7 +261,8 @@ async def run_3_layer_analysis():
249
  'enhanced_score': candidate.get('enhanced_final_score', 0),
250
  'llm_confidence': llm_analysis.get('confidence_level', 0),
251
  'strategy': llm_analysis.get('strategy', 'GENERIC'),
252
- 'analysis_timestamp': datetime.now().isoformat()
 
253
  }
254
  final_opportunities.append(opportunity)
255
 
 
20
  import state
21
  from helpers import safe_float_conversion, validate_candidate_data_enhanced
22
 
23
+ # المتغيرات العالمية
24
  r2_service_global = None
25
  data_manager_global = None
26
  llm_service_global = None
 
215
 
216
  print(f"🎯 تم اختيار {len(final_layer2_candidates)} عملة للطبقة 3 (الأقوى فقط)")
217
 
218
+ # ✅ حفظ المرشحين العشرة في ملف Candidates في R2
219
+ await r2_service_global.save_candidates_async(final_layer2_candidates)
220
+
221
  # عرض أفضل 10 عملات من الطبقة 2
222
  print("\n🏆 أفضل 10 عملات من الطبقة 2:")
223
  for i, candidate in enumerate(final_layer2_candidates):
 
240
  try:
241
  print(f" 🤔 تحليل {candidate['symbol']} بالنموذج الضخم...")
242
 
243
+ # ✅ التحقق من وجود بيانات OHLCV كافية
244
+ ohlcv_data = candidate.get('ohlcv') or candidate.get('raw_ohlcv')
245
+ if ohlcv_data:
246
+ candles_info = {tf: len(data) for tf, data in ohlcv_data.items()}
247
+ print(f" 📊 بيانات الشموع المتاحة: {candles_info}")
248
+ else:
249
+ print(f" ⚠️ لا توجد بيانات شموع كافية لـ {candidate['symbol']}")
250
+ continue
251
+
252
  # إرسال كل عملة للنموذج الضخم على حدة
253
  llm_analysis = await llm_service_global.get_trading_decision(candidate)
254
 
 
261
  'enhanced_score': candidate.get('enhanced_final_score', 0),
262
  'llm_confidence': llm_analysis.get('confidence_level', 0),
263
  'strategy': llm_analysis.get('strategy', 'GENERIC'),
264
+ 'analysis_timestamp': datetime.now().isoformat(),
265
+ 'candles_data': {tf: len(data) for tf, data in ohlcv_data.items()} if ohlcv_data else {}
266
  }
267
  final_opportunities.append(opportunity)
268