FreeIndicators·ThinkorSwim
Smarter Earnings
Earnings reaction context with expected-move guardrails.
How to install in ThinkorSwim
- In ThinkorSwim, open a chart, then go to Studies → Edit Studies.
- Click Create, clear the editor, and paste the code.
- Name it, click Apply, then OK, and it draws on your chart.
How to Use — WeTradePro Smarter Earnings
Marks every past earnings date and measures the move that followed, then reports how violently this stock typically reacts. Educational, not advice.
What it is (one line)
A daily-chart overlay that flags past earnings bars, bubbles the post-earnings % reaction on each, and labels the average and biggest reaction across all events shown.
Who it's for & best timeframe
| Trader type | How you use it | Best timeframe | Notes |
|---|---|---|---|
| Day trader | Know the expected gap size before an earnings-day trade | Daily (read), then trade intraday | Sizing/expectation tool |
| Swing trader | Best fit — decide whether to hold through, or flatten before, earnings | Daily | Average reaction = your risk if you hold over |
| Position trader | Gauge whether this name is an earnings-volatility minefield | Daily / Weekly | Context for long-horizon holds |
Best overall: Daily chart. Earnings are a daily event; HasEarnings() only resolves on a daily aggregation.
What you see
- A dashed vertical line on each past earnings bar.
- A bubble on each earnings bar with the post-earnings % move (green up / red down).
- Labels: number of earnings on the chart, the average absolute reaction, and the single biggest move.
How to trade with it
- Set expectations. If average reaction is 9%, a stock holding into earnings can gap ~9% either way — size so that gap is survivable.
- Hold-or-flatten decision. Big average reaction + you don't want gap risk = flatten before the report. Small average reaction = holding through is lower-stakes.
- Read the pattern. If the last several reactions were all green, the stock has been rewarded for results — but never assume the next one repeats.
- Post-earnings drift. Pair with WTP Post-Earnings to see whether the initial reaction tends to keep going or fade.
Settings (inputs)
barsAfter(1) — how many bars after the report to measure the reaction.1= next-day close. Raise to capture a multi-day reaction window.showBubbles(yes) — toggle the per-event % bubbles.showClouds(yes) — toggle the vertical earnings markers.
Best on
- Liquid single stocks with a real earnings history (mega/large caps). ETFs and futures don't report earnings, so this study has nothing to mark on them.
Common mistakes
- Running it on an intraday chart — HasEarnings() is a daily event; use a Daily chart.
- Assuming the next move equals the average — the average is context, not a forecast.
- Confusing reaction direction with a signal — a green past reaction is history, not a buy.
- Data limitation (honest note):
HasEarnings()flags only PAST earnings that your broker's data has on record — it does NOT predict the next date and can miss older events on a short data history. The reaction is measured to a fixed N bars after each event for comparability; a stock that keeps moving for days will show only the N-bar slice.
Video script outline (for your WeTradePro tutorial)
- Hook: "Should you hold through earnings? Let the stock's own history tell you."
- Add the study on a daily chart; point out the earnings markers.
- Read a bubble: "+8%, then -11% last quarter — this thing moves."
- The average-reaction label = your gap-risk number.
- Use it to size, or to decide to flatten before the print.
- Honest note: past dates only, not a predictor.
- Recap + "import link in description."
Educational analysis, not financial advice.
← Back to all 103 indicators