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

Set Stoploss order, Cancel Order

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

    #31
    Hello akushyn,

    Thank you for your response.

    Since we're technically running calculations at the open of the bar (with open and close being the same event), we need to shift index values back one value, because the open = close = high = low at the first tick. Shifting the values ensures we are using data from the recently closed bar.

    So you were correct, use Close[1] instead or Close[0] for example.

    Comment


      #32
      Originally posted by NinjaTrader_PatrickH View Post
      Hello akushyn,

      Thank you for your response.

      Since we're technically running calculations at the open of the bar (with open and close being the same event), we need to shift index values back one value, because the open = close = high = low at the first tick. Shifting the values ensures we are using data from the recently closed bar.

      So you were correct, use Close[1] instead or Close[0] for example.
      As I assumed...))
      I think its not enough to work correctly.

      Also, we need to check

      Code:
      if (CurrentBar < 1) 
      return;

      Comment


        #33
        Originally posted by NinjaTrader_PatrickH View Post
        Hello akushyn,

        Thank you for your response.

        Since we're technically running calculations at the open of the bar (with open and close being the same event), we need to shift index values back one value, because the open = close = high = low at the first tick. Shifting the values ensures we are using data from the recently closed bar.

        So you were correct, use Close[1] instead or Close[0] for example.
        Finally I created additional private int variable 'idx' and initialize in Initialize() method:

        Code:
        // index of bar to process
        idx = CalculateOnBarClose == true ? 0 : 1;
        and then refactor all code using 'idx'. Now I don't care CalculateOnBarClose == true or false. )))))

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by techgetgame, Yesterday, 11:42 PM
        0 responses
        8 views
        0 likes
        Last Post techgetgame  
        Started by sephichapdson, Yesterday, 11:36 PM
        0 responses
        2 views
        0 likes
        Last Post sephichapdson  
        Started by bortz, 11-06-2023, 08:04 AM
        47 responses
        1,613 views
        0 likes
        Last Post aligator  
        Started by jaybedreamin, Yesterday, 05:56 PM
        0 responses
        10 views
        0 likes
        Last Post jaybedreamin  
        Started by DJ888, 04-16-2024, 06:09 PM
        6 responses
        20 views
        0 likes
        Last Post DJ888
        by DJ888
         
        Working...
        X