Trade Multi Leg ThinkOrSwim
Places multi-leg option trades (spreads, straddles, iron condors, etc.) through TD Ameritrade/ThinkOrSwim. Supports up to 4 legs.
Prerequisites
- Active TD Ameritrade/Schwab brokerage account
- API connection configured in MarketXLS
- Options trading approval level for the strategy
Parameters
| Parameter | Required | Description |
|---|---|---|
| OrderType | Yes | MARKET, LIMIT, NET_DEBIT, NET_CREDIT |
| Price | Yes | Net price for spread |
| SymbolOption1-4 | Leg 1 req | TDA option symbols |
| Quantity1-4 | Leg 1 req | Contracts per leg |
| OrderSide1-4 | Leg 1 req | BUY_TO_OPEN, SELL_TO_OPEN, etc. |
TDA Option Symbol Format
TDA uses format: SYMBOL_MMDDYYCP + STRIKE
- Example: AAPL_011924C180 (AAPL Jan 19 2024 Call $180)
WARNING
This function places REAL trades. Always verify parameters before executing.
Syntax
=TradeMultiLegThinkOrSwim(OrderType, Price, SymbolOption1, Quantity1, OrderSide1, [SymbolOption2], [Quantity2], [OrderSide2], [SymbolOption3], [Quantity3], [OrderSide3], [SymbolOption4], [Quantity4], [OrderSide4])Parameters
Order type: 'MARKET', 'LIMIT', 'NET_DEBIT', 'NET_CREDIT'
Net price for the spread
TDA option symbol for leg 1
Number of contracts for leg 1
Order side for leg 1: BUY_TO_OPEN, BUY_TO_CLOSE, SELL_TO_OPEN, SELL_TO_CLOSE
TDA option symbol for leg 2
Number of contracts for leg 2
Order side for leg 2
TDA option symbol for leg 3
Number of contracts for leg 3
Order side for leg 3
TDA option symbol for leg 4
Number of contracts for leg 4
Order side for leg 4
Returns
Order confirmation including order ID, status, and execution details
Examples
=TradeMultiLegThinkOrSwim("NET_DEBIT", 2.50, "AAPL_011924C180", 1, "BUY_TO_OPEN", "AAPL_011924C185", 1, "SELL_TO_OPEN")=TradeMultiLegThinkOrSwim("NET_DEBIT", 3.00, "AAPL_011924P185", 1, "BUY_TO_OPEN", "AAPL_011924P180", 1, "SELL_TO_OPEN")=TradeMultiLegThinkOrSwim("NET_CREDIT", 1.50, "SPY_011924P470", 1, "SELL_TO_OPEN", "SPY_011924P465", 1, "BUY_TO_OPEN")=TradeMultiLegThinkOrSwim("NET_CREDIT", 2.00, "SPY_011924P465", 1, "BUY_TO_OPEN", "SPY_011924P470", 1, "SELL_TO_OPEN", "SPY_011924C485", 1, "SELL_TO_OPEN", "SPY_011924C490", 1, "BUY_TO_OPEN")When to Use
- Executing vertical spreads through ThinkOrSwim
- Placing iron condors or iron butterflies via TDA
- Trading straddles or strangles on ThinkOrSwim
- Any multi-leg options strategy through TD Ameritrade
When NOT to Use
| Scenario | Use Instead |
|---|---|
| Single-leg option trade | TradeSingleLegThinkOrSwim() |
| Stock trade | TradeSingleLegThinkOrSwim() |
| Tradier broker | TradeMultiLegTradier() |
| Just need quotes | Option_Last_Price() |
Common Issues & FAQ
What's NET_DEBIT vs NET_CREDIT?
NET_DEBIT = you pay money (buying spread). NET_CREDIT = you receive money (selling spread).
How is TDA option format different?
TDA: AAPL_011924C180 vs OCC: AAPL240119C00180000. TDA format is shorter.
Why is my order rejected?
Check:
- Options approval level for complex strategies
- Margin/buying power requirements
- Valid TDA option symbols
- Price reasonableness
Related Formulas
More MarketXLS Trading formulas you can use in the same worksheet:
See TradeMultiLegThinkOrSwim used in a complete workbook: MarketXLS New Release 9.3.4.8
