• If this is your first visit, you will have to register before you can post. To view messages, please scroll below and select the forum that you would like to visits. Questions? Be sure to check out the Forum FAQ.

Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Error referencing Time[n] in OnMouseUp EventHandler

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

  • palinuro
    started a topic Error referencing Time[n] in OnMouseUp EventHandler

    Error referencing Time[n] in OnMouseUp EventHandler

    I am getting a consistent ArgumentOutOfRange Exception whenever I reference Time[CurrentBar-n] in my OnMouseUp(object sender, MouseEventArgs e) EventHandler. "n" is less than CurrentBar, so it should be within range..

    I don't have any problem working directly with the index numbers directly, but I need to store the values as DateTimes.

    I was able to do this in NT7 without any problems. Is a different approach needed in NT8?
    Last edited by palinuro; 12-12-2015, 09:32 PM.

  • palinuro
    replied
    thanks Matthew, i switched to GetTime() and it works fine.

    Leave a comment:


  • NinjaTrader_Matthew
    replied
    Originally posted by palinuro View Post
    I am getting a consistent ArgumentOutOfRange Exception whenever I reference Time[CurrentBar-n] in my OnMouseUp(object sender, MouseEventArgs e) EventHandler. "n" is less than CurrentBar, so it should be within range..

    I don't have any problem working directly with the index numbers directly, but I need to store the values as DateTimes.

    I was able to do this in NT7 without any problems. Is a different approach needed in NT8?
    There is some rocket science used to ensure that the currentbar is always up to date when using a core event handler like OnBarUpdate/OnMarketData, etc. When you're using a custom method like in your OnMouseUp, the price series array may be unreliable.

    You can either use the absolute index methods like GetTime(idx) which is the recommended way to go, or if you must use Time[idx] for whatever reason - you can try catching up the current bar array yourself, but this is not a documented solution.

    Code:
    		private void onMouseDown(object sender, MouseEventArgs e)
    		{
    			// a very simplified way to sync the current bar
    			for (int i = 0; i < BarsArray.Length; i++)
    			{
    				BarsArray[i].CurrentBar = CurrentBars[i];				
    			}
    						
    			Print(Time[5]);
    		}
    Last edited by NinjaTrader_Matthew; 12-17-2015, 09:06 AM.

    Leave a comment:

Latest Posts

Collapse

Topics Statistics Last Post
Started by seagraph, Today, 03:27 PM
0 responses
11 views
0 likes
Last Post seagraph  
Started by dedouglas, Today, 02:54 PM
1 response
14 views
0 likes
Last Post NinjaTrader_Jesse  
Started by elkhatabi, 08-01-2019, 06:36 PM
5 responses
53 views
0 likes
Last Post NinjaTrader_RyanL  
Started by mr_trade, Today, 01:01 PM
4 responses
19 views
0 likes
Last Post mr_trade  
Started by Renorail, Today, 12:31 PM
1 response
14 views
0 likes
Last Post NinjaTrader_PaulH  
Working...
X