Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Enable edit of 'Plots" and "Lines" in Indicator Properties UI

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

    Enable edit of 'Plots" and "Lines" in Indicator Properties UI


    Greetings,


    What edits are required to this indicator file to enable edit of 'Plots" and "Lines" in the Indicator Properties UI?

    Thanks!

    HedgePlay

    DimensionlessPFE
    There has been some criticism of the Polarized Fractal Efficiency formula. It can be shown that its inconsistent, i.e. that it doesn’t take into account scale, which in this case biases the calculation on lower time frames. This can give false signals for example when you shift between time frames, so scale is important. I […]



    Code:
    protected override void OnStateChange()
    {
    if (State == State.SetDefaults)
    {
    Description = @"The DimensionlessPFE (Polarized Fractal Efficiency) is an indicator that uses fractal geometry to determine how efficiently the price is moving.";
    Name = "DimensionlessPFE";
    Calculate = Calculate.OnBarClose;
    IsOverlay = false;
    DisplayInDataBox = true;
    DrawOnPricePanel = true;
    DrawHorizontalGridLines = true;
    DrawVerticalGridLines = true;
    PaintPriceMarkers = true;
    ScaleJustification = NinjaTrader.Gui.Chart.ScaleJustification.Right;
    IsSuspendedWhileInactive = true;
    }
    else if (State == State.Configure)
    {
    AddPlot(Brushes.Blue, "DimensionlessPFE");
    AddPlot(Brushes.Gray, "Zero");
    
    }
    }
    
    protected override void OnBarUpdate()
    {
    ...
    
    }
    
    #region Properties
    [Display(Name="Period", Description="Period", GroupName="Parameters", Order = 1)]
    public int Period
    {
    get { return period; }
    set { period = Math.Max(1, value); }
    }
    
    [Display(Name="Smooth", Description="Smooth", GroupName="Parameters", Order = 1)]
    public int Smooth
    {
    get { return smooth; }
    set { smooth = Math.Max(1, value); }
    }
    #endregion
    Attached Files

    #2
    Hello hedgeplay,

    I believe it would be the AddPlot Statements here. They would need moved into SetDefaults. Configure can be used for custom cases but SetDefaults would otherwise be needed.

    I look forward to being of further assistance.

    Comment


      #3
      Originally posted by NinjaTrader_Jesse View Post

      I believe it would be the AddPlot Statements here. They would need moved into SetDefaults. Configure can be used for custom cases but SetDefaults would otherwise be needed.

      Thanks Jesse!

      I felt like there was something basic I just had to be overlooking. That was it.


      Would love to get your insights on other approaches I might try for the "how to ensure controlled authorship of shared data content objects" challenge I just included in the post at the link below.

      A DM or email works if there are ideas you guys are not ready share broadly.

      HedgePlay

      https://ninjatrader.com/support/foru...57#post1170357
      • The trickiest bit .. For some shared objects I wanted to ensure only that only one instance of one single indicator or strategy class was allowed to author/create and edit content. A solution?
        • A large thread-safe class per shared object works well but then adding all those classes introduces loads of additional app bloat / unwanted app complexity.
        • Did not run a solution in production but saw some potential promise in releasing time limited editor permissions to an instance by capturing and restricting access to " this.id " of the approved instance.
        • After X time with no heartbeat or content updates another instance of the indicator auto-took editorial ownership of the shared object.
        • I anyone has a better solution I am all ears.

      Comment


        #4
        Hello hedgeplay,

        I don't personally have any comments that I could supply with the given details in the other thread, there are not any supported means for creating a series in a common class that I could suggest. You could utilize an Indicator for creating a series but as far as I am aware all series use requires a context which has a bar series so I don't see any way that could be replicated without using an Indicator.

        Please let me know if I may be of further assistance.

        Comment


          #5
          HI Jesse,

          Thanks for the reply.

          Relative to as much as could be understood from the OP's posts I think Jim's response of passing the ISeries interface to a method seems like a pretty good answer.

          HedgePlay

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by Geovanny Suaza, 02-11-2026, 06:32 PM
          0 responses
          563 views
          0 likes
          Last Post Geovanny Suaza  
          Started by Geovanny Suaza, 02-11-2026, 05:51 PM
          0 responses
          329 views
          1 like
          Last Post Geovanny Suaza  
          Started by Mindset, 02-09-2026, 11:44 AM
          0 responses
          101 views
          0 likes
          Last Post Mindset
          by Mindset
           
          Started by Geovanny Suaza, 02-02-2026, 12:30 PM
          0 responses
          547 views
          1 like
          Last Post Geovanny Suaza  
          Started by RFrosty, 01-28-2026, 06:49 PM
          0 responses
          547 views
          1 like
          Last Post RFrosty
          by RFrosty
           
          Working...
          X