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

DataSeries

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

    DataSeries

    Would it be possible to to create a DataSeries for a multi time frame indicator that would hold say Closes[0] when the bar is closed but Closes[1] when the bar is front and not yet closed. The idea is that say I had 10 min bars as primary bars and 1 tick bars as secondary that when I referenced my data series I would get the closes of the 10min bars unless I was looking at MyDataSeries[0] which would return Closes[1][0] ?

    #2
    Hello GKonheiser,

    Thank you for your post.

    So hold the Closes[0][0] or Closes[1][0] based on a condition? Like the following?
    Code:
            #region Variables
            private DataSeries myDataSeries;
            #endregion
    		
            protected override void Initialize()
            {
    			Add("NQ 03-16", PeriodType.Minute, 1);
                myDataSeries = new DataSeries(this);
            }
    		
            protected override void OnBarUpdate()
            {
                if (Closes[0][0] > Closes[1][0])
    				myDataSeries[0] = Closes[0][0];
    			else
    				myDataSeries[0] = Closes[1][0];
            }

    Comment


      #3
      Hi Patrick,

      What I want to do it have a data series that contains the close of 10min bars unless its the first bar which should contain the close of 1 tick bar. the complication is that i need to align the data series with a 10 min series and then just update the data-series at index 0 when prices change on processing of BarsInProgress == 1 (tick bars). At the moment with logic similar to below I get stack overflow error and I can guess why.

      More like this
      Code:
       protected override void Initialize()
      {
           if(Historical)
           {
           Add(PeriodType.Tick,1);
      
           hClose = new DataSeries(this);
           }
      
      }
      
      protected override void OnBarUpdate()
      {
           if(Historical)
          {
                if(BarsInProgress == 0)
                {
                      hClose.Set(1,Close[1]);
                }
      				
                if(BarsInProgress == 1)
                {
                     hClose.Set(Closes[1][0]);
                }
           }
      }

      Comment


        #4
        Hello GKonheiser,

        I am not sure if it is Set and calling the bars index, but I used the attached code without issue.
        Attached Files

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by MarianApalaghiei, Today, 10:49 PM
        3 responses
        9 views
        0 likes
        Last Post NinjaTrader_Manfred  
        Started by XXtrader, Today, 11:30 PM
        0 responses
        3 views
        0 likes
        Last Post XXtrader  
        Started by love2code2trade, Yesterday, 01:45 PM
        4 responses
        28 views
        0 likes
        Last Post love2code2trade  
        Started by funk10101, Today, 09:43 PM
        0 responses
        9 views
        0 likes
        Last Post funk10101  
        Started by pkefal, 04-11-2024, 07:39 AM
        11 responses
        37 views
        0 likes
        Last Post jeronymite  
        Working...
        X