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 Mestor, 03-10-2023, 01:50 AM
        16 responses
        387 views
        0 likes
        Last Post z.franck  
        Started by rtwave, 04-12-2024, 09:30 AM
        4 responses
        31 views
        0 likes
        Last Post rtwave
        by rtwave
         
        Started by yertle, Yesterday, 08:38 AM
        7 responses
        29 views
        0 likes
        Last Post yertle
        by yertle
         
        Started by bmartz, 03-12-2024, 06:12 AM
        2 responses
        22 views
        0 likes
        Last Post bmartz
        by bmartz
         
        Started by funk10101, Today, 12:02 AM
        0 responses
        7 views
        0 likes
        Last Post funk10101  
        Working...
        X