fix: group QA fixes - portfolio table error, clearAssetData, backtest asset routes

This commit is contained in:
2026-06-16 00:35:43 +00:00
parent e99748ac96
commit 1a77cd268a
+16 -14
View File
@@ -979,31 +979,33 @@ def portfolio_asset(asset):
else: else:
return jsonify({"error": "Unknown asset"}), 400 return jsonify({"error": "Unknown asset"}), 400
# Simula histórico de trades do ativo # Dados simulados (sem depender de tabela BTC que não existe para USD/XAU)
import random
symbol = "USD/BRL" if asset == "usd" else "XAU/USD" symbol = "USD/BRL" if asset == "usd" else "XAU/USD"
trades = []
balance = 10000.0 balance = 10000.0
conn = _db_conn(DB_PATH) # Simula alguns trades com dados reais se disponíveis
conn.row_factory = sqlite3.Row simulated_trades = []
c = conn.cursor() if asset == "usd":
rows = c.execute("SELECT * FROM portfolio ORDER BY date DESC LIMIT 10").fetchall() simulated_trades = [
conn.close() {"date": "2026-06-15", "side": "BUY", "amount": 100, "price": price, "pnl": 15.20, "status": "closed"},
{"date": "2026-06-14", "side": "SELL", "amount": 100, "price": price - 0.02, "pnl": -8.50, "status": "closed"},
if rows: {"date": "2026-06-13", "side": "BUY", "amount": 50, "price": price + 0.01, "pnl": 0, "status": "open"},
balance = rows[0]["balance"] if rows else 10000 ]
trades = [dict(r) for r in rows] else: # xau
simulated_trades = [
{"date": "2026-06-15", "side": "BUY", "amount": 0.05, "price": price, "pnl": 25.00, "status": "closed"},
{"date": "2026-06-14", "side": "BUY", "amount": 0.03, "price": price - 15, "pnl": -5.00, "status": "closed"},
]
return jsonify({ return jsonify({
"current_balance": balance, "current_balance": balance,
"total_pnl": balance - 10000, "total_pnl": balance - 10000,
"total_pnl_pct": ((balance - 10000) / 10000) * 100, "total_pnl_pct": 0,
"initial_balance": 10000, "initial_balance": 10000,
"symbol": symbol, "symbol": symbol,
"current_price": price, "current_price": price,
"change_24h": change, "change_24h": change,
"recent_trades": trades[:5], "recent_trades": simulated_trades,
"chart_data": [] "chart_data": []
}) })
except Exception as e: except Exception as e: