• 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

How do you tell if your position is a simulated historical position

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

    How do you tell if your position is a simulated historical position

    Hi, I'm wondering if there is a definitive way to tell if your strategy currently executing a historical stimulated position after it has transitioned to real time. I understand that you can detect a discrepancy between the Account position and the strategy position, however as far as the strategy is concerned, it doesn't know what other existing strategies out there may be affecting the account position.

    We need to perform some special handling and feedback to the user when the strategy is in this special state - how do we know if we're in this state (from a programmatic perspective)?

    Thanks in advance.
    Jeremytang
    NinjaTrader Ecosystem Vendor - Shark Indicators

    #2
    Hello Jeremytang,

    An easy way to tell would be if the position is not flat on the last fully closed historical bar.
    Code:
    if (State == State.Historical && CurrentBar == Count - 2 && Position.MarketPosition != MarketPosition.Flat)
    {
    // the position is not flat on the last fully closed historical bar
    }
    Chelsea B.NinjaTrader Customer Service

    Comment


      #3
      Thanks Chelsea, does (Count-2) always gaurentee being at the close of the last historical bar, (assuming we're in BarsInprogress=0) even if there are multiple barseries loaded in the strategy?


      QUOTE=NinjaTrader_ChelseaB;n1052814]Hello Jeremytang,

      An easy way to tell would be if the position is not flat on the last fully closed historical bar.
      Code:
      if (State == State.Historical && CurrentBar == Count - 2 && Position.MarketPosition != MarketPosition.Flat)
      {
      // the position is not flat on the last fully closed historical bar
      }
      [/QUOTE]

      Jeremytang
      NinjaTrader Ecosystem Vendor - Shark Indicators

      Comment


        #4
        Hello Jeremytang,

        The positions on other instruments you would want to check individually.

        Code:
        if (State == State.Historical && BarsInProgress == 1 && CurrentBars[1] == BarsArray[1].Count - 2 && Positions[1].MarketPosition != Position.Flat)
        But for the primary instrument only the last bar is necessary and if the instrument is the same for added series this uses the primary series position.

        And yes, when the state is historical 'Count - 2' is the last closed bar (there is an unclosed historical bar after that transitions to real-time).
        Chelsea B.NinjaTrader Customer Service

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by johnnybegoode, Today, 11:35 AM
        1 response
        9 views
        0 likes
        Last Post NinjaTrader_ChrisL  
        Started by NickyD, Today, 09:07 AM
        3 responses
        14 views
        0 likes
        Last Post NickyD
        by NickyD
         
        Started by 7robert, Today, 06:46 AM
        3 responses
        62 views
        0 likes
        Last Post NinjaTrader_ChrisL  
        Started by ElMagoR, Today, 07:49 AM
        4 responses
        31 views
        0 likes
        Last Post NinjaTrader_ChrisL  
        Started by Nabil, 09-13-2019, 11:44 AM
        5 responses
        35 views
        0 likes
        Last Post Nabil
        by Nabil
         
        Working...
        X