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

Creating Unique OCO Strings Intrabar

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

    Creating Unique OCO Strings Intrabar

    Hello staff,

    I would like to create a unique OCO string while also trading intrabar with Calculate.OnPriceChange, which means that "CurrentBar" can not be used here to have a unique OCO string every time. What are some tricks that you know of that I could use in this scenario?

    I'm looking forward to your reply.

    #2
    Hello GLFX005,

    Thanks for your post.

    Great question. Here is what you can use to cover both historical and realtime:

    if (State == State.Historical)
    oco = DateTime.Now.ToString() + CurrentBar + "entry";
    else
    oco = GetAtmStrategyUniqueId() + "entry";

    Where oco is declared as a private string.

    Reference: https://ninjatrader.com/support/help...gyuniqueid.htm
    Paul H.NinjaTrader Customer Service

    Comment


      #3
      Hello Paul, thank you for your reply.

      Is this something I can use even if I don't care about historical backtest data? I'm using my strategy for live forward trading only.
      Does the "GetAtmStrategyUniqueId()" stay the same throughout the time the strategy is loaded on my chart? And does the ID reset when I reload the Ninjascript?

      I've been using this as a solution for my problem so far to make sure that the string is unique for each bar but also for each trade inside a bar:
      ("Q1" + CurrentBar + SystemPerformance.AllTrades.Count)

      But I guess that adding the "GetAtmStrategyUniqueId()" is going to become beneficial when trading multiple of the same strategies on the same chart.

      I am looking forward to your reply.

      Comment


        #4
        Hello GLFX005,

        Thanks for your reply.

        The method "GetAtmStrategyUniqueId()" will provide a unique ID each time it is called. If you are only running realtime, that is what we would suggest using.
        I wasn't very clear in my previous post, that code would be used in OnBarUpdate()
        Paul H.NinjaTrader Customer Service

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by sidlercom80, 10-28-2023, 08:49 AM
        166 responses
        2,233 views
        0 likes
        Last Post sidlercom80  
        Started by thread, Yesterday, 11:58 PM
        0 responses
        1 view
        0 likes
        Last Post thread
        by thread
         
        Started by jclose, Yesterday, 09:37 PM
        0 responses
        6 views
        0 likes
        Last Post jclose
        by jclose
         
        Started by WeyldFalcon, 08-07-2020, 06:13 AM
        10 responses
        1,414 views
        0 likes
        Last Post Traderontheroad  
        Started by firefoxforum12, Yesterday, 08:53 PM
        0 responses
        11 views
        0 likes
        Last Post firefoxforum12  
        Working...
        X