feat: IBKR-aligned order params + TPSL support + order summarization#98
Merged
luokerenx4 merged 5 commits intomasterfrom Apr 1, 2026
Merged
feat: IBKR-aligned order params + TPSL support + order summarization#98luokerenx4 merged 5 commits intomasterfrom
luokerenx4 merged 5 commits intomasterfrom
Conversation
… fields Rename AI tool and StagePlaceOrderParams/StageModifyOrderParams to use IBKR-native field names (action, orderType, totalQuantity, lmtPrice, auxPrice, tif, outsideRth, etc.), eliminating the toIbkrOrderType/toIbkrTif translation layer. Fixes semantic bug where trailingAmount was incorrectly mapped to trailStopPrice instead of auxPrice. Adds missing trailStopPrice merge in IbkrBroker.modifyOrder. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New optional takeProfit/stopLoss params on placeOrder AI tool, with string
prices to avoid precision loss. TpSlParams flows through the full pipeline:
tool → StagePlaceOrderParams → Operation → dispatcher → IBroker.placeOrder().
Broker implementations:
- CCXT: maps to createOrder params { takeProfit, stopLoss }
- Alpaca: maps to order_class "bracket" with take_profit/stop_loss
- IBKR: signature updated, params ignored (use parentId bracket path)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Read takeProfitPrice/stopLossPrice from CCXT orders in convertCcxtOrder, and parse bracket order legs in Alpaca's mapOpenOrder. OpenOrder now carries optional tpsl field matching the TpSlParams shape used at placement time. Unit tests (TDD): 3 CCXT + 3 Alpaca extraction tests. E2E tests: TPSL round-trip on Bybit (3 files), IBKR pass-through, Alpaca bracket (market-hours gated). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace raw IBKR OpenOrder spread (~200 fields, mostly UNSET_DOUBLE) with compact OrderSummary (~15 fields, UNSET values filtered out). Add optional groupBy: "contract" parameter to cluster orders by aliceId — critical for portfolios with many positions + TPSL orders. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
🤖 Generated with Claude Code