SMI Indicator for TradeStation - futures io
futures io



SMI Indicator for TradeStation


Discussion in TradeStation

Updated
      Top Posters
    1. looks_one Todd with 1 posts (0 thanks)
    2. looks_two Serger with 1 posts (0 thanks)
    3. looks_3 cbritton with 1 posts (1 thanks)
    4. looks_4 vvbit with 1 posts (4 thanks)
    1. trending_up 10,894 views
    2. thumb_up 5 thanks given
    3. group 4 followers
    1. forum 3 posts
    2. attach_file 1 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 125,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

 
Search this Thread
 

SMI Indicator for TradeStation

(login for full post details)
  #1 (permalink)
 Todd 
Alpharetta, GA
 
Experience: Intermediate
Platform: ninja
Broker: Mirus / Zenfire
Trading: ES
 
Todd's Avatar
 
Posts: 257 since Jun 2009
Thanks: 28 given, 40 received

Hi,

I contributed the SMI2New Indicator to the forum months ago and lots of people seem to be using it, which is awesome! I had taken the SMI indicator from Tradestation forums and had hired a programmer to transfer the easy language code to ninjascript then make improvements to it (added the SMIema crossover line, added paintbars, added alerts)

Now, I could you some help. Could someone who knows Ninja and TradeStation please take the current SMI2New indicator (attached below) and and duplicate this back into TradeStation easy language? I don't need any alerts but I'd like an SMI with SMIema and I'd very much like the paintbars in TradeStation.

Sometimes I need to use my TradeStation account to trade and it would help to have this same tool that I use in Ninja back in TS.

I don't know enough about programming to know if this is a big request or a small request. Any help with this is appreciated.

Thanks,
Todd

Attached Files
Register to download File Type: cs SMI2.cs (15.5 KB, 227 views)
Started this thread Reply With Quote

Journal Challenge April 2021 results (now extended!):
Competing for $1800 in prizes from Jigsaw
looks_oneMaking a Living with the Microsby sstheo
(357 thanks from 34 posts)
looks_twoSalao's Journalby Salao
(81 thanks from 13 posts)
looks_3Learning to Profit - A journey in algorithms and optionsby Syntax
(58 thanks from 17 posts)
looks_4Deetee’s DAX Trading Journal (time based)by Deetee
(51 thanks from 22 posts)
looks_5Maybe a little bit different journalby Malykubo
(37 thanks from 20 posts)
 
Best Threads (Most Thanked)
in the last 7 days on futures io
The Crude Dude Oil Trading System
113 thanks
Help improve the FIO community
38 thanks
futures io site changelog and issues/problem reporting
26 thanks
Next New Poll Ideas/Suggestions
20 thanks
www.isystems.com
17 thanks
 
(login for full post details)
  #2 (permalink)
 cbritton 
Atlanta, Georgia
 
Experience: Intermediate
Platform: NT
Broker: DDT
Trading: ZN, ZB
 
cbritton's Avatar
 
Posts: 224 since Mar 2010
Thanks: 152 given, 249 received

try this:

 
Code

inputs: Rng(13), EMAPd1(25), EMAPd2(1), SMIEMAPd(25), alertlevel(40);

var: sms(0), hls(0), denom(0.0), smis(0), smiema(0)
;

Plot1(close, "Rising SMI");
Plot2(close, "Falling SMI");
noplot(1);
noplot(2);

if CurrentBar >= EMAPd1 and CurrentBar >= EMAPd2 then begin

    sms = Close[0] - 0.5 * ((Highest(High, range) + lowest(Low, range)));
            
    //High low diffs
    hls = highest(High, range) - Lowest(Low, range);

    //Stochastic Momentum Index = SMI
    denom = 0.5*XAverage(XAverage(hls,emapd1),emapd2);
    value1 = iff(denom = 0, 1, denom);
     smis = 100*XAverage(XAverage(sms,emapd1),emapd2) / value1;
        
    //Set the line value for the SMIEMA by taking the EMA of the SMI
    smiema = XAverage(smis, smiemapd);

    value2 = iff(smis > smis[1], GetPlotColor(1), GetPlotColor(2));
    condition1 = smis crosses below smiema;
    condition2 = smis crosses above smiema;
    
    Plot3(smis, "SMI", value2);
    Plot4(smiema, "SMIEMA");
    
    if condition1 then begin
        // alert
        alert("SMI crosses above signal line");
    end else if condition2 then begin
        // alert
        alert("SMI crosses below signal line");
    end;
end;

Plot5(alertlevel, "Alert");
Plot6(-alertlevel, "Alert");
If you have NT, compare this with a daily chart of something. Let me know if they don't match and I'll fix it.

Regards,
-C

“Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat.” - Sun Tzu
Reply With Quote
The following user says Thank You to cbritton for this post:
 
(login for full post details)
  #3 (permalink)
 Serger 
Quebec
 
Experience: Intermediate
Platform: Multicharts 64 +VolProfile
Broker: AMP Trading / CQG
Trading: Ym, Es
 
Serger's Avatar
 
Posts: 72 since Oct 2010
Thanks: 64 given, 24 received


Hello all,
long time ago i lesten ..good smi, but never use it , how you use it ?
do you post a graph ...
thank you so much
Serger

Reply With Quote
 
(login for full post details)
  #4 (permalink)
vvbit
Honolulu
 
 
Posts: 1 since Nov 2015
Thanks: 1 given, 1 received


cbritton View Post
try this:

Thanks, Cbritton! it's a useful code.
Please see updated version below, I fixed input Rng issue as it was not used in the code (there was "range" instead).
And I fixed wrong Alerts order
 
Code
// www bigmiketrading com/tradestation/654-smi-stochastic-momentum-index-indicator-tradestation.html
{STOCHASTIC MOMENTUM INDEX from William Blau  
}  
inputs: Rng(13), EMAPd1(25), EMAPd2(1), SMIEMAPd(25), alertlevel(40);

var: sms(0), hls(0), denom(0.0), smis(0), smiema(0);

Plot91(close, "Rising SMI");   noplot(91);
Plot92(close, "Falling SMI");  noplot(92);

if CurrentBar >= EMAPd1 and CurrentBar >= EMAPd2 then begin

    sms = Close[0] - 0.5 * ((Highest(High, Rng) + lowest(Low, Rng)));
            
    //High low diffs
    hls = highest(High, Rng) - Lowest(Low, Rng);

    //Stochastic Momentum Index = SMI
    denom = 0.5*XAverage(XAverage(hls,emapd1),emapd2);
    value1 = iff(denom = 0, 1, denom);
     smis = 100*XAverage(XAverage(sms,emapd1),emapd2) / value1;
        
    //Set the line value for the SMIEMA by taking the EMA of the SMI
    smiema = XAverage(smis, smiemapd);

    value2 = iff(smis > smis[1], GetPlotColor(91), GetPlotColor(92));
    
    Plot3(smis, "SMI", value2);
    Plot4(smiema, "SMIEMA");
    
    // alert
    if smis crosses above smiema then begin
        alert("SMI crosses above signal line");
    end else if smis crosses below smiema then begin
        alert("SMI crosses below signal line");
    end;
end;

Plot5(alertlevel, "Alert");
Plot6(-alertlevel, "Alert");

Reply With Quote
The following 4 users say Thank You to vvbit for this post:


futures io Trading Community Platforms and Indicators TradeStation > SMI Indicator for TradeStation


Last Updated on November 10, 2015


Upcoming Webinars and Events
 

NinjaTrader Indicator Challenge!

Ongoing
 

Journal Challenge w/$1,800 in prizes!

April

An Introduction to CME Group Micro Bitcoin Futures w/David Lerman

Elite only
     



Copyright © 2021 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada), info@futures.io
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.
no new posts