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 Shansen, 08-30-2019, 10:18 PM
        24 responses
        942 views
        0 likes
        Last Post spwizard  
        Started by Max238, Today, 01:28 AM
        0 responses
        9 views
        0 likes
        Last Post Max238
        by Max238
         
        Started by rocketman7, Today, 01:00 AM
        0 responses
        4 views
        0 likes
        Last Post rocketman7  
        Started by wzgy0920, 04-20-2024, 06:09 PM
        2 responses
        28 views
        0 likes
        Last Post wzgy0920  
        Started by wzgy0920, 02-22-2024, 01:11 AM
        5 responses
        33 views
        0 likes
        Last Post wzgy0920  
        Working...
        X