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

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, 05: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 alifarahani, Today, 09:40 AM
            6 responses
            27 views
            0 likes
            Last Post alifarahani  
            Started by Waxavi, Today, 02:10 AM
            1 response
            17 views
            0 likes
            Last Post NinjaTrader_LuisH  
            Started by Kaledus, Today, 01:29 PM
            5 responses
            13 views
            0 likes
            Last Post NinjaTrader_Jesse  
            Started by Waxavi, Today, 02:00 AM
            1 response
            12 views
            0 likes
            Last Post NinjaTrader_LuisH  
            Started by gentlebenthebear, Today, 01:30 AM
            3 responses
            17 views
            0 likes
            Last Post NinjaTrader_Jesse  
            Working...
            X