# Market Pulse

> Identify 4 market stages with one simple line. Reduce chart noise and detect market conditions in ThinkOrSwim.

Page: https://tosindicators.com/indicators/market-pulse  
Video: https://www.youtube.com/watch?v=Hku6dLR-m_A  
Section: Indicators  
Skill: Beginner-Friendly  
Access: free  
Updated: 2026-02-12

## Master Market Stage Analysis with the Market Pulse Indicator


Discover how to build a comprehensive market analysis tool that automatically identifies which of the 4 market stages you're currently trading in.


This advanced tutorial teaches you to create:




- Volume Weighted Moving Average (VWMA) system

- Variable Moving Average with volatility adjustment

- 4 Market Stages detection: Acceleration, Distribution, Deceleration, Accumulation

- Automated scans for stage transitions

- Multi-symbol utility labels for market overview

- TRIN and Put/Call ratio integration


Whether you're trading options, stocks, or ETFs, this indicator helps you adapt your strategy to current market conditions and identify the most profitable opportunities.

## Building the Market Pulse Indicator in ThinkOrSwim



If you've ever wondered why your bullish trades keep getting wrecked in a choppy market, or why your puts expire worthless during strong uptrends, you're not alone. Most traders make the mistake of using the same strategies regardless of market conditions. The Market Pulse indicator fixes this by telling you exactly what type of market you're trading in.




### The Problem with Most Trading Approaches



Here's what typically happens: You see a setup that looks good, place your trade, and then watch the market do the opposite of what you expected. Sound familiar? The issue isn't your setup—it's that you're using the wrong strategy for the current market environment.



Markets cycle through four distinct phases, and each one demands a completely different approach:




- **Acceleration:** Time to get aggressive with calls

- **Distribution:** Stick to neutral strategies like iron condors

- **Deceleration:** Put strategies work best

- **Accumulation:** Conservative buying opportunities




### What Makes This Different from Regular Moving Averages



**Volume Weighted Moving Average (VWMA)**


Regular moving averages treat a quiet Tuesday the same as a massive volume spike on earnings day. That's ridiculous. The VWMA actually weighs periods by volume, so when the S&P has 5x normal volume, it matters more in the calculation.



![Market Pulse Indicator for ThinkOrSwim](https://tosindicators.com/wp-content/uploads/2019/08/image-2.png)

Think about it: if institutions are dumping millions of shares, shouldn't that carry more weight than some low-volume drift? The VWMA captures this while regular MAs just shrug.



**Variable Moving Average**


This one's clever—it automatically adjusts based on volatility. When the VIX is spiking and everything's going crazy, it becomes more responsive. During quiet periods, it smooths out the noise. It's like having a moving average that actually pays attention to market conditions.




### The Four Market Stages (And What to Actually Do)



![Four Market Stages in Every Trend](https://tosindicators.com/wp-content/uploads/2019/08/Market-Stages.png)

**Acceleration Stage**


You know you're here when the 8, 21, and 34-period VWMAs are stacked like stairs going up, and price is above the variable MA. This is when Ron (one of the members who requested this tutorial) makes his money with Delta 30 calls.



What works: Long calls, call spreads, basically anything bullish. This is not the time to be cute with neutral strategies.



**Distribution Stage**


The moving averages stop stacking nicely and start getting messy. Price might be above the variable MA, but there's no clear trend. This is when smart money is rotating positions and taking profits.



What works: Iron condors, strangles, anything that profits from the market going sideways. Avoid directional bets here—you'll just get chopped up.



**Deceleration Stage**


Everything flips. The VWMAs stack downward (8 < 21 < 34) and price drops below the variable MA. Time to dust off those put strategies.



What works: Long puts, put spreads, short strategies. But be ready to take profits quickly—bear market rallies can be vicious.



**Accumulation Stage**


MAs aren't stacked, price is below the variable MA, but smart money is quietly buying. This stage requires patience—the fireworks come later.



What works: Cash-secured puts, buying stock on weakness. Boring but profitable if you time the next acceleration phase.




### Building the Indicator



The code isn't complicated once you understand what's happening:




```
# Volume Weighted Moving Averages
def VWMA8 = Sum(volume * close, 8) / Sum(volume, 8);
def VWMA21 = Sum(volume * close, 21) / Sum(volume, 21);
def VWMA34 = Sum(volume * close, 34) / Sum(volume, 34);

# Stage Detection
def bullish = VWMA8 > VWMA21 and VWMA21 > VWMA34;
def bearish = VWMA8 < VWMA21 and VWMA21 < VWMA34;
```



The magic happens when you combine this with the variable MA to determine which of the four stages you're in. The indicator colors everything for you—green for acceleration, red for deceleration, yellow for accumulation, orange for distribution.




### Adding Market Breadth (Because Context Matters)



Individual stocks can lie, but the TRIN and put/call ratio don't. When TRIN hits 2.0+, institutions are panic selling (usually a good thing for buyers). When it drops below 0.5, everyone's getting too bullish.



Same with the put/call ratio. The 10-day average above 1.0 means too much fear, below 0.85 means too much greed. These levels give you context for whether your individual setups align with broader market sentiment.




### The Scanning Setup That Actually Works



Here's where it gets interesting. You can scan for the exact moment when stages change:




```
# Accumulation to Acceleration
plot signal = bullish and close >= VMA and !bullish[1];

# Distribution to Deceleration  
plot signal = bearish and close
```



These transitions are where the money is made. Think about it—you're catching the shift right as it happens, not after everyone else notices.




### Real Trading Applications



Let's say XLU shows up in your accumulation-to-acceleration scan. You check the chart, confirm the stage change, and grab some calls. That's exactly what happened in the tutorial video—XLU was transitioning, and anyone paying attention could have caught that move.



Or maybe the scan shows Netflix moving into deceleration. Time to look at put spreads or just stay away if you're primarily bullish.



The utility labels show you everything at once—SPY, QQQ, sector ETFs, all color-coded by stage. You can immediately see that tech might be accelerating while financials are decelerating. That's valuable information for position sizing and sector selection.




### What Usually Goes Wrong



The biggest mistake? Fighting the stage. I've seen traders buying calls during clear deceleration phases because "the chart looks good." The chart might look good, but the market structure is telling you something different.



Another common error is ignoring the transitions. Those stage changes are where the biggest moves happen, but most people don't notice until it's too late. By then, the easy money is gone.



Also, don't overtrade during distribution phases. Sometimes the best move is no move. The market will give you better opportunities when it shifts into acceleration or deceleration.




### Testing Your Results



Use ThinkOrSwim's OnDemand to backtest these signals. Pick a date, see what stage the market was in, and track what happened over the next few weeks. You'll start to see patterns—acceleration phases often lead to 3-5% moves in major indices within 1-2 weeks.



The tutorial showed exactly this process with XL RE. The stage transition signal appeared, and you could track the subsequent options performance using historical data. That's how you build confidence in the system.




### Making It Work for Your Account Size



Whether you're trading with $5K or $500K, the stages are the same. Smaller accounts might focus on single-leg options during clear acceleration/deceleration phases. Larger accounts can use spreads and more complex strategies.



The key is matching your strategy to the current stage, not your account size. A $5K account using the right strategy in acceleration will outperform a $500K account fighting the market structure.



Start simple: identify the current stage, pick appropriate strategies, and gradually add the scanning features as you get comfortable. The multi-symbol labels alone will change how you view the market—instead of guessing what's happening, you'll know.

## thinkScript code

```
#TOS Indicators
#Home of the Volatility Box
#More info regarding this indicator here: tosindicators.com/indicators/market-pulse
#Code written in 2019 
#Full Youtube Tutorial here: https://youtu.be/Hku6dLR-m_A

input ChartBubblesOn = no;

input price = close;
input length = 10;

def tmp1 = if price > price[1] then price - price[1] else 0;
def tmp2 = if price[1] > price then price[1] - price else 0;
def d2 = sum(tmp1, length);
def d4 = sum(tmp2, length);
def cond = d2 + d4 == 0;
def ad3 = if cond then 0 else (d2 - d4) / (d2 + d4) * 100;
def coeff = 2 / (length + 1) * AbsValue(ad3) / 100;
def asd = compoundValue("visible data" = coeff * price + (if IsNaN(asd[1]) then 0 else asd[1]) * (1 - coeff), "historical data" = price
);
plot VMA = asd;
VMA.setDefaultColor(GetColor(0));

def vwma8 = sum(volume * close, 8) / sum(volume, 8);
def vwma21 = sum(volume * close, 21) / sum(volume, 21);
def vwma34 = sum(volume * close, 34) / sum(volume, 34);

def bullish = if vwma8 > vwma21 and vwma21 > vwma34 then 1 else 0;
def bearish = if vwma8 < vwma21 and vwma21 < vwma34 then 1 else 0;
def distribution = if !bullish and !bearish then 1 else 0;

AddLabel(yes, if bullish and close >= VMA then "Stage: Acceleration" else if bearish and close =VMA then "Stage: Accumulation" else "Stage: Distribution", if bullish and close >= VMA then color.green else if bearish and close =VMA then color.yellow else color.orange);

VMA.AssignValueColor(if bearish and close= VMA then color.green
else color.gray);

def accumulationToAcceleration = if (bullish and close>=VMA) then 1 else 0;
AddChartBubble(ChartBubblesOn and accumulationToAcceleration and !accumulationToAcceleration[1], close, "Entering Acceleration", color.green);

def distributionToDeceleration = if (bearish and close
```

## Questions

### How do I build a Market Pulse indicator in ThinkOrSwim?

To build the Market Pulse indicator, create Volume Weighted Moving Averages (8, 21, 34 periods) and a Variable Moving Average (21 period). Define market stages using stacked moving average conditions: bullish when 8>21>34, bearish when 8

### What are the 4 market stages in the Market Pulse indicator?

The four market stages are: 1) Acceleration (bullish trend with stacked VWMAs, use aggressive call strategies), 2) Distribution (sideways action, use neutral strategies like iron condors), 3) Deceleration (bearish trend with inverted VWMAs, use put strategies), 4) Accumulation (consolidation phase, use conservative long strategies). Each stage requires different trading approaches.

### How does Volume Weighted Moving Average differ from regular moving averages?

Volume Weighted Moving Average (VWMA) gives greater weight to price periods with higher volume, providing better insight into institutional activity. The calculation is Sum(Volume × Price) ÷ Sum(Volume). This makes VWMA more responsive to significant trading activity and better at identifying when smart money is accumulating or distributing positions.

### Can I scan for Market Pulse stage transitions in ThinkOrSwim?

Yes, create custom scans for stage transitions using conditions like: bullish and close >= VMA and !bullish[1] for Accumulation to Acceleration switches, or bearish and close

### What options strategies work best for each market stage?

Acceleration stage: Long calls, call spreads, covered calls on pullbacks. Distribution stage: Iron condors, strangles, calendar spreads. Deceleration stage: Long puts, put spreads, covered puts on bounces. Accumulation stage: Cash-secured puts, long stock positions on weakness. Match your strategy to the current market stage for optimal results.

### How do I add TRIN and Put/Call ratio to Market Pulse indicator?

Add market breadth by referencing external symbols: close("$TRIN") for TRIN and SimpleMovingAvg(close("$PCALL"), 10) for 10-day Put/Call ratio. Create labels that change colors based on extreme readings: TRIN above 2.0 (bullish) or below 0.5 (bearish), Put/Call above 1.0 (bullish) or below 0.85 (bearish).

### What timeframes work best for Market Pulse analysis?

Daily charts work best for swing trading and position management. Hourly charts can be used for intraday applications. The 8, 21, 34 period VWMAs are optimized for daily timeframes. For shorter timeframes, consider adjusting periods proportionally (e.g., 8, 21, 34 minute periods for intraday). Weekly charts help identify longer-term market stage trends.

### How do I backtest Market Pulse signals in ThinkOrSwim?

Use ThinkOrSwim's OnDemand feature to replay historical data. Load the Market Pulse indicator, identify past stage transition signals, and track subsequent price movements. Document win rates and optimal holding periods for different strategies in each market stage. This helps optimize entry timing and strategy selection for future trades.

## Related

- [Best ThinkorSwim Indicators: 15 Custom Studies Every Trader Needs](https://tosindicators.com/research/best-thinkorswim-indicators-15-custom-studies-every-trader-needs)
- [Stop Hunting – “Put your entry where the masses put their stops”](https://tosindicators.com/research/stop-hunting-entry-strategy-thinkorswim-guide)
- [One Simple Tool to Optimize Trade Selection](https://tosindicators.com/research/optimize-trade-selection-volatility-box-thinkorswim)
- [The Modern Turtle Trading Strategy: Updated Rules and Backtest Results](https://tosindicators.com/research/modern-turtle-trading-strategy-rules-and-backtest)
- [The Easiest Way to Track Sector Performance and Market Internals](https://tosindicators.com/research/track-sector-performance-market-internals-thinkorswim)
- [The Hidden Starbucks Holiday Setup](https://tosindicators.com/research/starbucks-holiday-seasonal-trading-setup-thinkorswim)

