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 Segwin, 05-07-2018, 02:15 PM
    10 responses
    1,768 views
    0 likes
    Last Post Leafcutter  
    Started by Rapine Heihei, 04-23-2024, 07:51 PM
    2 responses
    30 views
    0 likes
    Last Post Max238
    by Max238
     
    Started by Shansen, 08-30-2019, 10:18 PM
    24 responses
    943 views
    0 likes
    Last Post spwizard  
    Started by Max238, Today, 01:28 AM
    0 responses
    10 views
    0 likes
    Last Post Max238
    by Max238
     
    Started by rocketman7, Today, 01:00 AM
    0 responses
    7 views
    0 likes
    Last Post rocketman7  
    Working...
    X