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

Indicators in Strategies

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

    Indicators in Strategies

    if I add an indicator to a strategy, is it ok to change the plot color OnBarUpdate?

    Click image for larger version

Name:	SampleMACrossOver.png
Views:	148
Size:	7.0 KB
ID:	1218937

    #2
    Hello dibDab,

    Thanks for your post.

    If an indicator is added to a strategy using AddChartIndicator(), you would not be able to change the color of the indicator in the OnBarUpdate() method of the strategy.

    The indicators plot color would need to be set in OnStateChange() when the State == State.DataLoaded. Note that you would need to define the brush color before calling AddChartIndicator().

    Code:
    else if (State == State.DataLoaded)
    {
    smaFast = SMA(Fast);
    smaSlow = SMA(Slow);
    
    smaFast.Plots[0].Brush = Brushes.Goldenrod;
    smaSlow.Plots[0].Brush = Brushes.SeaGreen;
    
    AddChartIndicator(smaFast);
    AddChartIndicator(smaSlow);
    }
    Let me know if I may assist further,​
    Brandon H.NinjaTrader Customer Service

    Comment


      #3
      ok thanks.

      ideally I'd like to change the PlotBrushes depending on the changing strategy variables?

      Comment


        #4
        Hello dibDab,

        Thanks for your note.

        Something you could consider doing is adding a plot to the strategy using AddPlot() and assigning the SMA indicator value to that plot.

        PlotBrushes could then be used to change the color of a plot when a certain condition is true.

        See the attached example script and screenshot demonstrating this.

        And, see the help guide documentation below for more information and sample code.

        AddPlot(): https://ninjatrader.com/support/help...ghtsub=addplot
        SMA: https://ninjatrader.com/support/help...ghlightsub=sma
        PlotBrushes: https://ninjatrader.com/support/help...lotbrushes.htm

        Let me know if I may assist further.
        Attached Files
        Brandon H.NinjaTrader Customer Service

        Comment


          #5
          really helpful, thanks.

          can I safely use something like PlotBrushes[0][0] = null;

          Comment


            #6
            Hello dibDab,

            Thanks for your note.

            If you set PlotBrushes to null, the default plot color defined in the AddPlot() method will be used. For example, if you call AddPlot(Brushes.Orange, "SMAPlot"); and then set PlotBrushes to null in OnBarUpdate(), the plot color will be orange.

            To set a plot color to transparent, you could call PlotBrushes[0][0] = Brushes.Transparent;

            Please let me know if you have any other questions.
            Brandon H.NinjaTrader Customer Service

            Comment

            Latest Posts

            Collapse

            Topics Statistics Last Post
            Started by Segwin, 05-07-2018, 02:15 PM
            14 responses
            1,788 views
            0 likes
            Last Post aligator  
            Started by Jimmyk, 01-26-2018, 05:19 AM
            6 responses
            837 views
            0 likes
            Last Post emuns
            by emuns
             
            Started by jxs_xrj, 01-12-2020, 09:49 AM
            6 responses
            3,293 views
            1 like
            Last Post jgualdronc  
            Started by Touch-Ups, Today, 10:36 AM
            0 responses
            12 views
            0 likes
            Last Post Touch-Ups  
            Started by geddyisodin, 04-25-2024, 05:20 AM
            11 responses
            62 views
            0 likes
            Last Post halgo_boulder  
            Working...
            X