Integrations / thinkorswim
FirmTape levels in thinkorswim
A thinkScript study that draws the flip and the walls as horizontal lines from numbers you type in. thinkorswim cannot fetch data. These are measurements of dealer positioning, not trade signals: the plugin places no orders and raises no alerts.
The download is the script's own text: open it, select all and paste it into the thinkScript editor.
What you need
- thinkorswim desktop.
- A FirmTape account on the LIVE plan, to read the levels on /account#integrations. No token goes into thinkorswim.
The levels
No token goes into thinkorswim: the levels travel as a string you copy on /account#integrations (LIVE plan).
Install
- Open the study's text below (the download is the script itself) and copy all of it.
- In thinkorswim: Studies > Edit studies... > Create...
- Name it FirmTapeLevels, delete the default line, paste the script, OK.
- On a chart: Studies > Edit studies..., find FirmTapeLevels, Add selected, OK.
Which levels on which chart
| Chart | Use the numbers of |
|---|---|
/ES, /MES (any month) | ES |
/NQ, /MNQ | NQ |
$SPX | SPX |
QQQ, SPY and other tickers | that ticker |
ES and NQ levels are already moved by the day's basis, so they are futures prices: do not type SPX levels on an ES chart. When the flip is more than 5% from the chart's price the study says "Levels do not fit this chart's price".
Updating the levels
thinkScript cannot split a pasted string, so the levels are numbers typed into the study's inputs. Read them from the levels string copied on /account#integrations (under TradingView and thinkorswim):
| Input | From the levels string | Example |
|---|---|---|
| flip level | flip= | 7760.56 |
| call wall | cr= | 7780.25 |
| put wall | ps= | 7750.25 |
| show OI | no | |
| OI flip level | oflip= | 7733.15 |
| OI call wall | ocr= | 7810.25 |
| OI put wall | ops= | 7710.25 |
| levels date | the date in the block's header, as yyyymmdd | 20260930 |
| levels time | the time in the block's header, as hhmm | 1517 |
To change them, click the study's name on the chart (or the gear next to FirmTapeLevels in Edit studies), type the numbers, OK. A level left at 0 is not drawn. The date label turns red, "OLDER THAN TODAY", from the next day on, so yesterday's levels never pass for today's.
The levels do not move by themselves. Refresh them when the terminal's flip or a wall has moved (for example after the first 30 minutes, at midday and in the last hour), and always after a large move through a level. For lines that follow the session, use a platform that can call the levels API. Each chart holds its own copy of the study and its inputs; save the chart as a Style or a Flexible Grid to reuse a set.
Settings
| Setting | Default | What it does |
|---|---|---|
| flip level, call wall, put wall | 0 | The volume book's levels. 0 is not drawn. |
| show OI | no | Also draws the open-interest flip and walls. |
| OI flip level, OI call wall, OI put wall | 0 | The open-interest book's levels. |
| levels date, levels time | When the levels were taken, for the age label. |
What is drawn
- The volume book's flip, call resistance and put support as horizontal lines with names at the last bar and labels at the top of the chart.
- Optionally the open-interest flip and walls.
- A date label that turns red when the levels are older than today.
- Every level is FirmTape's volume book, the one the terminal draws; the open-interest book is the optional set.
- ES and NQ are the SPX and NDX books moved by the day's basis (the running median of the day's basis measurements from put-call parity, rounded to 0.25), exactly as the terminal draws them. MES and MNQ read the same levels as ES and NQ.
- Cadence: SPX and ES are rebuilt every second; NQ and the tickers carry a book rebuilt every five minutes and a price of the second.
- Gamma units are named by the API: millions of USD per index point for SPX and ES, USD per 1% move for NQ and the tickers. Compare bar lengths within one chart, not across charts.
Troubleshooting
| Status says | Meaning and fix |
|---|---|
Levels do not fit this chart's price | The numbers belong to another symbol (for example SPX levels on /ES). Type the chart's own block. |
OLDER THAN TODAY | The typed levels are from an earlier day. Type today's. |
A line is missing | Its input is 0, or the level is outside the visible price range. |
More
- Tokens and the TradingView and thinkorswim levels string: /account#integrations.
- The levels API reference: /api/v1 (OpenAPI).
- Every platform: /integrations.
Beta software, provided as is, not yet verified inside every version of thinkorswim. thinkorswim is a trademark of its owner; no affiliation with, or endorsement by, it is implied. Not investment advice.