NexusFi: Find Your Edge


Home Menu

 





Indicator Parameter? Stochastic Momentum Index


Discussion in Platforms and Indicators

Updated
      Top Posters
    1. looks_one JellySkater with 1 posts (1 thanks)
    2. looks_two Riff with 1 posts (0 thanks)
    3. looks_3 AREK with 1 posts (0 thanks)
    4. looks_4 futures777 with 1 posts (0 thanks)
    1. trending_up 10,555 views
    2. thumb_up 2 thanks given
    3. group 10 followers
    1. forum 7 posts
    2. attach_file 0 attachments




 
Search this Thread

Indicator Parameter? Stochastic Momentum Index

  #1 (permalink)
EdenR
Australia
 
Posts: 2 since Sep 2014
Thanks Given: 0
Thanks Received: 0

Hi all,

Here I go with my very first question/post.

Lately I have been incorporating the Stochastic Momentum Index (SMI) into my trading. However something is confusing me about the indicator.

In short, I have been reading a lot of articles on the web about the SMI that refer to the parameters of the indicator in a much different way to how the SMI parameters seem to be laid out in Metastock (my main platform). I find it is almost as if people are talking about a different indicator to what I am seeing.

For example, I recently came across an article by a trader named Julie Wade regarding the Stochastic Momentum Index. The article draws on the ideas of Anne Marie Baiynd. In her article, Ms Wade mentions using a combination of "4-10 fast SMI overlaid on top of a slower 10-40 SMI".

Sounds easy enough, however, within Metastock (and a few other platforms I have looked at), the SMI parameters are generally set out as follows:

%K Parameters
- Time Periods: X
- Smoothing Periods: X
- Double Smooth Periods: X


%D Parameters
- Time Periods: X
- Method: (i.e. simple, exponential etc)

As such, how would I go about creating '4-10' and/or '10-40' SMI. I am not sure what they even mean.

I was hoping someone might be able to shed some light on how to set up both a "4-10 fast SMI" and a "10-40 slow SMI". Could Ms Wade be talking about a slightly different indicator?

So far I have been unable to contact Ms Wade, so I thought this great forum might be able to help. I apologize if this is an incredibly obvious question.


A big thank you in advance.

EdenR

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
The space time continuum and the dynamics of a financial …
Emini and Emicro Index
Better Renko Gaps
The Elite Circle
NexusFi Journal Challenge - April 2024
Feedback and Announcements
Deepmoney LLM
Elite Quantitative GenAI/LLM
Exit Strategy
NinjaTrader
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Get funded firms 2023/2024 - Any recommendations or word …
59 thanks
Funded Trader platforms
36 thanks
NexusFi site changelog and issues/problem reporting
25 thanks
GFIs1 1 DAX trade per day journal
19 thanks
The Program
18 thanks
  #3 (permalink)
Riff
Houston
 
Posts: 1 since Feb 2016
Thanks Given: 0
Thanks Received: 0


EdenR,

Did you ever get a response to your question? I also am interested in the SMI, I am using thinkorswim and it only has a simpler version of the SMI without as many parameters available to change compared to MetaStock. This was referenced by Anne Marie Baiynd on a YouTube video.

I appreciate any information you may have discovered.

Thanks,

Reply With Quote
  #4 (permalink)
 
JellySkater's Avatar
 JellySkater 
Snellville, GA
 
Experience: Intermediate
Platform: TOS, NinjaTrader
Broker: TDAmeritrade
Trading: Lev ETFs, Equities
Posts: 20 since Nov 2013
Thanks Given: 16
Thanks Received: 38

I cobbled this thinkscript based on watching Anne-Marie Baiynd's youtube on Stockastic Momentum Index.
Use at your own risk.

declare lower;

input over_bought = 70;
input over_sold = -70;
input percentDLength = 6;
input percentKLength = 15;

def min_low = lowest(low, percentKLength);
def max_high = highest(high, percentKLength);
def rel_diff = close - (max_high + min_low)/2;
def diff = max_high - min_low;

def avgrel = expaverage(expaverage(rel_diff, percentDLength), percentDLength);
def avgdiff = expaverage(expaverage(diff, percentDLength), percentDLength);

plot SMI = if avgdiff != 0 then avgrel / (avgdiff / 2) * 100 else 0;
smi.setDefaultColor(getColor(1));

plot AvgSMI = expaverage(smi, percentDLength);
avgsmi.setDefaultColor(getcolor(5));

plot overbought = over_bought;
overbought.setDefaultColor(getcolor(5));

plot oversold = over_sold;
oversold.setDefaultColor(getcolor(5));

plot zero = 0;

I have been using this SMI for several months and like it alot. I wish it could be made available for NinjaTrader8.

Reply With Quote
Thanked by:
  #5 (permalink)
Sprite8man
Los Angeles CA
 
Posts: 5 since Nov 2016
Thanks Given: 2
Thanks Received: 3

Hello All:

I have been using SMI for some time on the TOS platform and took some notes from Steve Miller on TastyTrade. He suggested setting the overbought at 40 and the oversold at -40.

Percent d length is set to 3
Percent k length is set to 5

so far, no complaints....

Hope this helps a little.

Best,

sprite8man

Reply With Quote
  #6 (permalink)
 AREK 
Zurich
 
Experience: Beginner
Platform: TOS
Trading: Options
Posts: 2 since Jan 2018
Thanks Given: 0
Thanks Received: 0

Hi

Can you also build a scanner ?



JellySkater View Post
I cobbled this thinkscript based on watching Anne-Marie Baiynd's youtube on Stockastic Momentum Index.
Use at your own risk.

declare lower;

input over_bought = 70;
input over_sold = -70;
input percentDLength = 6;
input percentKLength = 15;

def min_low = lowest(low, percentKLength);
def max_high = highest(high, percentKLength);
def rel_diff = close - (max_high + min_low)/2;
def diff = max_high - min_low;

def avgrel = expaverage(expaverage(rel_diff, percentDLength), percentDLength);
def avgdiff = expaverage(expaverage(diff, percentDLength), percentDLength);

plot SMI = if avgdiff != 0 then avgrel / (avgdiff / 2) * 100 else 0;
smi.setDefaultColor(getColor(1));

plot AvgSMI = expaverage(smi, percentDLength);
avgsmi.setDefaultColor(getcolor(5));

plot overbought = over_bought;
overbought.setDefaultColor(getcolor(5));

plot oversold = over_sold;
oversold.setDefaultColor(getcolor(5));

plot zero = 0;

I have been using this SMI for several months and like it alot. I wish it could be made available for NinjaTrader8.


Reply With Quote
  #7 (permalink)
38ksfarmer40
Spring Hill Kansas
 
Posts: 4 since Jan 2018
Thanks Given: 1
Thanks Received: 1

AREK, you asked if the SMI Indicator could be scanned.

Here is a the link for a shared SMI with chart alerts. --- Sorry not cleared for posting links.
It can be used on any time frame

A scan can be built by going to the "SCAN" tab and "Add study filter"

Set the BearP or BullP to true within 1 or more bars

The Chart Alerts are commented out at the bottom of the Script.
Take the # off each line and the alerts will work
Change the OBOT / OSLD to change the threshold for the signal

Have fun---

If you want to do a copy / paste to load the script ....

# SMI Indiator with Signals and Alerts

declare lower;

input OBOT = 60.0;
input OSLD = -60.0;
input percentDLength = 6;
input percentKLength = 15;

def min_low = lowest(low, percentKLength);
def max_high = highest(high, percentKLength);
def rel_diff = close - (max_high + min_low)/2;
def diff = max_high - min_low;

def avgrel = expaverage(expaverage(rel_diff, percentDLength), percentDLength);
def avgdiff = expaverage(expaverage(diff, percentDLength), percentDLength);

plot SMI = if avgdiff != 0 then avgrel / (avgdiff / 2) * 100 else 0;
smi.setDefaultColor(getColor(1));

plot AvgSMI = expaverage(smi, percentDLength);
avgsmi.setDefaultColor(getcolor(5));

plot overbought = OBOT;
overbought.setDefaultColor(getcolor(5));

plot NeutralZoneTop = 15;
NeutralZoneTop.setDefaultColor(getcolor(3));

plot NeutralZoneBot = -15;
NeutralZoneBot.setDefaultColor(getcolor(3));

plot oversold = OSLD;
oversold.setDefaultColor(getcolor(5));

#Plot Zero = 0;
#Zero.setDefaultColor(getcolor(1));

def Bear = SMI[1] >= OBOT and SMI[1] == Highest(SMI[1] , 10) and SMI < SMI[1] ;
def Bull = SMI[1] <+ OSLD and SMI[1] == Lowest(SMI[1] , 10) and SMI > SMI[1] ;

plot BearP = if Bear then smi else if Bear then smi else Double.NaN;
BearP.AssignValueColor(if Bear then Color.Red else Color.CURRENT);
BearP.SetLineWeight(5);
BearP.SetStyle(Curve.POINTS);

plot BullP = if Bull then SMI else Double.NaN;
BullP.AssignValueColor(if Bull then Color.Green else Color.CURRENT);
BullP.SetLineWeight(5);
BullP.SetStyle(Curve.POINTS);

#input bearSound = Sound.Ding;
#input bullSound = Sound.Ding;
#Alert(Bear, "Bearish Cross", Alert.BAR, bearSound);
#Alert(Bull, "Bullish Cross", Alert.BAR, bullSound);

Reply With Quote
Thanked by:
  #8 (permalink)
futures777
popayan + cauca/colombia
 
Posts: 4 since Aug 2020
Thanks Given: 0
Thanks Received: 0

hi my friends, I am sorry,
I'm sorry but I don't understand how to create the script to use in the TOS Scan tool, could you please indicate here a new script only with the lines to search for the option "BullP".

Thank you very much for your patience with those of us who do not know how to create scripts

Reply With Quote




Last Updated on August 15, 2020


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts