trading/services/trade_executor
Viktor Barzin 6fec9963fb
Some checks failed
ci/woodpecker/push/woodpecker Pipeline was canceled
feat(notify): Slack message for reconcile-booked closes (realized P&L)
Entries, deferrals and rejections posted to #trading-bot, but exits booked by the reconcile loop (bracket stop/take-profit legs that fill at Alpaca) were silent — the two Jun 9 stop-outs produced no message. Viktor asked for a Slack message on each position execution.

- move SlackNotifier to shared/ (now used by trade-executor AND api-gateway)

- add notify_close (ticker/qty/price/realized P&L/reason, win-loss emoji)

- reconcile loop notifies on each booked close, fail-soft; api-gateway config gains slack fields (channel defaults to trading-bot since the env carries only the bot token; chat:write.public covers posting)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 20:44:35 +00:00
..
__init__.py feat: trade executor — risk management and order execution 2026-02-22 15:36:08 +00:00
config.py feat(trade-executor): defer outside_market_hours signals to next open 2026-06-01 19:01:37 +00:00
deferred_queue.py feat(trade-executor): defer outside_market_hours signals to next open 2026-06-01 19:01:37 +00:00
main.py feat(notify): Slack message for reconcile-booked closes (realized P&L) 2026-06-10 20:44:35 +00:00
risk_manager.py feat(kevin-exec): size from target_dollars, propagate price, bracket entries 2026-06-04 21:56:59 +00:00
slack_notifier.py feat(trade-executor): defer outside_market_hours signals to next open 2026-06-01 19:01:37 +00:00