Update trade_manager.py
Browse files- trade_manager.py +7 -3
trade_manager.py
CHANGED
|
@@ -193,7 +193,7 @@ class TradeManager:
|
|
| 193 |
current_stats[model]["profit_accum"] = current_stats[model].get("profit_accum", 0.0) + change["profit_accum"]
|
| 194 |
current_stats[model]["loss_accum"] = current_stats[model].get("loss_accum", 0.0) + change["loss_accum"]
|
| 195 |
|
| 196 |
-
await self.r2.
|
| 197 |
|
| 198 |
self.pending_verifications = remaining_tickets
|
| 199 |
await self._save_pending_verifications()
|
|
@@ -491,6 +491,10 @@ class TradeManager:
|
|
| 491 |
last_6_5m = d5[-6:]
|
| 492 |
vol_30m_sum = sum([float(c[5]) * float(c[4]) for c in last_6_5m])
|
| 493 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 494 |
context_data = {
|
| 495 |
'entry_price': trade['entry_price'],
|
| 496 |
'tp_price': trade['tp_price'],
|
|
@@ -498,8 +502,8 @@ class TradeManager:
|
|
| 498 |
'entry_time': trade['entry_time'],
|
| 499 |
'oracle_conf': trade.get('decision_data', {}).get('oracle_conf', 0.8),
|
| 500 |
'system_conf': trade.get('decision_data', {}).get('system_confidence', 0.8),
|
| 501 |
-
'highest_price':
|
| 502 |
-
'time_in_trade_mins':
|
| 503 |
'volume_30m_usd': vol_30m_sum,
|
| 504 |
# ✅ الحقن المباشر للحدود
|
| 505 |
'dynamic_limits': trade.get('decision_data', {}).get('dynamic_limits', {})
|
|
|
|
| 193 |
current_stats[model]["profit_accum"] = current_stats[model].get("profit_accum", 0.0) + change["profit_accum"]
|
| 194 |
current_stats[model]["loss_accum"] = current_stats[model].get("loss_accum", 0.0) + change["loss_accum"]
|
| 195 |
|
| 196 |
+
await self.r2.update_diagnostic_stats_async(model_updates)
|
| 197 |
|
| 198 |
self.pending_verifications = remaining_tickets
|
| 199 |
await self._save_pending_verifications()
|
|
|
|
| 491 |
last_6_5m = d5[-6:]
|
| 492 |
vol_30m_sum = sum([float(c[5]) * float(c[4]) for c in last_6_5m])
|
| 493 |
|
| 494 |
+
# حساب البيانات اللازمة للشروط
|
| 495 |
+
highest_price = float(trade['highest_price'])
|
| 496 |
+
time_in_trade_mins = (datetime.now() - datetime.fromisoformat(trade['entry_time'])).total_seconds() / 60
|
| 497 |
+
|
| 498 |
context_data = {
|
| 499 |
'entry_price': trade['entry_price'],
|
| 500 |
'tp_price': trade['tp_price'],
|
|
|
|
| 502 |
'entry_time': trade['entry_time'],
|
| 503 |
'oracle_conf': trade.get('decision_data', {}).get('oracle_conf', 0.8),
|
| 504 |
'system_conf': trade.get('decision_data', {}).get('system_confidence', 0.8),
|
| 505 |
+
'highest_price': highest_price, # مهم لحساب التراجع عن القمة (Giveback)
|
| 506 |
+
'time_in_trade_mins': time_in_trade_mins, # مهم لحساب الركود (Stagnation)
|
| 507 |
'volume_30m_usd': vol_30m_sum,
|
| 508 |
# ✅ الحقن المباشر للحدود
|
| 509 |
'dynamic_limits': trade.get('decision_data', {}).get('dynamic_limits', {})
|