High priority fixes:
- Wire time_in_force, stop_loss, take_profit to broker.place_order()
* Pass time_in_force from received_new_trade() to new_trade()
* Pass SL/TP/TIF from new_trade() to broker.place_order()
- Reconcile Trade ledger when SL/TP triggers
* Find all matching paper trades for symbol
* Settle trades at trigger price
* Move from active_trades to settled_trades
* Save to database
- Fix fresh schema missing SL/TP columns
* Add stop_loss and take_profit to CREATE TABLE statement
* Ensures first-run trade persistence works
Medium priority fixes:
- Hide SL/TP fields for SELL orders (inventory-only model)
* SL/TP only makes sense for BUY (opening positions)
* SELL closes existing positions, no SL/TP needed
* Added _updateSltpVisibility() method
* Side change listener shows/hides SL/TP row
* Removed SELL-side SL/TP validation
Tests:
- Added 2 integration tests for manual trading SL/TP path
- 353 tests pass (4 pre-existing failures unrelated)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>