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

NT8 chart scaling [F] mode

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

    NT8 chart scaling [F] mode

    Hello


    #2
    Hello,

    You can access this property using the following syntax:

    Code:
    ChartControl.ChartPanels[idx].Scales[idx].Properties.YAxisRangeType
    YAxisRangeType can be Fixed or Automatic
    where idx is equal to the Panel and Scale index you are trying to access.

    I look forward to being of further assistance.
    JesseNinjaTrader Customer Service

    Comment


      #3
      I am trying to set autoscale to automatic using this property:

      Code:
      ChartControl.ChartPanels[0].Scales[0].Properties.YAxisRangeType = YAxisRangeType.Automatic;
      But I get an error (Object reference not set to an instance of an object.).

      I also cannot "read" the value of YAxisRangeType (Same error). I am doing this inside the OnBarUpdate of an Indicator. I simply want to set the scale to automatic at the end of the day, at 031500 time. Is there a better way? Thanks.
      Last edited by RogBear; 08-13-2018, 10:59 PM.

      Comment


        #4
        Hello

        Thank you for the post.

        It looks like something has changed since this post was created, I tested this syntax and also get an error. I was able to use the following successfully to gather the scale and set its properties:

        Ensure you have the following using statements at the top of the file:

        Code:
        using System.Linq;
        using NinjaTrader.Gui.Chart;
        Code:
        if (ChartControl != null)
        {
        	ChartPanel cp = ChartControl.ChartPanels[0];
        	if (cp != null)
        	{
        		ChartScale scale = cp.Scales.First(s => s.ScaleJustification == ScaleJustification.Right);
        		if (scale != null) scale.Properties.YAxisRangeType = YAxisRangeType.Fixed;
        	}
        }
        This includes error checking for null objects. You can control the panel using ChartPanels[0] and then pick the scale needed by its ScaleJustification. ScaleJustification == ScaleJustification.Right

        I look forward to being of further assistance.
        JesseNinjaTrader Customer Service

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by WHICKED, Today, 12:45 PM
        2 responses
        19 views
        0 likes
        Last Post WHICKED
        by WHICKED
         
        Started by GussJ, 03-04-2020, 03:11 PM
        15 responses
        3,276 views
        0 likes
        Last Post xiinteractive  
        Started by Tim-c, Today, 02:10 PM
        1 response
        8 views
        0 likes
        Last Post NinjaTrader_ChelseaB  
        Started by Taddypole, Today, 02:47 PM
        0 responses
        5 views
        0 likes
        Last Post Taddypole  
        Started by chbruno, 04-24-2024, 04:10 PM
        4 responses
        51 views
        0 likes
        Last Post chbruno
        by chbruno
         
        Working...
        X