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])
Excel Desktop (Windows)

Parameters

orderTypestringRequired

Order type: 'MARKET', 'LIMIT', 'NET_DEBIT', 'NET_CREDIT'

pricenumberRequired

Net price for the spread

symbolOption1stringRequired

TDA option symbol for leg 1

quantity1numberRequired

Number of contracts for leg 1

orderSide1stringRequired

Order side for leg 1: BUY_TO_OPEN, BUY_TO_CLOSE, SELL_TO_OPEN, SELL_TO_CLOSE

symbolOption2string

TDA option symbol for leg 2

quantity2number

Number of contracts for leg 2

orderSide2string

Order side for leg 2

symbolOption3string

TDA option symbol for leg 3

quantity3number

Number of contracts for leg 3

orderSide3string

Order side for leg 3

symbolOption4string

TDA option symbol for leg 4

quantity4number

Number of contracts for leg 4

orderSide4string

Order side for leg 4

Returns

object

Order confirmation including order ID, status, and execution details

Examples

Bull Call Spread (debit)
=TradeMultiLegThinkOrSwim("NET_DEBIT", 2.50, "AAPL_011924C180", 1, "BUY_TO_OPEN", "AAPL_011924C185", 1, "SELL_TO_OPEN")
Bear Put Spread (debit)
=TradeMultiLegThinkOrSwim("NET_DEBIT", 3.00, "AAPL_011924P185", 1, "BUY_TO_OPEN", "AAPL_011924P180", 1, "SELL_TO_OPEN")
Credit Put Spread
=TradeMultiLegThinkOrSwim("NET_CREDIT", 1.50, "SPY_011924P470", 1, "SELL_TO_OPEN", "SPY_011924P465", 1, "BUY_TO_OPEN")
Iron Condor (4 legs)
=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

Get Access to 1 Billion Usable Market data points IN YOUR EXCEL SHEETS WITH EASY TO USE EXCEL FUNCTIONS

Get started today
MarketXLS Excel Add-in Tutorial - How to Use Trade Multi Leg ThinkOrSwim and Other Financial Formulas
How does MarketXLS work?