Learn how to build a powerful volume scanner and stock screener for ThinkOrSwim
Download ScanDiscover how to build custom unusual volume scanners that automatically find high-probability trading opportunities in ThinkOrSwim.
In this detailed tutorial, you’ll learn to create 4 powerful scans:
Whether you’re a day trader or swing trader, these scanners will help you spot unusual volume activity before major price movements, giving you a significant edge in the market.
Volume is the fuel that drives price movement in the stock market. When unusual volume appears, it often signals that institutional money is flowing into or out of a stock, creating high-probability trading opportunities. In this comprehensive guide, you’ll learn how to build four powerful unusual volume scanners in ThinkOrSwim that can give you a significant edge in identifying these opportunities before they become obvious to the masses.
Most traders focus exclusively on price action, but the smartest traders know that volume tells the real story. When a stock moves 5% on light volume, it’s often just noise. But when a stock moves 2% on volume that’s 400% above average, that’s institutional money at work.
Unusual volume analysis helps you:
The foundation of our unusual volume scanners is ThinkOrSwim’s Relative Volume Standard Deviation indicator. Unlike simple volume comparisons, this indicator measures how far current volume deviates from the historical average, expressed in standard deviations.
Here’s what different standard deviation levels typically mean:
The key advantage of using standard deviations is that it automatically adjusts for each stock’s normal trading patterns. A biotech stock that normally trades 50,000 shares showing 200,000 shares (4 standard deviations) is more significant than a mega-cap stock going from 50 million to 60 million shares (1.2 standard deviations).
Our first scanner identifies stocks experiencing volume spikes of 4 or more standard deviations above their 50-day average. These extreme volume events often occur during:
The ThinkScript code for this scanner is elegantly simple:
plot signal = RelativeVolumeStDev(50).RelVol >= 4;
This single line of code scans the entire market for stocks where today’s volume is at least 4 standard deviations above the 50-day average. While simple, this scanner can identify some of the most explosive trading opportunities in the market.
Best Practices for Using the Extreme Volume Scanner:
While single-day volume spikes can indicate news-driven moves, consistent unusual volume over multiple days often signals sustained institutional accumulation or distribution. Our second scanner identifies stocks showing 3+ standard deviation volume on at least 3 out of the past 5 trading days.
This pattern is particularly powerful because it suggests:
The ThinkScript implementation requires defining a volume condition and using the Sum function to count occurrences:
def volumeCondition = RelativeVolumeStDev(50).RelVol >= 3;
plot signal = Sum(volumeCondition, 5) >= 3;
This scanner is particularly effective for swing traders looking for momentum plays that can last several weeks. Stocks showing consistent unusual volume often continue their trends longer than single-spike events.
Options unusual volume can provide even earlier signals than stock volume, as sophisticated traders often use options to position for anticipated moves. Our third scanner combines underlying stock unusual volume with options activity filters to identify potential “sweeps” and institutional options flow.
Using ThinkOrSwim’s Options Hacker, we apply the same unusual volume logic to the underlying stock while filtering for liquid options:
This combination helps identify scenarios where:
While we can’t detect actual options sweeps with basic scanning tools, this approach gives us a systematic way to identify the underlying stocks where unusual options activity is most likely occurring.
Our final scanner combines unusual volume with technical analysis by looking for volume spikes occurring near key moving averages. This scanner identifies stocks where unusual volume coincides with:
The logic behind this scanner is that unusual volume at key technical levels often represents institutional accumulation at support or breakout points. When volume confirms price action at these critical levels, the probability of sustained moves increases significantly.
def sma50 = SimpleMovingAvg(close, 50);
def sma200 = SimpleMovingAvg(close, 200);
def smaCondition = close crosses above sma50 and close > sma200;
def volumeCondition = RelativeVolumeStDev(50).RelVol >= 3;
plot signal = smaCondition and volumeCondition;
This scanner is particularly valuable for identifying:
Timeframe Optimization: While these examples use daily charts, the same logic can be applied to different timeframes:
Market Condition Adjustments: Consider adjusting your volume thresholds based on market conditions:
The power of these scanners multiplies when you automate them with real-time alerts. ThinkOrSwim allows you to:
This automation allows you to focus on analysis and execution rather than constantly monitoring for opportunities.
While unusual volume provides excellent trade identification, remember that it’s just one piece of the puzzle:
These four unusual volume scanners provide a comprehensive approach to identifying high-probability trading opportunities across different timeframes and market conditions. By systematically identifying where institutional money is flowing, you can position yourself ahead of significant price movements.
Start with the extreme volume burst scanner to get familiar with the concepts, then gradually incorporate the more sophisticated multi-day and confluence scanners as you develop experience. Remember that these tools are most powerful when combined with solid risk management and a clear understanding of market context.
The key to success with unusual volume analysis is consistency. Run these scans regularly, maintain detailed records of your results, and continuously refine your approach based on market feedback. Over time, you’ll develop an intuitive sense for which volume patterns lead to the most profitable opportunities in your preferred trading style.
# Unusual Volume Scanner for ThinkOrSwim
# Generated by TOS Indicators
# Full tutorial: tosindicators.com/indicators/unusual-volume
# Scan 1: 4+ Standard Deviation Volume Bursts
plot signal = RelativeVolumeStDev(50).RelVol >= 4;
# Scan 2: Multi-Day Volume Consistency
def volumeCondition = RelativeVolumeStDev(50).RelVol >= 3;
plot multiDaySignal = Sum(volumeCondition, 5) >= 3;
# Scan 3: Volume + Moving Average Confluence
def sma50 = SimpleMovingAvg(close, 50);
def sma200 = SimpleMovingAvg(close, 200);
def smaCondition = close crosses above sma50 and close > sma200;
def volumeCond = RelativeVolumeStDev(50).RelVol >= 3;
plot maVolumeSignal = smaCondition and volumeCond;
# Scan 4: Options Unusual Volume (for Options Hacker)
# Use in conjunction with:
# – Open Interest > 3000
# – Volume > 300
# – Delta between 0.4-0.6
plot optionsSignal = RelativeVolumeStDev(50).RelVol >= 3;Want the .ts file and the one-click import? Both come with a free account.
Here are some resources that you may find useful:
Join 40,000+ traders using institutional-grade tools for ThinkOrSwim.
Get the Bundle