Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

NT8 How to make plot public & accessable to other indicators

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

    NT8 How to make plot public & accessable to other indicators

    I would like my indicator plot to be available to other indicators under Input Series->Parameters->Plot
    If I look at the Ninja SMA plot: AddPlot(Brushes.Goldenrod, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNa meSMA);
    I don't see how to do this in my own indicator. Please explain.

    #2
    are you talking about dataseries information?

    Comment


      #3
      // public class YourIndicatorName: Indicator Your indicatorName
      // {
      //}


      AddPlot(new Stroke(Brushes.Tomato, DashStyleHelper.Solid, 2), PlotStyle.Hash, "F500");


      [Browsable(false)]
      [XmlIgnore]
      public Series<double> F500
      {
      get { return Values[0]; }
      }

      double dAnswer;

      Now when you are accessing the data you will have a varialbe

      dAnswer = YourIndicatorName(Your varialbe Name).F500[0];

      Comment


        #4
        Thanks Ballboy11

        Comment


          #5
          Hello saturntd,

          Ballboy11 is correct. An example of this is the Avg plot series in the MACD indicator included with NinjaTrader.

          Also, below is a public link to the help guide on 'Exposing indicator values that are not plots' for other things you may want public that are not series.
          Chelsea B.NinjaTrader Customer Service

          Comment


            #6
            Originally posted by ballboy11 View Post
            // public class YourIndicatorName: Indicator Your indicatorName
            // {
            //}


            AddPlot(new Stroke(Brushes.Tomato, DashStyleHelper.Solid, 2), PlotStyle.Hash, "F500");


            [Browsable(false)]
            [XmlIgnore]
            public Series<double> F500
            {
            get { return Values[0]; }
            }

            double dAnswer;

            Now when you are accessing the data you will have a varialbe

            dAnswer = YourIndicatorName(Your varialbe Name).F500[0];
            And in this case I can put the value for Plot in OnBarUpdate like this: Values[0][0] = the_value_for_plot

            But, when I use OnRender for my indicator and don't use OnBarUpdate at all? How can I put the value in "Plot" on my chart in this case?

            Comment


              #7
              Hello handlar,

              OnRender() happens in another thread.

              You would need to use .GetValueAt() or TriggerCustomEvent() to synchronize the series first.


              Chelsea B.NinjaTrader Customer Service

              Comment

              Latest Posts

              Collapse

              Topics Statistics Last Post
              Started by charlesugo_1, 05-26-2026, 05:03 PM
              0 responses
              73 views
              0 likes
              Last Post charlesugo_1  
              Started by DannyP96, 05-18-2026, 02:38 PM
              1 response
              152 views
              0 likes
              Last Post NinjaTrader_ChelseaB  
              Started by CarlTrading, 05-11-2026, 05:56 AM
              0 responses
              162 views
              0 likes
              Last Post CarlTrading  
              Started by CarlTrading, 05-10-2026, 08:12 PM
              0 responses
              100 views
              0 likes
              Last Post CarlTrading  
              Started by Hwop38, 05-04-2026, 07:02 PM
              0 responses
              288 views
              0 likes
              Last Post Hwop38
              by Hwop38
               
              Working...
              X