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 judysamnt7, 03-13-2023, 09:11 AM
        4 responses
        59 views
        0 likes
        Last Post DynamicTest  
        Started by ScottWalsh, Today, 06:52 PM
        4 responses
        36 views
        0 likes
        Last Post ScottWalsh  
        Started by olisav57, Today, 07:39 PM
        0 responses
        7 views
        0 likes
        Last Post olisav57  
        Started by trilliantrader, Today, 03:01 PM
        2 responses
        22 views
        0 likes
        Last Post helpwanted  
        Started by cre8able, Today, 07:24 PM
        0 responses
        10 views
        0 likes
        Last Post cre8able  
        Working...
        X