Fix: live market buy was buying N coins instead of spending N EUR #8
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/live-market-buy-cost"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Live-Bug, auf dem Deploy-Host gefunden. Jeder Live-
buyschlug mitEOrder:Insufficient fundsfehl.Ursache
kraken_client.live_market_buyhat das EUR-Budget alsamountancreate_order(..., "market", "buy", quote_budget)übergeben, zusammen mitoptions["createMarketBuyOrderRequiresPrice"] = False. Die eingesetzte ccxt-Version (4.5.76) liest diesenamountals Basis-Menge →buy 6heißt „6 BTC kaufen" (~400.000 €), nicht „6 € ausgeben". Ergebnis: jede Order abgelehnt.Auf einem gut gefüllten Konto hätte das stattdessen eine massiv überdimensionierte Order platzieren können – deshalb kritisch.
Fix
exchange.create_market_buy_order_with_cost(symbol, quote_budget)verwenden. Gegen Kraken pervalidategeprüft:descr.ordercreate_order,amount=6.0)buy 6.00000 XBT @ market..._with_cost(6.0))buy 6.00 XBTEUR @ market✓Der Rest von
live_market_buy(Re-Fetch der Fill-Details, Fee-Parsing) bleibt unverändert.Tests
test_kraken_client.py(neu):live_market_buyruft die Cost-Methode mit dem Budget alscostauf (nichtcreate_order); Re-Fetch-Pfad; „kein Fill → failed"pytest→ 79 passedNach dem Merge (Deploy
vpn)git pullin/opt/krypto-dca-bot,systemctl restart krypto-dca-backend.service,systemctl reset-failed krypto-dca-buy.service. Es wurde nie echtes Geld bewegt (0 Live-Trades, Guthaben unverändert 100 €).Co-authored-by: Claude claude@anthropic.com