Commit Graph

5 Commits

Author SHA1 Message Date
17303d5d3d Add deposit-based total return, session persistence flag, dual return rates
- Add fetch_total_deposits() with hourly local cache (deposit_cache.json)
- Use deposit total as capital base for accurate total return calculation
- Add --no-session-persistence to claude CLI subprocess calls
- Show both total return (deposit-based) and change rate (cost-based) in reports
- Update portfolio summary with Total Return line

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 10:21:39 +00:00
e2ec3cd920 Raise take-profit to 15% and tighten SELL conditions for longer holds
- TAKE_PROFIT_PCT 5% → 15% (risk/reward 5:1 vs 3% stop-loss)
- SELL signal now requires ≥2 confirmations (was 1)
- Add 1h trend filter: hold if 1h still bullish even if 5m shows sell
- Sync cost_tracking.json and stop_orders.json after balance refresh

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 03:38:42 +00:00
c473a581b0 Add realized P&L reporting, stop-loss fill detection, and balance margin
- Show realized P&L (USDT + %) in Slack for all SELL trades (TP, LLM, stop-loss)
- Detect filled stop-loss orders via stop_orders.json persistence and report as [止損觸發]
- Deduct 1 USDT margin from available balance to prevent exchange insufficient balance errors

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 02:44:46 +00:00
349f766635 Update cost tracking data with latest trade pairs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 02:29:25 +00:00
ce88afdb96 Add cost basis sync, fix stop-loss reliability, improve reporting
- New sync_cost_basis.py: recalculate entry_price from order history,
  sync amounts/balances from wallet (cron every 30 min)
- Fix stop-loss ID staleness: update stop_orders_by_sym in step 2b
  after placing new stops, preventing SELL failures from stale IDs
- Fix position limit inconsistency: use same total_balance in
  validate_trade instead of calling check_position_limit
- Skip stop-loss for positions below MIN_ORDER_AMOUNT
- Add API response body logging for 500 errors
- Cancel "Order not found" treated as success (not error)
- Post-trade wallet refresh to ensure fresh balances
- Report: show total value, total return %, exclude dust positions
- Crontab offset +1 min from candle close for complete data
- Handle PARTIALLY FILLED order status in cost calculation
- Sort orders by mts_create in Python (Bitfinex sort unreliable)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:18:49 +00:00