Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Optimization and Strategy States

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

    Optimization and Strategy States

    Hi - I have some code in my script that should only be run once - where certain variables/properties should only be instantiated once. I have IsInstantiatedOnEachOptimizationIteration set to false in the SetDefaults state. The DataLoaded still gets called multiple times during optimization. And, my property is nulled out in each DataLoaded section. Below is a snippet of my code in the DataLoaded section, where my property PositionManager is always null, and gets reset. I am not sure what I am doing wrong, or if I am misunderstanding the documentation. Thanks in advance!

    if (this.PositionManager == null)
    {
    this.PositionManager = new PositionManger(this);
    }

    #2
    Hi szayedoud, thanks for your question.

    All of the backtests that run during an optimization are run in parallel on separate threads, so all class objects must be reset in State.DataLoaded. Unfortunately, an object can't be shared amongst all optimization backtests because of this. There's an example of resetting your class variables on the documentation page.

    Please let me know if I can assist any further.

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by CarlTrading, 03-31-2026, 09:41 PM
    1 response
    45 views
    0 likes
    Last Post NinjaTrader_ChelseaB  
    Started by CarlTrading, 04-01-2026, 02:41 AM
    0 responses
    21 views
    0 likes
    Last Post CarlTrading  
    Started by CaptainJack, 03-31-2026, 11:44 PM
    0 responses
    31 views
    1 like
    Last Post CaptainJack  
    Started by CarlTrading, 03-30-2026, 11:51 AM
    0 responses
    50 views
    0 likes
    Last Post CarlTrading  
    Started by CarlTrading, 03-30-2026, 11:48 AM
    0 responses
    42 views
    0 likes
    Last Post CarlTrading  
    Working...
    X