Here’s How TradeStation Can Help You Sift Through the Coronavirus Wreckage


Traders know the market had an epic crash last week. Fewer people know how to find opportunities amid the wreckage. This post will show how TradeStation can help.

Broad selloffs can be irrational. Last week, investors liquidated billions from index funds in minutes. Company fundamentals were completely disregarded as coronavirus scared everyone.

This kind of extreme fear doesn’t last forever. And as it fades, investors may find opportunities in some of the same companies that were performing well before the crisis.

Advanced Micro Devices (AMD) chart with 50- and 200-day moving averages.
Advanced Micro Devices (AMD) chart with 50- and 200-day moving averages.

But how do we find them? It’s not always easy because a stock might have rallied and now given back all its gains. Is there a way to freeze time before the crash and find the old leaders? Thanks to EasyLanguage and TradeStation’s award-wining platform, it’s easier than you might think.

Rolling Back the Clock on Volatility

The custom tool below solves the problem by using two time frames: “pre-crash” and “post-crash.” Then we simply look for the stocks that rallied the most before the crash.

RadarScreen®  showing leading members of the S&P 500 before last week's crash.
RadarScreen® showing leading members of the S&P 500 before last week’s crash.

First, you need the custom indicator 2-Period Changes. You can download it here and import it into TradeStation. Or you can copy and paste the code at the bottom of this article via the EasyLanguage app on TradeStation. Make sure to verify it by hitting “F3” before using it.

Next, open a new RadarScreen® and import the entire S&P 500 by clicking on Data → Add Symbol List → S&P 500 Index. Make sure the timeframe is set to “Daily” for all rows. Then click on Studies → Add Study. Select “2-Period Changes” from the menu that comes up.

After the data loads, sort by “Past Return.” Toggling on the column will list companies like Advanced Micro Devices (AMD), Nortonlifelock (NLOK) and Nvidia (NVDA).

How it Works

Looking at the code below, you can see the pre-crash as “change_A” and post-crash as “change_B.” It accepts two inputs, “start days” and “end days.”

“Start days” indicates how many days in the past you want to start the pre-crash period. By default it’s set to 63, which is roughly three months. (Weekends and holidays don’t count.)

“End days” represents the number of days since the crash began. It’s set to 7 by default because the session before the selloff began was February 21.

The indicator will calculate “Past Return” starting from 63 days ago until 7 days ago: the “pre-crash” changes. “Current return” is the same as “post crash,” in this case the next seven sessions through yesterday.

Nortonlifelock (NLOK) chart with 50- and 200-day moving averages.
Nortonlifelock (NLOK) chart with 50- and 200-day moving averages.

You can also change the time intervals by right clicking on the header in RadarScreen and selecting Studies → Edit ‘2-period change’ for All Symbols. This way it can be reused and adapted for other situations down the road.

Scanning Beyond the S&P 500

Customers can also use 2-Period Changes with TradeStation’s Scanner tool. This can analyze more than 8,000 symbols in the database. RadarScreen, on the other hand, requires that you provide the list such as the S&P 500.

Here are the steps:

  1. Click on the Apps button at the top left of TradeStation’s platform. Select Scanner.
  2. Click the Add button at the bottom left of scanner. Name the new scan.
  3. On the next screen under “Symbols to Include,” select “All Stocks.”
  4. The next screen asks for criteria. Under “<Select Criteria>” add these:
    1. Volume → Vol Avg (10 day): Set to greater than 500000.
    2. Capitalization → Market Capitalization (Mil): Set to greater than 1000.
    3. Indicator → 2-Period Change: Set “Past Return” to greater than 0.4.

Now click “Run.” This will:

  • Find stocks that trade at least 500,000 shares per day. That eliminates weird and illiquid securities.
  • Find stocks with at least $1 billion of market capitalization.
  • Finds stocks that rose at least 40 percent in the “pre-crash” period. (The indicator outputs percentages/decimals.) You can also modify the time parameters by clicking the small “+” on the left side of the criteria grid.
Chart of lithium company Albemarle (ALB), whose products are used in electric-car batteries.
Chart of lithium company Albemarle (ALB), whose products are used in electric-car batteries.

Price is Truth

This price-based approach finds companies that outperformed immediately before the crash. In many cases, the reasons for their strength may still be valid — like strong earnings. That could mean the same buyers who drove them higher a few weeks ago will return for more shares as calm returns to the market.

Scanning by recent strength can also discover stocks regardless of sector or industry group. It can help broaden your horizons without the time-consuming chore of reading countless analyst reports or blogs.

2-Period Change is also super adaptable. Bears can flip it around to find stocks bouncing against longer-term declines. You can add fundamentals like earnings growth rate, profit margins and valuation ratios in Scanner. And, it can be run every month or so to find general pullbacks.

Nvidia (NVDA) chart with 50- and 200-day moving averages.
Nvidia (NVDA) chart with 50- and 200-day moving averages.

In conclusion, the coronavirus outbreak has produced one of the most violent pullbacks in history. But now the S&P 500 is trying to stabilize and the market is looking for the Federal Reserve to slash interest rates. If you’re looking for opportunities, TradeStation’s powerful technology can help you find them.

// First, declare variables that will be used.
change_A(0), // Change in the older time interval
change_B(0); // Change in the subsequent time interval

// Next, create inputs. Default values are in ().
// You can change these by editing the indicator.

// This section calculates the changes.
// It also keeps the indicator from crashing.
If Close[start_days] > 0 and Close[end_days] > 0
change_A = (Close[end_days] / Close[start_days] ) -1 ;
change_B = (Last / Close[end_days] ) -1 ;

// This section outputs the changes.
Plot1(change_A,"Past Return");
Plot2(change_B,"Current Return");

// This section color codes green (positive) and red (negative).
If Plot1 > 0 then
SetPlotColor(1, GREEN)
SetPlotColor(1, RED);

If Plot2 > 0 then
SetPlotColor(2, GREEN)
SetPlotColor(2, RED);
Trade in milliseconds

Explore the most actively traded options

Trade 600+ futures products on an advanced platform