Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Misc Issues

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

    Misc Issues

    I'll just use this thread to start a running tally of issues I find as I go, and I'll number them for ease of reference. . . unless someone feels this method inefficient or confusing, if so please let me know.

    Thus far:

    1. In strategy analyzer, after an optimization run, when you click 'display' and 'optimization graph', no matter what your optimize-on criteria was (in my case for this latest run, it was 'profit factor), it will display the performance score as a dollar amount, on the Y axis. This is incorrect and a bit confusing, as 'profit factor' isnt a measure of currency, but rather a numerical measure of performance. . . a small issue certainly, but seeing my profit factor as $1.44 instead of 1.44 was very disconcerting somehow

    2. In strategy analyzer, after an optimization run, when you are shown a list of the best scoring results, you're able to right click on any of these and 'open in ninjascript editor'. I'm not sure if this was intentional or not, but regardless of which optimization result you right click on and open up in ninjascript editor, they all have the same parameters. . . meaning, with the Sample MA cross for example, they all show the moving average period values as '10' and '25', regardless of these were the selected 'best'. Even if this is intentional, perhaps its worth considering implementing functionality to make use of the determined 'best' variables, here?

    3. In strategy analyzer, after an optimization run, if you click 'display' and 'chart', you can see your entry and exit points for each trade plotted on the chart, which is quite handy. However, this only works in 'standard' and 'multi objective optimization', it does not work in 'optimization'. . it doesnt show your entries and exits, with this optimization type.

    4. As previously mentioned in another post, it seems the user is unable to define commissions properly, and thus have them accounted for in backtests and optimizations. The instructions tell you to globally define them, and then they go on to say:

    "Note: Once commissions have been entered, they must be enabled before you will see any commissions being added. Please select the Tools menu within the Control Center. Select the Options menu item and in the Trading category check "Apply commissions to PnL calculations."

    I'm afraid there is no 'Apply Commission to PnL Calculations' checkbox, unless I'm missing something.

    #2
    1. Reported in issue ticket: NTEIGHT-8168
    2. Not intentional. That should only be on right clicking on a log entry. Reported: NTEIGHT-8169
    3. Bug -> Reported: NTEIGHT-8170
    4. We will fix this up for next release. Currently you needed to set commissions on the Sim101 account and SA will adopt these. To set commissions there goto control center > account tab > right click sim101 and select "Edit account" and select a commission template.

    Comment


      #3
      5. When attempting to backtest with a strat I just created, I continually get the error/popup 'Value of property 'index' of ninjascript 'customstrat' is 0 and not in valid range between 1 and 214748647'. . . the most disturbing thing for me is that I get this popup about half the time, the other half the optimization starts, and then simply never finishes, but freezes and hangs. . additionally, about 5-10% of the time, the optimization runs, and works. Three different results, the same strategy, no settings altered. . quite confused.

      Comment


        #4
        Hmm, this would be related to any Range attributes you may have for some public properties. Can you share the properties on the strategy you're using?
        MatthewNinjaTrader Product Management

        Comment


          #5
          Originally posted by NinjaTrader_Matthew View Post
          Hmm, this would be related to any Range attributes you may have for some public properties. Can you share the properties on the strategy you're using?

          Here are the properties of the 'index' parameter I am allowing to range/vary, within the optimization:

          [Range(int.MinValue, int.MaxValue), NinjaScriptProperty]
          [Display(ResourceType = typeof(Custom.Resource), Name = "Index", GroupName = "NinjaScriptStrategyParameters", Order = 0)]
          public int Index
          { get; set; }


          It may be helpful to know that this error continues to appear entirely at random. . sometimes an optimization run completes without producing it at all, other times the optimization run with the same settings can cause two or three error popup windows. . these are 'genetic' tests, btw.

          Comment


            #6
            I can reproduce this with using int.MinValue in the range, and if I setup my GO which would optimize with an input value of less than 1.

            The range attribute has a hardcoded min value of 1, so you will want to make sure that your range is between that an the int.MaxValue:

            [Range(1, int.MaxValue), NinjaScriptProperty]
            MatthewNinjaTrader Product Management

            Comment


              #7
              Originally posted by NinjaTrader_Matthew View Post
              I can reproduce this with using int.MinValue in the range, and if I setup my GO which would optimize with an input value of less than 1.

              The range attribute has a hardcoded min value of 1, so you will want to make sure that your range is between that an the int.MaxValue:

              [Range(1, int.MaxValue), NinjaScriptProperty]
              That may not be such a great idea, restricting parameters/properties that way. I know many developers, including me, who use a value of zero or negative to disable a parameter from processing.

              Moreover, your Set()Exit methods have a percentage parameter that is specified as a decimal fraction. This decision then requires further massage of any such parameter/property before it can be used. Not exactly onerous, but it does stick in yet more processing and coding by developers, beyond just getting the parameter value set by the user.

              Comment


                #8
                Originally posted by koganam View Post
                That may not be such a great idea, restricting parameters/properties that way. I know many developers, including me, who use a value of zero or negative to disable a parameter from processing.

                Moreover, your Set()Exit methods have a percentage parameter that is specified as a decimal fraction. This decision then requires further massage of any such parameter/property before it can be used. Not exactly onerous, but it does stick in yet more processing and coding by developers, beyond just getting the parameter value set by the user.
                Sorry - that was actually a misunderstanding on my end. It looks like this may be erroneously reset to 1. We're looking into this scenario closer however, including the resulting application hang - NTEIGHT-8274
                MatthewNinjaTrader Product Management

                Comment


                  #9
                  Originally posted by NinjaTrader_Matthew View Post
                  I can reproduce this with using int.MinValue in the range, and if I setup my GO which would optimize with an input value of less than 1.

                  The range attribute has a hardcoded min value of 1, so you will want to make sure that your range is between that an the int.MaxValue:

                  [Range(1, int.MaxValue), NinjaScriptProperty]

                  Its very important to note here that my parameter range ALSO had a minimum value of '1', which one would think would completely disallow the possibility of '0' being used/tested. . however, this seems to be occurring regardless. Its become impossible for me to perform an entire optimization run that takes longer than 5-10 minutes, without this error popping up. .

                  Comment


                    #10
                    With respect to the "$" noted in post #1 for Profit factor, I wanted to add that I've also noticed "$" on the y-axis of the Monte Carlo graphs for Profit factor as well as Sharpe ratio, which is also unitless.

                    Comment


                      #11
                      Thanks for pointing that out LarryL, I've reported to development - NTEIGHT-8429
                      MatthewNinjaTrader Product Management

                      Comment

                      Latest Posts

                      Collapse

                      Topics Statistics Last Post
                      Started by bortz, 11-06-2023, 08:04 AM
                      47 responses
                      1,610 views
                      0 likes
                      Last Post aligator  
                      Started by jaybedreamin, Today, 05:56 PM
                      0 responses
                      9 views
                      0 likes
                      Last Post jaybedreamin  
                      Started by DJ888, 04-16-2024, 06:09 PM
                      6 responses
                      19 views
                      0 likes
                      Last Post DJ888
                      by DJ888
                       
                      Started by Jon17, Today, 04:33 PM
                      0 responses
                      6 views
                      0 likes
                      Last Post Jon17
                      by Jon17
                       
                      Started by Javierw.ok, Today, 04:12 PM
                      0 responses
                      16 views
                      0 likes
                      Last Post Javierw.ok  
                      Working...
                      X