Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90

Collapse

RSI Above 70 sometime within last 10 bars

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    RSI Above 70 sometime within last 10 bars

    How would I put the following...

    For example;

    If RSI was above 70 anywhere within the last 10 bars

    if (RSI(14, 3).Avg[10] > 70)
    Does this mean on the tenth bar ago specifically? Or anywhere within the last ten bars?

    Thanks

    #2
    Hello brucelevy,

    Thanks for your post.

    The statement: if (RSI(14, 3).Avg[10] > 70) would check that the Average line of the RSI was > 70, 10 bars ago. So it would only evaluate on 1 of the 11 bars you are interested in.

    There are a number of ways to accomplish this.

    1) Set up a condition where you check all 11 bars at once:
    if (RSI(14, 3).Avg[0] > 70 || RSI(14, 3).Avg[1] > 70) || RSI(14, 3).Avg[2] > 70) || RSI(14, 3).Avg[3] > 70) || RSI(14, 3).Avg[4] > 70) || RSI(14, 3).Avg[5] > 70) || RSI(14, 3).Avg[6] > 70) || RSI(14, 3).Avg[7] > 70) || RSI(14, 3).Avg[8] > 70) || RSI(14, 3).Avg[9] > 70) || RSI(14, 3).Avg[10] > 70))
    {
    // do something here
    }


    2) execute a for loop where you basically do the same thing:

    for (int i = 0, i<=10, i++)
    {
    if ( RSI(14, 3).Avg[i] > 70)
    {
    // do something here
    break; // exit out of loop if found
    }
    }

    3) Use a bar check which is the simplest and most efficient but depends on your code needs.
    Note: saveBar is declared as an integer.

    if (RSI(14, 3).Avg[0] > 70) // test once on each OnBarUpdate
    {
    saveBar = CurrentBar; // When condition matched, save the bar number for a test later
    }

    later in your code you want to see if RSI(14, 3).Avg > 70) within the last 10 bars

    if (CurrentBar - saveBar <= 10)
    {
    // do something here
    }


    Hopefully one of these will be of assistance.
    Paul H.NinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by MJ123, Today, 04:06 PM
    2 responses
    15 views
    0 likes
    Last Post MJ123
    by MJ123
     
    Started by Skifree, Yesterday, 01:33 PM
    5 responses
    50 views
    0 likes
    Last Post Skifree
    by Skifree
     
    Started by dgutz15, 12-12-2022, 11:50 PM
    4 responses
    63 views
    0 likes
    Last Post drsclaud23  
    Started by xtremel, Today, 08:48 PM
    0 responses
    14 views
    0 likes
    Last Post xtremel
    by xtremel
     
    Started by SilverSurfer1, Today, 08:27 PM
    0 responses
    5 views
    0 likes
    Last Post SilverSurfer1  
    Working...
    X