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 RookieTrader, Today, 09:37 AM
        3 responses
        15 views
        0 likes
        Last Post NinjaTrader_ChelseaB  
        Started by kulwinder73, Today, 10:31 AM
        0 responses
        5 views
        0 likes
        Last Post kulwinder73  
        Started by terofs, Yesterday, 04:18 PM
        1 response
        23 views
        0 likes
        Last Post terofs
        by terofs
         
        Started by CommonWhale, Today, 09:55 AM
        1 response
        4 views
        0 likes
        Last Post NinjaTrader_Erick  
        Started by Gerik, Today, 09:40 AM
        2 responses
        7 views
        0 likes
        Last Post Gerik
        by Gerik
         
        Working...
        X