Skip to main content Stacked Moving Averages Indicator & Scan Skip to main content Skip to content
Master the TTM Squeeze with our comprehensive 19-module course Start Learning →
TOS Indicators
  • Tools

    Categories

    • Indicators
    • Backtesters
    • Scans
    • Dashboards
    • thinkScript
    • Member Resources
    Browse Full Library

    Featured Tutorials

    Heiken Ashi Trend Indicator
    Heiken Ashi Trend Indicator
    Indicators

    Download our Custom Heiken Ashi indicator for ThinkOrSwim. Full ThinkScript code, formula...

    Learn more →
    Commodities Tracker
    Commodities Tracker
    Indicators

    For acceleration signals: trend-following strategies and buying pullbacks. For deceleration signals: short...

    Learn more →
    Build an Election Backtester in 10 Minutes
    Build an Election Backtester in 10 Minutes
    Backtesters

    Learn how to create a Post-Election Backtester in ThinkOrSwim to analyze market...

    Learn more →

    Popular Posts

    Unusual Volume
    Unusual Volume
    Scans

    Build 4 scans to easily find stocks with greater than...

    Learn more →
    Upcoming Earnings with High Short Interest
    Upcoming Earnings with High Short Interest
    Scans

    Build a scan to find stocks that are likely to...

    Learn more →
    Unusual Volume Pro Scans
    Unusual Volume Pro Scans
    Scans

    4 additional scans to find unusual volume overlapping with key...

    Learn more →
  • Courses
    Squeeze Course
    Squeeze Course
    19 Modules

    Scan, backtest, and trade the TTM Squeeze setup with precision.

    Unlock Course →
    Earnings Course
    Earnings Course
    3 Modules

    Master earnings plays with free indicators and proven strategies for ThinkOrSwim.

    Unlock Course →
    V-Shaped Reversals
    V-Shaped Reversals
    7 Modules

    Identify and trade powerful V-shaped reversal patterns with confidence and precision.

    Unlock Course →
    Fibonacci Trading
    Fibonacci Trading
    4 Modules

    Learn to trade Fibonacci retracements and extensions in ThinkOrSwim effectively.

    Unlock Course →
  • Products
    Futures Volatility Box Premium
    Futures Volatility Box

    Volatility models for 10 major futures markets, including micros & SPX.

    Explore Futures VB →
    Stock Volatility Box Premium
    Stock Volatility Box

    Dynamic support & resistance for 595+ stocks/ETFs, with a live scanner.

    Explore Stock VB →
    Opening Range Breakouts Premium
    Opening Range Breakouts

    Powerful live scanner & backtester for ORB strategies on 595+ stocks.

    Explore ORB Setups →
My Account
All Indicators
Beginner-Friendly 15 mins ThinkOrSwim

Stacked Moving Averages

Find the best trends with stacked moving averages, including the 8, 21, and 34 EMA's and the 50 and 200 SMA's.

Download Indicator
How to install in ThinkOrSwim →
Table of Contents
  • The Complete Guide to Building Stacked Moving Averages Indicators in ThinkOrSwim
  • Why Stacked Moving Averages Are Essential for Trend Trading
  • Understanding the Moving Average Hierarchy
  • Step-by-Step Coding Tutorial: Building Your Stacked Moving Averages Indicator
  • Advanced Customization Options
  • Practical Trading Applications
  • Common Implementation Mistakes to Avoid
  • Optimizing Performance Across Different Markets
  • Integration with Other Technical Analysis Tools
  • Troubleshooting Common ThinkScript Issues
  • Advanced Stack Detection Techniques
  • Monitoring and Maintenance
  • Building Your Trading Edge
  • Conclusion: Mastering Moving Average Stack Analysis

Build Your Ultimate Moving Average Stack Detector in ThinkOrSwim

Stop cluttering your charts with multiple individual moving averages. Learn how to create one powerful stacked moving averages indicator that combines all your essential EMAs and SMAs with intelligent trend detection.

This step-by-step ThinkScript tutorial teaches you to build a professional-grade indicator featuring:

  • Multiple EMAs and SMAs consolidated into one clean indicator
  • Automatic bullish stack detection with customizable green arrows
  • Bearish stack alerts with red directional signals
  • Custom colors and line styles for easy trend identification
  • Smart arrow logic that only signals on trend changes

Whether you’re tracking short-term momentum with fast EMAs or long-term trends with slower SMAs, this indicator streamlines your analysis and alerts you the moment moving averages align for strong directional moves.

The Complete Guide to Building Stacked Moving Averages Indicators in ThinkOrSwim

Moving averages form the foundation of technical analysis, but managing multiple EMAs and SMAs individually can quickly overwhelm your charts. What if you could combine all your essential moving averages into one clean, powerful indicator that automatically detects when they align for strong trending moves?

That’s exactly what we’ll build in this comprehensive ThinkScript tutorial. You’ll learn to create a sophisticated stacked moving averages indicator that not only displays multiple moving averages with custom formatting but also provides intelligent alerts when trend alignments shift from bullish to bearish stacks and vice versa.

Why Stacked Moving Averages Are Essential for Trend Trading

Professional traders understand that the relationship between multiple moving averages reveals more about market structure than any single moving average can. When moving averages align in proper order—fastest on top for uptrends, slowest on top for downtrends—they create what’s known as a “stacked” configuration that signals strong directional momentum.

Stacked moving averages help you identify several critical market conditions:

Trend Strength Assessment: Perfect alignment indicates strong directional momentum. When your 8 EMA sits above the 21 EMA, which sits above the 34 EMA, with both the 50 SMA and 200 SMA below in descending order, you’re seeing institutional-grade bullish alignment.

Early Trend Change Detection: Stack breakdown often precedes major reversals. The moment your moving average stack begins to compress or cross, you get early warning signals before price action becomes obvious to other traders.

Trade Entry Optimization: Stacked moving averages provide natural support and resistance levels during pullbacks. The 21 EMA might act as dynamic support in a bullish stack, offering low-risk entry opportunities.

Risk Management Enhancement: Stack alignment helps determine position sizing and stop placement. You can be more aggressive when all moving averages are perfectly stacked versus when they’re choppy and intertwined.

Understanding the Moving Average Hierarchy

Not all moving averages carry equal weight in stack analysis. This tutorial uses a carefully selected combination of EMAs and SMAs that work together to provide both responsive signals and reliable trend confirmation:

Fast EMAs (8, 21, 34 periods): These exponential moving averages respond quickly to price changes and form the core of our stack detection logic. The 8, 21, and 34 periods follow Fibonacci sequence numbers, which many professional traders use because they align with natural market rhythms.

Intermediate SMA (50 period): The 50-period simple moving average serves as a critical trend divider. When price and faster EMAs are above the 50 SMA, it confirms intermediate-term bullish bias.

Long-term SMA (200 period): The 200-period simple moving average represents the long-term trend. This is perhaps the most watched moving average by institutional traders and provides the ultimate trend filter.

By combining these five moving averages with different calculation methods and timeframes, you get a comprehensive view of trend strength across multiple time horizons.

Step-by-Step Coding Tutorial: Building Your Stacked Moving Averages Indicator

Let’s walk through creating this indicator from scratch, following the exact process shown in the video tutorial. You’ll learn not only how to build the indicator but understand the logic behind each line of code.

Getting Started: Setting Up Your ThinkScript Editor

First, access the ThinkScript editor in ThinkOrSwim by clicking the Studies icon at the top of your chart, then select “Create” to start a new study. Give your study a descriptive name like “TI Stacked Moving Averages” and delete any default code that appears in the editor panel.

Now you’re ready to start writing your custom stacked moving averages indicator from scratch.

Step 1: Creating the Exponential Moving Averages

We’ll start by building the three exponential moving averages that form the core of our stack detection. For our first EMA, we need to understand the basic structure of a ThinkScript plot statement:

Building the 8 EMA:

Type: plot EMA8 = ExpAverage(close, 8);

Let’s break this down: The “plot” keyword tells ThinkOrSwim we want to see this line on our chart. “EMA8” is our variable name—you can choose any name, but descriptive names help keep your code organized. The “ExpAverage” function is ThinkOrSwim’s built-in exponential moving average calculator.

The ExpAverage function takes two parameters: the first is the price type (we’re using “close” for closing prices), and the second is the length or period (8 bars in this case).

If you click Apply now, you’ll see a line appear on your chart, but ThinkOrSwim will assign it a random default color. To maintain consistency across different charts and timeframes, we need to specify colors manually.

Adding Custom Color Control:

Add this line: EMA8.setDefaultColor(Color.Cyan);

This ensures your 8 EMA will always display in cyan, regardless of ThinkOrSwim’s automatic color assignments. Now let’s add the remaining EMAs using the same pattern.

Building the 21 EMA:

Copy the EMA8 lines and modify them:

plot EMA21 = ExpAverage(close, 21);

EMA21.setDefaultColor(Color.Magenta);

Notice how we changed both the variable name (EMA21) and the length parameter (21) while keeping the same basic structure.

Completing the EMA Series with the 34 EMA:

plot EMA34 = ExpAverage(close, 34);

EMA34.setDefaultColor(Color.Yellow);

At this point, you should have three exponential moving averages displaying on your chart in cyan, magenta, and yellow.

Step 2: Adding Simple Moving Averages with Custom Styling

Simple moving averages use a different function in ThinkOrSwim, and we’ll style them differently to create visual distinction from our EMAs.

Creating the 50 SMA:

plot SMA50 = SimpleMovingAvg(close, 50);

Notice the function name changed from “ExpAverage” to “SimpleMovingAvg”—this is crucial. Many beginning ThinkScript coders get confused by this naming convention, but remember: ExpAverage for EMAs, SimpleMovingAvg for SMAs.

Styling SMAs Differently from EMAs:

To distinguish our SMAs from EMAs visually, we’ll use dashed lines instead of solid lines:

SMA50.setDefaultColor(Color.Yellow);

SMA50.setStyle(Curve.Short_Dash);

The setStyle function with Curve.Short_Dash creates a dashed line appearance. This visual difference helps you quickly identify which moving averages are EMAs (solid) versus SMAs (dashed) when analyzing your charts.

Completing with the 200 SMA:

plot SMA200 = SimpleMovingAvg(close, 200);

SMA200.setDefaultColor(Color.White);

SMA200.setStyle(Curve.Short_Dash);

Now you have all five moving averages displaying on your chart with clear visual distinction between the different types and timeframes.

Step 3: Creating Intelligent Stack Detection Logic

Here’s where our indicator becomes truly powerful. Instead of manually eyeballing whether moving averages are stacked, we’ll create automated detection logic.

Defining Bullish Stack Conditions:

def bullStacked = EMA8 > EMA21 and EMA21 > EMA34 and SMA50 > SMA200;

The “def” keyword creates a definition—a variable that holds true/false values but doesn’t plot anything on the chart. This bullish stack condition checks three relationships: the 8 EMA must be above the 21 EMA, the 21 EMA must be above the 34 EMA, and the 50 SMA must be above the 200 SMA.

All conditions must be true (connected by “and” operators) for the bullStacked variable to be true.

Defining Bearish Stack Conditions:

def bearStacked = EMA8 < EMA21 and EMA21 < EMA34 and SMA50 < SMA200;

The bearish stack simply reverses all the relationships—shorter EMAs must be below longer EMAs, and the 50 SMA must be below the 200 SMA.

Step 4: Implementing Smart Arrow Signals

The key to useful stack detection is showing arrows only when the stack condition changes, not continuously while it's true. This prevents arrow spam and highlights the precise moments when trend alignment shifts.

Creating Bullish Stack Arrows:

plot bullStackedPlot = bullStacked and !bullStacked[1];

This line creates a plot that only triggers when two conditions are met: bullStacked is true now AND bullStacked was false on the previous bar. The "!bullStacked[1]" syntax means "NOT bullStacked on the previous bar" (the [1] refers to one bar ago).

Formatting the Bullish Arrows:

bullStackedPlot.setPaintingStrategy(PaintingStrategy.Boolean_Arrow_Up);

bullStackedPlot.setDefaultColor(Color.light_green);

bullStackedPlot.setLineWeight(5);

The setPaintingStrategy function determines how the signal appears—Boolean_Arrow_Up creates upward-pointing arrows. The setLineWeight function controls arrow size (1 is smallest, 5 is largest).

Creating Bearish Stack Arrows:

plot bearStackedPlot = bearStacked and !bearStacked[1];

bearStackedPlot.setPaintingStrategy(PaintingStrategy.Boolean_Arrow_Down);

bearStackedPlot.setDefaultColor(Color.light_red);

bearStackedPlot.setLineWeight(5);

The bearish arrows follow the same logic but use Boolean_Arrow_Down for downward-pointing arrows and light_red color for visual distinction.

Step 5: Testing and Applying Your Indicator

Click "Apply" to add your completed indicator to the chart. You should now see:

  • Five moving averages with custom colors and styles
  • Green arrows appearing when moving averages first align bullishly
  • Red arrows appearing when moving averages first align bearishly
  • Clean, organized visual presentation without arrow spam

Test your indicator across different timeframes and market conditions to see how it behaves. The arrows should only appear at transition points, not continuously during trending periods.

Advanced Customization Options

Adjusting Moving Average Periods: While our default settings (8, 21, 34, 50, 200) work well for most traders, you can customize these periods based on your trading style. Day traders might prefer faster settings like 5, 13, 21, while swing traders could use 13, 21, 55, 89.

Color Scheme Optimization: Choose colors that work well with your chart background and don't strain your eyes during long trading sessions. Consider using color families (blues, greens) for related moving averages.

Line Weight Adjustments: The setLineWeight function allows you to make important moving averages more prominent. You might make the 200 SMA thicker since it's the primary trend filter.

Arrow Customization: Beyond colors, you can adjust arrow size using setLineWeight and even change arrow styles using different PaintingStrategy options like Boolean_Points or Boolean_Wedge_Up.

Practical Trading Applications

Trend Following Strategies: Use bullish stack formations to identify stocks worth watching for long positions. When all moving averages align bullishly and price pulls back to the 21 EMA, it often provides low-risk entry opportunities.

Swing Trading Setups: Look for stocks transitioning from bearish to bullish stacks. The arrow signals help you spot these transitions early, before the trend becomes obvious to other traders.

Risk Management: Use stack breakdowns as warning signals. When a perfect bullish stack begins to deteriorate, consider tightening stops or taking partial profits before the full reversal becomes apparent.

Market Context Analysis: Apply the indicator to major indices like SPY or QQQ to understand broader market trend. Individual stocks often follow the direction of their underlying index's moving average stack.

Common Implementation Mistakes to Avoid

Over-reliance on Arrow Signals: While the arrows are helpful, they're just one piece of the puzzle. Always consider price action, volume, and market context before making trading decisions.

Ignoring Timeframe Context: A bullish stack on a 5-minute chart means little if the daily chart shows a bearish stack. Always align your timeframes.

Chasing Every Signal: Not every stack formation leads to a sustained trend. Focus on setups that align with your overall market analysis and trading plan.

Neglecting Market Conditions: Moving average systems work best in trending markets. During choppy, sideways markets, expect more false signals and adjust your expectations accordingly.

Optimizing Performance Across Different Markets

Different markets and timeframes may require slight adjustments to your stacked moving averages settings:

High Beta Stocks: Volatile growth stocks might benefit from slightly longer moving average periods to filter out noise. Consider using 13, 21, 55 instead of 8, 21, 34.

Large Cap Stocks: Stable, large-cap stocks often respect traditional moving averages well. The default settings typically work excellently for S&P 500 components.

Forex Markets: Currency pairs that trade 24/5 might need adjustments for different session volatility. Consider testing with both traditional and Fibonacci-based moving average lengths.

Cryptocurrency: The high volatility of crypto markets might require faster moving averages like 5, 13, 21 for day trading, or longer periods like 21, 50, 100 for swing trading.

Integration with Other Technical Analysis Tools

Your stacked moving averages indicator becomes even more powerful when combined with other technical analysis tools:

Volume Analysis: Look for volume confirmation when moving averages stack. High volume during bullish stack formations adds conviction to the signal.

Support and Resistance: Use key moving averages as dynamic support and resistance levels. The 50 SMA and 200 SMA are particularly watched by institutional traders.

Momentum Indicators: Combine with RSI or MACD to confirm trend strength. A bullish moving average stack with positive momentum divergence creates high-probability setups.

Chart Patterns: Moving average stacks help confirm breakouts from chart patterns. A bullish stack formation during a cup and handle breakout adds technical confluence.

Troubleshooting Common ThinkScript Issues

When building your indicator, you might encounter some common ThinkScript challenges:

Variable Naming Conflicts: Each variable in ThinkScript must have a unique name. If you get errors, check that you haven't used the same variable name twice.

Syntax Errors: ThinkScript is case-sensitive and requires precise syntax. Common issues include missing semicolons, incorrect function names, or mismatched parentheses.

Color Display Problems: If your colors aren't showing correctly, verify that you're using valid ThinkScript color constants. The platform provides a list of available colors in the reference section.

Arrow Display Issues: If arrows aren't appearing, check your Boolean logic. The condition for showing arrows must evaluate to true/false, and make sure you're using the correct PaintingStrategy.

Advanced Stack Detection Techniques

Once you master the basic stacked moving averages indicator, consider these advanced enhancements:

Stack Strength Scoring: Create a numerical score based on how many moving averages are properly aligned. This helps quantify trend strength beyond simple bullish/bearish classification.

Distance Analysis: Measure the distance between moving averages. Wider separation often indicates stronger trends, while compression suggests potential reversals.

Multi-Timeframe Stack Detection: Use aggregation periods to check stack alignment across multiple timeframes simultaneously. A stock with aligned stacks on both daily and weekly timeframes shows exceptional trend strength.

Dynamic Period Adjustment: Advanced traders sometimes adjust moving average periods based on market volatility. Higher volatility periods might benefit from longer moving averages to filter noise.

Monitoring and Maintenance

Your stacked moving averages indicator requires periodic review and potential adjustments:

Performance Tracking: Keep notes on which stack signals led to profitable trades versus false signals. This helps you refine your entry and exit criteria over time.

Market Condition Adaptation: Bull markets might favor different moving average combinations than bear markets. Consider seasonal adjustments based on historical market behavior.

Technology Updates: ThinkOrSwim occasionally updates its ThinkScript language. Stay informed about new functions or syntax changes that might improve your indicator.

Backup and Documentation: Save copies of your working indicator code and document any custom modifications. This prevents loss of work and helps you remember why you made specific changes.

Building Your Trading Edge

The real power of stacked moving averages isn't just in the indicator itself, but in how you integrate it into a complete trading methodology:

Develop Entry Rules: Create specific criteria for entering trades based on stack formations. For example, "Enter long when bullish stack forms AND price pulls back to 21 EMA with volume confirmation."

Define Exit Strategies: Use stack deterioration as a systematic exit signal. You might exit 50% of position when fast EMAs start crossing and the remainder when full stack breaks down.

Position Sizing Logic: Adjust position sizes based on stack quality. Perfect alignment might warrant larger positions, while weak or transitioning stacks call for smaller sizes.

Risk Management Integration: Use moving average levels for stop placement. A stop below the 34 EMA in a bullish stack provides technical logic for risk management.

Conclusion: Mastering Moving Average Stack Analysis

Building a custom stacked moving averages indicator in ThinkOrSwim transforms how you analyze trends and time your trades. By combining multiple EMAs and SMAs with intelligent detection logic, you create a powerful tool that provides both visual clarity and systematic signals.

Remember that this indicator is most effective when you understand the underlying market dynamics it reveals. Moving average stacks work because they reflect the collective behavior of traders operating on different timeframes—from scalpers watching the 8 EMA to pension funds tracking the 200 SMA.

Start with the basic five-moving-average setup we've built, then customize it based on your trading style and market focus. Test it across different market conditions and timeframes to understand its strengths and limitations. Most importantly, use it as part of a complete trading methodology that includes proper risk management and market context analysis.

The combination of technical knowledge, systematic implementation, and disciplined application will help you harness the full power of stacked moving averages in your trading strategy.

Stacked Moving Averages Indicator.ts
# Stacked Moving Averages Indicator for ThinkOrSwim

# Generated by TOS Indicators

# Full tutorial: tosindicators.com/indicators/stacked-moving-averages

# Plot the moving averages

plot EMA8 = ExpAverage(close, 8);


// ... 38 more lines ...

Unlock This Code

Create a free account to access the full source code and download files.

Create Free Account Login
To create a stacked moving averages indicator in ThinkOrSwim, go to Studies > Create Study and name your indicator. Use ExpAverage(close, period) for EMAs and SimpleMovingAvg(close, period) for SMAs. The basic code structure is: plot EMA8 = ExpAverage(close, 8); Then add custom colors with EMA8.setDefaultColor(Color.Cyan); and create stack detection logic using def bullStacked = EMA8 > EMA21 and EMA21 > EMA34;
The most effective periods for stacked moving averages are 8, 21, and 34 EMAs (based on Fibonacci numbers) combined with 50 and 200 SMAs. Day traders can use faster periods like 5, 13, 21, while swing traders might prefer 13, 21, 55, 89. The key is maintaining consistent ratios between fast, medium, and slow moving averages for proper stack detection.
To show arrows only on stack changes, use Boolean logic with previous bar reference: plot bullStackedPlot = bullStacked and !bullStacked[1]; The !bullStacked[1] ensures the arrow only appears when the current bar has a bullish stack but the previous bar didn't. Set the painting strategy with bullStackedPlot.setPaintingStrategy(PaintingStrategy.Boolean_Arrow_Up);
EMAs (Exponential Moving Averages) react faster to price changes, making them ideal for short-term stack detection and early trend signals. SMAs (Simple Moving Averages) are smoother and better for long-term trend confirmation. The best approach combines both: use EMAs (8, 21, 34) for responsive signals and SMAs (50, 200) for trend validation and major support/resistance levels.
Customize colors using setDefaultColor(Color.ColorName) and line styles with setStyle(Curve.StyleName). For example: EMA8.setDefaultColor(Color.Cyan) for solid cyan line, and SMA50.setStyle(Curve.Short_Dash) for dashed lines. This helps distinguish between different moving averages and creates visual hierarchy with EMAs as solid lines and SMAs as dashed lines.
Yes, you can create scans using the same logic. In Stock Hacker, use Custom Study filter with: def bullStacked = ExpAverage(close, 8) > ExpAverage(close, 21) and ExpAverage(close, 21) > ExpAverage(close, 34); plot scan = bullStacked; This scans for stocks where shorter EMAs are stacked above longer ones, indicating bullish trend alignment.
Stacked moving averages work on all timeframes but are most effective on daily charts for swing trading and 15-minute to 1-hour charts for day trading. For position trading, use weekly charts. The key is aligning multiple timeframes - if daily shows bullish stack and hourly confirms, it's a stronger signal than single timeframe analysis.
Reduce false signals by requiring additional confirmation: combine with volume analysis, use multiple timeframe alignment, add minimum stack duration filters, and avoid trading during choppy, sideways markets. Consider using def stackStrength = (EMA8-EMA34)/EMA34 to measure stack quality - stronger separation between moving averages typically produces more reliable signals than barely-stacked formations.

Here are some resources that you may find useful:

  • Moving Average Clouds Indicator Tutorial
  • How to import an indicator into ThinkOrSwim (video tutorial)
Featured Tools:
Stock Volatility Box

Stock Volatility Box

Spot reversal zones across 600 stocks & ETFs.

  • Hourly & daily models
  • Powerful Live Scanner
  • Built for day traders
Futures Volatility Box

Futures Volatility Box

Pinpoint reversal zones in 10 major futures markets.

  • 5 models (incl. Scalper)
  • ThinkOrSwim & TradingView
  • SPX traders
ORB Setups

ORB Setups

Find the best Opening Range Breakout setups.

  • Powerful real-time scanner
  • Instant backtests
  • 2+ years data

Get Free Access

Create a free account for downloads and new tutorial alerts.

Create Free Account

More Tutorials Like This

Edge Signals

Edge Signals

Beginner-Friendly • 14 mins
Adv. Covered Call Calculator

Adv. Covered Call Calculator

Beginner • 10 minutes
Parabolic SAR

Parabolic SAR

Intermediate • 65 minutes

Ready to Trade With an Edge?

Join 40,000+ traders using institutional-grade tools for ThinkOrSwim.

Get the Bundle
TOS Indicators

Premium thinkorswim indicators, scans, and trading tools to help you trade smarter.

ThinkOrSwim Tools

  • Indicators
  • Scans
  • Backtesters
  • Dashboards
  • thinkScript
  • Browse All

Courses

  • Squeeze Course
  • Earnings Course
  • V-Shaped Reversals
  • Fibonacci Trading

Products

  • Futures Volatility Box
  • Stock Volatility Box
  • ORB Setups
  • Shop All

Guides

  • TTM Squeeze
  • Automated Trading
  • Volatility Trading
  • Opening Range Breakouts
  • Trade Reports
  • Contact Us

© 2026 TOS Indicators. All rights reserved.

Privacy Policy Terms of Service Disclaimer

The information contained on this website is solely for educational purposes, and does not constitute investment advice. The risk of trading in securities markets can be substantial. You must review and agree to our Terms of Service prior to using this site.

U.S. Government Required Disclaimer - Commodity Futures Trading Commission. Futures and options trading has large potential rewards, but also large potential risk. You must be aware of the risks and be willing to accept them in order to invest in the futures and options markets. Don't trade with money you can't afford to lose. This website is neither a solicitation nor an offer to Buy/Sell futures or options. No representation is being made that any account will or is likely to achieve profits or losses similar to those discussed on this website. The past performance of any trading system or methodology is not necessarily indicative of future results.

Individual results may vary, and testimonials are not claimed to represent typical results. All testimonials are by real people, and may not reflect the typical purchaser's experience, and are not intended to represent or guarantee that anyone will achieve the same or similar results.

TOS Indicator's Traders and employees will NEVER manage or offer to manage a customer or individual's options, stocks, currencies, futures, or any financial markets or securities account. If someone claiming to represent or be associated with TOS Indicator solicits you for money or offers to manage your trading account, do not provide any personal information and contact us immediately.

CFTC RULE 4.41 - HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY, SIMULATED TRADING PROGRAMS IN GENERAL ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.