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 JonesJoker, 04-22-2024, 12:23 PM
    6 responses
    32 views
    0 likes
    Last Post JonesJoker  
    Started by GussJ, 03-04-2020, 03:11 PM
    12 responses
    3,239 views
    0 likes
    Last Post Leafcutter  
    Started by AveryFlynn, Today, 04:57 AM
    0 responses
    5 views
    0 likes
    Last Post AveryFlynn  
    Started by RubenCazorla, 08-30-2022, 06:36 AM
    3 responses
    79 views
    0 likes
    Last Post PaulMohn  
    Started by f.saeidi, Yesterday, 12:14 PM
    9 responses
    25 views
    0 likes
    Last Post f.saeidi  
    Working...
    X