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 GussJ, 03-04-2020, 03:11 PM
        16 responses
        3,281 views
        0 likes
        Last Post Leafcutter  
        Started by WHICKED, Today, 12:45 PM
        2 responses
        19 views
        0 likes
        Last Post WHICKED
        by WHICKED
         
        Started by Tim-c, Today, 02:10 PM
        1 response
        9 views
        0 likes
        Last Post NinjaTrader_ChelseaB  
        Started by Taddypole, Today, 02:47 PM
        0 responses
        5 views
        0 likes
        Last Post Taddypole  
        Started by chbruno, 04-24-2024, 04:10 PM
        4 responses
        53 views
        0 likes
        Last Post chbruno
        by chbruno
         
        Working...
        X