Better Crash is a free TradeStation indicator that plots two trailing levels on an index chart: a 10% Correction level and a 20% Crash level, both measured down from the highest high of the last year. When price breaches a level for the first time, the indicator drops a dot on that bar and labels it “Correction” or “Crash”. It then waits for a new high before it will fire again.
That is all it does. It does not forecast. It defines. A correction is 10% off the high, a crash is 20% off the high, and the indicator shows you the exact bar where each one became official. It runs on daily, weekly or monthly charts - you set one input to match.
My setup: Weekly chart of the S&P 500 ES continuous contract with the defaults: LookBack 52, Correction 10%, Crash 20%, both packages on. That is the chart I keep open. The Correction line is the most important one - it tells me at a glance how far the current pullback has to run before it becomes a story.
The zip contains the .ELD import file and the EasyLanguage source code as plain text.
What You Get
| Element | Trigger | Default colour | Default state |
|---|---|---|---|
| Correction Level line | Trails 10% below the rolling LookBack high | Cyan | On |
| Correction dot and label | First bar where the Low touches the Correction Level | Cyan | On |
| Crash Level line | Trails 20% below the rolling LookBack high | Red | On |
| Crash dot and label | First bar where the Low touches the Crash Level | Red | On |
Each package (line, dot and label) has its own on-off switch, so you can run the Crash level alone on a long-term chart or the Correction level alone on a daily chart.
How It Works
The indicator keeps a high watermark. On every bar, it asks one question: is this bar’s High the highest High of the last LookBack bars? If yes, the watermark resets to that High, and both alerts arm.
From the watermark, it projects two levels down: the watermark times 0.90 for the Correction Level and the watermark times 0.80 for the Crash Level. These are the two trailing lines on the chart. They step up on every new high and stay flat while price is below the high.
When the Low of a bar touches or crosses the Correction Level while the correction alert is armed, the indicator fires once - a dot on the level and a label - and disarms. Same logic for the Crash Level. Neither will fire again until price makes a new LookBack high and re-arms the system. So you get one dot per decline, not a dot on every bar under the line.
The watermark is a rolling high, not an all-time high. That matters in a long bear market. After the 1929 peak, the Dow did not make a new all-time high until 1954, and an all-time-high version of this indicator would have sat silent for 25 years. With a rolling one-year lookback, the watermark rolls down with the market, the levels reset off the lower highs, and the indicator keeps marking each fresh 20% leg down.
Daily, Weekly or Monthly
The only input you need to change between timeframes is LookBack. It is the number of bars in the rolling high, so it should always equal roughly one year of bars.
| Chart | LookBack | Why |
|---|---|---|
| Daily | 250 | About 250 trading days in a year |
| Weekly | 52 | 52 weeks. This is the default. |
| Monthly | 12 | 12 months. Use this for 50 to 100 year history charts. |
Everything else stays the same. A 20% drop is a 20% drop whether it took three weeks in 2020 or three years in 1930.
Installation
- Download BetterCrash.zip and unzip it. You get BetterCrash.ELD and BetterCrash.txt.
- In TradeStation, go to File, then Import/Export EasyLanguage.
- Choose “Import EasyLanguage file (ELD, ELS or ELA)” and select BetterCrash.ELD.
- Open a daily, weekly or monthly chart of an index, insert the indicator _BetterCrash, and set LookBack to match the chart.
- On the Scaling tab, set it to “Same Axis as Underlying Data”.
The .txt file is the full source code. Open it in any editor to read the logic. There is no NinjaTrader or TradingView version yet.
Better Crash Settings
| Input | Default | What it does |
|---|---|---|
| ShowCorrection | True | Switches the whole Correction package on or off: trailing line, dot and label |
| ShowCrash | True | Switches the whole Crash package on or off |
| LookBack | 52 | Bars in the rolling high. 250 Daily, 52 Weekly, 12 Monthly |
| CorrectionPct | 10 | Percentage drop from the high that counts as a Correction |
| CrashPct | 20 | Percentage drop from the high that counts as a Crash |
| CorrectionColor | Cyan | Colour of the Correction line, dot and label |
| CrashColor | Red | Colour of the Crash line, dot and label |
Colours accept any TradeStation colour name (see TradeStation’s EasyLanguage colour list) or an RGB value. To change the dot size, open Format Indicator, go to the Style tab, and set the weight on the “Correction” and “Crash” plots. The two “Level” plots are the trailing lines and should stay as points.
Stock Market Crash Indicator FAQ
What counts as a correction and what counts as a crash?
The convention is a 10% fall from a recent high for a correction and 20% for a crash, which is also the standard definition of a bear market. Those are the defaults. Both are inputs, so if you want 30% for “crash” to isolate only the severe declines, change one number.
Does this indicator predict crashes?
No. It measures them. The dot appears on the bar where the decline crossed the threshold, which by definition is after the top. For what the market looks like before a top - the setup I look for on the Better Indicators before I will believe a crash is possible - watch the video: The Stock Market Will Not Crash Until You See This.
Why measure from a rolling high instead of the all-time high?
So the indicator keeps working inside long bear markets. Off an all-time high, the Dow would have shown one crash dot in 1929 and nothing until the 1950s. Off a rolling one-year high, it marks each fresh leg down, which is what you want when the question is “how many times did this market fall 20%”.
Why do some bear markets show two crash dots?
Because a bear market rally can make a new one-year high once the old peak has rolled out of the LookBack window. That re-arms the indicator, and the next 20% leg down fires again. It is not a bug. It is telling you the decline had two distinct legs.
Which chart should I use?
Weekly for the current market, monthly for history, daily if you trade the corrections. Set LookBack to 52, 12 or 250 respectively and leave everything else alone.
Can I use it on a stock or a futures contract?
Yes. It is just maths on High and Low. It was written for indices because that is where the 10% and 20% conventions come from, but nothing in the code cares what the symbol is.
Troubleshooting
The indicator appears in its own panel below the chart. Open Format Indicator, go to the Scaling tab, and set it to “Same Axis as Underlying Data”. The levels are prices and belong on the price chart.
No dots appear, only the lines. The dots are plots 3 and 4 and only draw on the breach bar. Check the Style tab: set “Correction” and “Crash” to Point style with a weight of 3 or more. If they are set to a weight of 1, they will be invisible.
The labels overlap the dots or the price bars. The label is anchored to the right of the dot and above the level line. On a very compressed chart, the text can still collide with the bars. Zoom in, or shorten the text in the Draw_Label calls in the source code.
The first year of the chart shows nothing. The rolling high needs LookBack bars of history to be meaningful. Load more data than you intend to look at - at least one LookBack period before the first date you care about.
I changed CrashPct and the old labels are still there. The labels are persistent drawing objects. Remove the indicator from the chart and re-insert it to clear them.
More Free TradeStation Indicators
- Session Indicator - Open, close, 11 am reversal window and weekly close on intraday charts
- TRIN Indicator - One of the few truly leading market breadth indicators
- Commitment of Traders Indicator - See what commercial hedgers and large speculators are doing
- Better Volume Indicator - Stop ignoring the most underrated market variable
Professional-Grade Trading Indicators
Better Crash tells you WHEN a crash or correction has happened. The ‘Better’ Indicator suite tells you WHAT the Professionals are doing before the top arrives:
- Better Momentum - Identifies momentum shifts before they show up on price
- Better Sine Wave - Pinpoints cycle turning points
- Better Pro Am - Separates professional activity from amateur activity
Follow the Professionals, Fade the Amateurs. That’s the whole game, and these tools are built for it.

