# Cloudy Momentum Bands for ThinkorSwim

#### BenTen

Staff member
Staff
VIP
• Above Orange Line => uptrend
• Below Orange Line => downtrend
• Cloud breakout => strong trend confirmation

This indicator can also be used for mean reversion trading.

### thinkScript Code

Code:
``````# Cloudy Momentum
# Assembled by BenTen at useThinkScript.com

input length = 26;
input emaLength = 55;

def lower = lowest(close, length) - (highest(close, length) - lowest(close, length)) * 0.618;
def upper = highest(close, length) + (highest(close, length) - lowest(close, length)) * 0.618;

def lowerEMA = expAverage(lower, emaLength);
def upperEMA = expAverage(upper, emaLength);
def basis = (lowerEMA + upperEMA) / 2;

plot lower_band = lowerEMA;
plot upper_band = upperEMA;
plot middle = basis;

upper_band.SetDefaultColor(GetColor(1));
lower_band.SetDefaultColor(GetColor(0));
middle.SetDefaultColor(GetColor(4));``````

#### Attachments

• tdS3HMg.png
135.3 KB · Views: 143
• 25UAj2N.png
101.6 KB · Views: 135
thanks

@BenTen Very interesting, thank you!

Would you please explain in plain English what this code is doing?

@john3 It's similar to the Bollinger Bands.

@john3 Looks like a price channel. Different calculations than BB. From charts shown look for reversals when price leaves the outer bands.

anyone know how to calculate the distance of the top and bottom bands? need it for a watchlist

anyone know how to calculate the distance of the top and bottom bands? need it for a watchlist
My understanding of what you are asking is:
In dollars, compute the delta of the upper & lower bands:
Cloudy Momentum Upper Band minus Lower Band = Difference

mod note:
I am not sure if this has any great value. higher-priced instruments will have a higher dollar difference, but the ratio could be nil. Whereas a low-priced stock with any delta might be huge.

This is a Cloudy Momentum Difference Watchlist

Ruby:
``````# Cloudy Momentum WATCHLIST
# Assembled by BenTen at useThinkScript.com

input length = 26;
input emaLength = 55;

def lower = lowest(close, length) - (highest(close, length) - lowest(close, length)) * 0.618;
def upper = highest(close, length) + (highest(close, length) - lowest(close, length)) * 0.618;

def lowerEMA = expAverage(lower, emaLength);
def upperEMA = expAverage(upper, emaLength);
plot difference = upperEMA-lowerEMA;``````

Last edited:

87k+ Posts
342 Online

## The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
• Exclusive indicators
• Proven strategies & setups
• Private Discord community
• Exclusive members-only content
• 1 full year of unlimited support

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?