Archived: TMO True Momentum Oscillator

Status
Not open for further replies.

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

where do you usually place the tmo? on the underlying stock chart or on a separate options chart?

example:

main chart --> AAPL
lower --> tmo

or

main chart --> .AAPL201218C125
lower --> tmo
 
I wanted to shorten the movement to run alongside another indicator I use. I will be sharing next week. By shortening the length it forces me to be in a trade a shorter time. As you know you can always adjust it to your "flavor." Remember: longer periods will lower the frequency of whipsaws but generate delayed positive or negative crossovers. On the other hand, shortening the length will elicit many crossovers that fail to generate significant trend movement. And this is why I use a second indicator to handle that in-between. @ssaeed73 the short answer to your question is Yes. Faster response but I also want to see the longer response. Try using the Spearman for your in-between.
I use mainly renko, and TMO 14,5,3 is pretty good, wil try the 7,5,3 on my 20 tick, and 14,5,3 on my 50 tick for scalping TSLA and see what I get as far as quick crossover but trend indication as well.
 
anyone know how to avoid getting faked out with this indicator? Like the 1 hour or 4 hour chart crosses above -10 and it goes to 0 then comes back down... etc... its very frustrating.
 
@dmillz
True Momentum is an Oscillator that is excellent at determining trend and momentum but it doesn't guarantee that the trend direction will continue.
Here are some of the other factors to look for besides a trending TMO when attempting to identify the bullish trend, momentum, and volume of a stock necessary for a profitable entry:
https://usethinkscript.com/threads/a-serving-of-trend-and-momentum.4880/
 
TMO Labels
Code:
Label color assignment:
Red    =Falling.. main < signal
Orange =Trend is maxing out.. main > overbought
Gray   =No trend, probable reversal..
Cyan   =Pre-trend.. main > signal and main < oversold
Green  =Trend is rising.. main > signal, main > oversold, main is rising, main < overbought
BLUE   =BEGINNING TO TREND.. main > signal and main is crossing above oversold
Yellow =END OF TREND.. main crossing below overbought
1JgJxy3.png

Below is a VISUAL Representative of the label colors:
This is NOT the TMO indicator, that can be found in the first post of this thread.
caZpBfh.png

Here is the shared label link: http://tos.mx/R4bTtS5
Code:
# TMO ((T)rue (M)omentum (O)oscillator) Labels and Candle Painting ONLY
# Mobius, with modifications by tomsk, 1.1.2020
#with Labels and Candle Painting added by @MerryDay 12/2020
#hint: TMO calculates momentum using the delta of price. Giving a much better picture of trend, tend reversals and divergence than momentum oscillators using price.

input showlabels = yes ;
input paintcandles = no ;
input length = 14;
input calcLength = 5;
input smoothLength = 3;
input ob =  10;
input os = -10;

def o = open;
def c = close;
def data = fold i = 0 to length
           with s
           do s + (if c > getValue(o, i)
                   then 1
                   else if c < getValue(o, i)
                        then - 1
                        else 0);
def EMA5 = ExpAverage(data, calcLength);
def Main = ExpAverage(EMA5, smoothLength);
def Signal = ExpAverage(Main, smoothLength);

DefineGlobalColor("pretrend", CreateColor(50, 200, 255)) ;
DefineGlobalColor("TrendBEGIN", CreateColor(0, 0, 255)) ;
DefineGlobalColor("rising",  CreateColor(0, 165, 0)) ;
DefineGlobalColor("maxxed", CreateColor(255, 139 ,61)) ;
DefineGlobalColor("TrendEnd", CreateColor(255, 204, 0)) ;
DefineGlobalColor("falling",  CreateColor(225, 0, 0)) ;
DefineGlobalColor("neutral", CreateColor(204, 204, 204)) ;
AddLabel(showlabels,
if main < os      then "TMO pre-trend " +round(main,0) else
if main > ob      then "TMO maxxed "  +round(main,0) else
if main crosses above os then "TMO TREND BEGIN!" else
if main crosses below ob then "TMO TREND END!" else
if main < signal  then "TMO Bear "    +round(main,0) else
if main >= main[1] then "TMO Rising " +round(main,0) else
if main < main[1] then "TMO Falling " +round(main,0) else
                       "TMO Neutral " +round(main,0),
if main < os      then GlobalColor("pretrend") else
if main > ob      then GlobalColor("maxxed") else
if main crosses above os then GlobalColor("TrendBEGIN") else
if main crosses below ob then GlobalColor("TrendEND") else
if main < signal  then GlobalColor("falling") else
if main > main[1] then GlobalColor("rising") else GlobalColor("neutral")) ;

AssignPriceColor(
if !paintcandles then color.CURRENT else
if main < os      then GlobalColor("pretrend") else
if main > ob      then GlobalColor("maxxed") else
if main crosses above os then GlobalColor("TrendBEGIN") else
if main crosses below ob then GlobalColor("TrendEND") else
if main < signal  then GlobalColor("falling") else
if main > main[1] then GlobalColor("rising") else GlobalColor("neutral")) ;
# End Code TMO
 
Last edited:
@stockfella You haven't done anything wrong. The TMO lower study indicator is only green and red as shown in post#361
Alternate coloring isn't necessary on the lower study itself as the top and bottom of the oscillator is self-evident.
The alternate coloring was created for just the labels and the candles for when the lower study is not present.
 
@stockfella You haven't done anything wrong. The TMO lower study indicator is only green and red as shown in post#361
Alternate coloring isn't necessary on the lower study itself as the top and bottom of the oscillator is self-evident.
The alternate coloring was created for just the labels and the candles for when the lower study is not present.
OK gotcha. I use renko and it paints those bricks as well, just like the TMO best for triggering trades at 50 and 20 ticks for scalping, I can post a chart later if it helps anyone, and thank you for your replies, I appreciate you taking the time.
 
I updated the TMO LABELS. Go to post#360 for the updates.
Two critical conditions were missing:
  1. Crossing above oversold, signaling the beginning of a trend
  2. Crossing below overbought for the end of the trend.
The labels are Global Colors allowing easier color changes to accommodate different chart backgrounds.
9gMQw6Z.png
 
Last edited:
What settings do you all recommend for swing trading (30 min, 1 hour 2 hour), something a bit quicker than the 14, 5, 3. Thanks so much everyone!
 
Here is my version. I have some similar ones with different indicators that act like histogram colors too.


3AIGgWP.png


Code:
# TMO ((T)rue (M)omentum (O)scilator)
# Mobius
# V01.05.2018
#hint: TMO calculates momentum using the delta of price. Giving a much better picture of trend, tend reversals and divergence than momentum oscillators using price.

declare Lower;

input length = 21;
input calcLength = 5;
input smoothLength = 3;

def o = open;
def c = close;
def data = fold i = 0 to length
           with s
           do s + (if c > getValue(o, i)
                   then 1
                   else if c < getValue(o, i)
                        then - 1
                        else 0);
def EMA5 = ExpAverage(data, calcLength);
def Main = ExpAverage(EMA5, smoothLength);
def Signal = ExpAverage(Main, smoothLength);
assignBackgroundColor(if Main > Signal
                           then color.dark_green
                           else color.Dark_red);


def ob = if isNaN(c) then double.nan else round(length * .7);

def os = if isNaN(c) then double.nan else -round(length * .7);

plot IntheGreen = (Signal < os);
AddLabel(IntheGreen, "OS", Color.White);
plot IntheRed = (Signal > ob);
AddLabel(IntheRed, "OB", Color.White);
plot IntheMIddle = (Signal < ob and Signal > OS);
AddLabel(IntheMIddle, "--", Color.black);

How do I modify this so as to make it specific for 1min, 3min and 5min? do I change length .7 to something else? what does .7 represent, minutes or week?
 
Status
Not open for further replies.

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
385 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

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?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top