• 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

IsFirstBarOfSession

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

    IsFirstBarOfSession

    Hi staff,

    When my strategy is set to "Calculate.OnEachTick" does the "IsFirstBarOfSession" method wait for the closure of the first bar of the day or does it trigger instantly when the first tick of the day appears?

    Thank you in advance for your answer.

    #2
    Hi GLFX005, thanks for your post.

    IsFirstBarOfSession will be true for the entirety of the first bar. To get it to run once at the first tick of the day, you can add a daily series and check

    if(BarsInProgress == 1)// daily series
    if(IsFirstTickOfBar && IsFirstBarOfSession)
    //single tick condition

    Please let me know if I can assist any further.
    Chris L.NinjaTrader Customer Service

    Comment


      #3
      Hello Chris, thank you for your reply.

      Is there any way in the script where I can use the FirstBarOfSession to enter a trade (depending on the direction of the bar) but only if it has been fully closed, while keeping my strategy running on Calculate.OnEachTick? Currently my strategy enters on the wicks of the first bar of the day.

      if (Bars.IsFirstBarOfSession
      && Close[0] > Close[1])
      {
      EnterLong(1, "L");
      }
      Last edited by GLFX005; 01-20-2020, 04:02 AM.

      Comment


        #4
        Hello GLFX005,

        Thank you for your reply.

        There would not be a supported method to do that - while you can separate some strategy logic to run OnBarClose and some to run OnEachTick by utilizing IsFirstTickOfBar, there's not a comparable way to move that "once per bar" logic to the end of the bar. What I'd recommend here if you want it to place the orders on the next bar after the open would be to use BarsSinceNewTradingDay == 1 and IsFirstTickOfBar to get as close to when that first bar closed as possible:

        if (BarsSinceNewTradingDay == 1 && IsFirstTickOfBar)
        {
        EnterLong(1, "L");
        }

        Please let us know if we may be of further assistance to you.

        Kate W.NinjaTrader Customer Service

        Comment


          #5
          Hello Kate,

          Thank you for your reply.
          Am I correct in understanding that the following logic will only happen on days that is not a Monday?

          if (Time[0].DayOfWeek != DayOfWeek.Monday
          && Bars.BarsSinceNewTradingDay == 1
          && IsFirstTickOfBar
          && Close[0] < Close[1])
          {
          EnterShort(2, "S");
          }

          Comment


            #6
            Hello GLFX005,

            Thank you for your reply.

            That would be correct, that logic should fire only on days other than Monday.

            Please let us know if we may be of further assistance to you.
            Kate W.NinjaTrader Customer Service

            Comment

            Latest Posts

            Collapse

            Topics Statistics Last Post
            Started by Uregon, Today, 07:30 AM
            1 response
            4 views
            0 likes
            Last Post NinjaTrader_Jim  
            Started by szayedoud, Yesterday, 05:05 PM
            2 responses
            18 views
            0 likes
            Last Post szayedoud  
            Started by JPPoulin, Yesterday, 07:11 PM
            2 responses
            16 views
            1 like
            Last Post JPPoulin  
            Started by MojoJojo, Today, 07:24 AM
            0 responses
            3 views
            0 likes
            Last Post MojoJojo  
            Started by franco12364, Yesterday, 04:22 PM
            1 response
            5 views
            0 likes
            Last Post NinjaTrader_ChrisSch  
            Working...
            X