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 burtoninlondon, Today, 12:38 AM
            0 responses
            5 views
            0 likes
            Last Post burtoninlondon  
            Started by AaronKoRn, Yesterday, 09:49 PM
            0 responses
            12 views
            0 likes
            Last Post AaronKoRn  
            Started by carnitron, Yesterday, 08:42 PM
            0 responses
            11 views
            0 likes
            Last Post carnitron  
            Started by strategist007, Yesterday, 07:51 PM
            0 responses
            13 views
            0 likes
            Last Post strategist007  
            Started by StockTrader88, 03-06-2021, 08:58 AM
            44 responses
            3,982 views
            3 likes
            Last Post jhudas88  
            Working...
            X