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

Multi-objective optimization graph vertical scale

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

    Multi-objective optimization graph vertical scale

    Got a query re the scaling of values on the Y-axis of the multi-objective results graph... as shown below testing on MA crossover

    Click image for larger version

Name:	Multi-opt Y axis weirdness 2.png
Views:	173
Size:	87.4 KB
ID:	1161049
    I've tested this with a few combos of optimisation fitness metrics... and MOST of them display the Y-axis with a strange scale. Like above... in which the drawdown values are in the range lets say zero to maybe $10,000... but this is displayed as a range of -0.1 to -0.18 ???

    The only combo I got that seemed to display sensibly was using Net Profit plus Profit Factor... which showed as a value ranging from 2.8 to 6.0 (or thereabouts)... ie values in agreement with the reported profit factor, as you would expect.

    So... what the heck is Min Drawdown (which I assume is really MAX drawdown) of -0.12 or whatever? Is it a percentage? If so... maybe consider displaying it as such... but frankly, I'd prefer if the actual drawdown dollar amount was shown, same as Net Profit is shown.

    Thanks,
    T.

    #2
    Hello tgn55,

    Thank you for your inquiry.

    It's displaying it as a percent. Here's the code for that particular optimization fitness (this can be found in the NinjaScript Editor):

    Code:
    namespace NinjaTrader.NinjaScript.OptimizationFitnesses
    {
    public class MinDrawDown : OptimizationFitness
    {
    protected override void OnCalculatePerformanceValue(StrategyBase strategy)
    {
    Value = strategy.SystemPerformance.AllTrades.TradesPerformance.Percent.Drawdown;
    }
    
    protected override void OnStateChange()
    {
    if (State == State.SetDefaults)
    Name = NinjaTrader.Custom.Resource.NinjaScriptOptimizationFitnessNameMinDrawDown;
    }
    }
    }
    You could certainly create your own Optimization fitness and use TradesPerformance.Currency.Drawdown instead of TradesPerformance.Percent.Drawdown and it would display the amount in currency.

    Please let us know if we may be of further assistance to you.
    Kate W.NinjaTrader Customer Service

    Comment


      #3
      Thanks Kate... I haven't been very active on the forum for months... but once again, you delivered!

      Cheers,
      T.

      Comment

      Latest Posts

      Collapse

      Topics Statistics Last Post
      Started by Klaus Hengher, Yesterday, 03:13 AM
      2 responses
      15 views
      0 likes
      Last Post Klaus Hengher  
      Started by Sebastian - TwinPeaks, Yesterday, 01:31 PM
      2 responses
      13 views
      0 likes
      Last Post Sebastian - TwinPeaks  
      Started by wbennettjr, 07-15-2017, 05:07 PM
      16 responses
      2,530 views
      1 like
      Last Post eladlevi  
      Started by Human#102, Yesterday, 09:54 AM
      2 responses
      8 views
      0 likes
      Last Post Human#102  
      Started by Patlpp, 08-16-2021, 03:10 PM
      10 responses
      499 views
      0 likes
      Last Post Joerg
      by Joerg
       
      Working...
      X