Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Are GetValueByY() and GetValueByYWpf() working?

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

    Are GetValueByY() and GetValueByYWpf() working?

    Another OnMouseMove() issue. Am I doing something wrong, or is there a bug here? I move the cursor up and down, yielding Y values frm 0-724. In all cases, both GetValueByY() and GetValueByYWpf() return zero.
    Code:
    using System.Windows;
    using System.Windows.Input;
    using NinjaTrader.Gui.Chart;
    
    //This namespace holds Indicators in this folder and is required. Do not change it. 
    namespace NinjaTrader.NinjaScript.Indicators
    {
        public class VsaNew : Indicator
        {
            protected override void OnStateChange()
            {
                if (State == State.SetDefaults)
                {
                    IsOverlay                    = true;
    
                } else if (State == State.DataLoaded) {
                    if (this.ChartPanel != null)
                        this.ChartPanel.MouseMove += new MouseEventHandler(OnMouseMove);
    
                }
            }
    
            protected override void OnBarUpdate()
            {
                //Add your custom indicator logic here.
            }
            
            internal void OnMouseMove(object sender, MouseEventArgs e)
            {
                ChartControl cc = ChartControl;
                ChartScale cs = new ChartScale(/*cc.PrimaryBars.*/ChartPanel, cc.PrimaryBars.Properties.ScaleJustification);
                Point cursorPos = e.GetPosition(ChartPanel);
    
                float fy = (float)cursorPos.Y;
                double tmp = cs.GetValueByY((float)cursorPos.Y);
                double tmp2 = cs.GetValueByYWpf((float)cursorPos.Y);
                Print("VsaNew: cursor Y: " + fy + "   GetValueByY: " + tmp + "   GetValueByYWpf: " + tmp2);
            }
        }
    }
    --EV

    #2
    Get the ChartScale from the Chart's ChartPanel.Scales object:

    ChartScale cs = ChartPanel.Scales[ChartPanel.PanelIndex];

    The below is working for me. Let me know if you see any issues

    Code:
    public class MyCustomIndicator3 : Indicator
    {
    	protected override void OnStateChange()
    	{
    		if (State == State.SetDefaults)
    		{
    			IsOverlay = true;
    		}
    		else if (State == State.DataLoaded)
    			if (ChartPanel != null) ChartPanel.MouseMove += OnMouseMove; 
    
    		else if (State == State.Terminated)
    			if (ChartPanel != null) ChartPanel.MouseMove -= OnMouseMove;
    	}
    
    	protected override void OnBarUpdate()
    	{
    		//Add your custom indicator logic here.
    	}
    
    	internal void OnMouseMove(object sender, MouseEventArgs e)
    	{
    		try
    		{
    			ChartScale cs = ChartPanel.Scales[ChartPanel.PanelIndex];
    			Point cursorPos = e.GetPosition(ChartPanel);
    
    			float fy = (float) cursorPos.Y;
    			if (cs != null)
    			{
    				double tmp = cs.GetValueByY((float) cursorPos.Y);
    				double tmp2 = cs.GetValueByYWpf((float) cursorPos.Y);
    				Print("VsaNew: cursor Y: " + fy + "   GetValueByY: " + tmp + "   GetValueByYWpf: " + tmp2);
    			}
    		}
    		catch (Exception exception)
    		{
    			Print(exception);
    		}
    	}
    }
    Last edited by NinjaTrader_Matthew; 08-24-2015, 08:28 AM.
    MatthewNinjaTrader Product Management

    Comment


      #3
      Originally posted by NinjaTrader_Matthew View Post
      Get the ChartScale from the Chart's ChartPanel.Scales object:

      ChartScale cs = ChartPanel.Scales[ChartPanel.PanelIndex];

      The below is working for me. Let me know if you see any issues
      Thank you. That does it. Getting ChartScale your way works fine.

      --EV

      Comment

      Latest Posts

      Collapse

      Topics Statistics Last Post
      Started by cmtjoancolmenero, Yesterday, 03:58 PM
      11 responses
      39 views
      0 likes
      Last Post cmtjoancolmenero  
      Started by FrazMann, Today, 11:21 AM
      0 responses
      3 views
      0 likes
      Last Post FrazMann  
      Started by geddyisodin, Yesterday, 05:20 AM
      8 responses
      52 views
      0 likes
      Last Post NinjaTrader_Gaby  
      Started by DayTradingDEMON, Today, 09:28 AM
      4 responses
      26 views
      0 likes
      Last Post DayTradingDEMON  
      Started by George21, Today, 10:07 AM
      1 response
      22 views
      0 likes
      Last Post NinjaTrader_ChristopherJ  
      Working...
      X