Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -342,18 +342,25 @@ async def run_3_layer_analysis():
|
|
| 342 |
symbol = candidate['symbol']
|
| 343 |
print(f" 🤔 تحليل {symbol} بالنموذج الضخم...")
|
| 344 |
|
| 345 |
-
# ✅ التأكد من تمرير بيانات OHLCV بشكل صحيح
|
| 346 |
-
ohlcv_data = candidate.get('
|
| 347 |
if not ohlcv_data:
|
| 348 |
print(f" ⚠️ لا توجد بيانات شموع لـ {symbol}")
|
| 349 |
continue
|
| 350 |
|
| 351 |
-
# ✅ التأكد من تمرير البيانات الخام للنموذج
|
| 352 |
candidate['raw_ohlcv'] = ohlcv_data
|
| 353 |
candidate['ohlcv'] = ohlcv_data
|
| 354 |
|
|
|
|
| 355 |
timeframes_count = candidate.get('successful_timeframes', 0)
|
| 356 |
-
total_candles = sum(len(data) for data in ohlcv_data.values())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 357 |
|
| 358 |
# ✅ إرسال كل عملة للنموذج الضخم على حدة
|
| 359 |
llm_analysis = await llm_service_global.get_trading_decision(candidate)
|
|
@@ -422,6 +429,10 @@ async def re_analyze_open_trade_async(trade_data):
|
|
| 422 |
if not processed_data:
|
| 423 |
return None
|
| 424 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 425 |
# استخدام LLM لإعادة التحليل
|
| 426 |
re_analysis_decision = await llm_service_global.re_analyze_trade_async(trade_data, processed_data)
|
| 427 |
|
|
|
|
| 342 |
symbol = candidate['symbol']
|
| 343 |
print(f" 🤔 تحليل {symbol} بالنموذج الضخم...")
|
| 344 |
|
| 345 |
+
# ✅ التأكد من تمرير بيانات OHLCV بشكل صحيح - الإصلاح الرئيسي هنا
|
| 346 |
+
ohlcv_data = candidate.get('raw_ohlcv') or candidate.get('ohlcv')
|
| 347 |
if not ohlcv_data:
|
| 348 |
print(f" ⚠️ لا توجد بيانات شموع لـ {symbol}")
|
| 349 |
continue
|
| 350 |
|
| 351 |
+
# ✅ التأكد من تمرير البيانات الخام للنموذج - الإصلاح الرئيسي
|
| 352 |
candidate['raw_ohlcv'] = ohlcv_data
|
| 353 |
candidate['ohlcv'] = ohlcv_data
|
| 354 |
|
| 355 |
+
# ✅ التحقق من جودة البيانات قبل الإرسال للنموذج
|
| 356 |
timeframes_count = candidate.get('successful_timeframes', 0)
|
| 357 |
+
total_candles = sum(len(data) for data in ohlcv_data.values()) if ohlcv_data else 0
|
| 358 |
+
|
| 359 |
+
if total_candles < 30: # تخفيف الشرط من 50 إلى 30 شمعة
|
| 360 |
+
print(f" ⚠️ بيانات شموع غير كافية لـ {symbol}: {total_candles} شمعة فقط")
|
| 361 |
+
continue
|
| 362 |
+
|
| 363 |
+
print(f" 📊 إرسال {symbol} للنموذج: {total_candles} شمعة في {timeframes_count} إطار زمني")
|
| 364 |
|
| 365 |
# ✅ إرسال كل عملة للنموذج الضخم على حدة
|
| 366 |
llm_analysis = await llm_service_global.get_trading_decision(candidate)
|
|
|
|
| 429 |
if not processed_data:
|
| 430 |
return None
|
| 431 |
|
| 432 |
+
# ✅ التأكد من تمرير بيانات الشموع بشكل صحيح
|
| 433 |
+
processed_data['raw_ohlcv'] = ohlcv_data.get('raw_ohlcv') or ohlcv_data.get('ohlcv')
|
| 434 |
+
processed_data['ohlcv'] = processed_data['raw_ohlcv']
|
| 435 |
+
|
| 436 |
# استخدام LLM لإعادة التحليل
|
| 437 |
re_analysis_decision = await llm_service_global.re_analyze_trade_async(trade_data, processed_data)
|
| 438 |
|