Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Optimiser Type

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

    #16
    It looks I have to code my own optimizer type.
    Then I try to get random number between 0
    ~1, I use RAND(), some how NT give an error. What I should use to create a random number?
    Thanks

    Comment


      #17
      Josh P.NinjaTrader Customer Service

      Comment


        #18
        Josh,
        I copy 2 lines to my code, NT can't compile, what I do wrong? Thanks!
        Random randNum = new Random();
        randNum.Next(1, 108); // No larger than 108, no smaller than 1

        Comment


          #19
          What is the error you are getting?

          In the variables section do this:
          Code:
          private Random randNum = new Random();
          In the OnBarUpdate() method do this:
          Code:
          Print(Time[0] + " " + randNum.Next(1, 108));
          or if you want it between 0 and 1
          Code:
          Print(Time[0] + " " + randNum.NextDouble());
          Last edited by NinjaTrader_JoshP; 01-19-2008, 06:13 PM.
          Josh P.NinjaTrader Customer Service

          Comment


            #20
            Josh,
            Good morning.
            I try to use it in the file for optimizer to change the index:
            index=randNum.Next(parameter.Min,parameter.Max), I have delcared the ....
            Last edited by Jenny; 01-20-2008, 02:34 PM.

            Comment


              #21
              this had been deleted.
              Last edited by Jenny; 01-20-2008, 02:32 PM.

              Comment


                #22
                Please forget about my last post. Here is an updated file:
                //
                // Copyright (C) 2006, NinjaTrader LLC <www.ninjatrader.com>.
                //
                #region Using declarations
                using System;
                using System.ComponentModel;
                using System.Drawing;
                using NinjaTrader.Cbi;
                using NinjaTrader.Data;
                using NinjaTrader.Indicator;
                using NinjaTrader.Strategy;
                #endregion

                // This namespace holds all strategies and is required. Do not change it.
                namespace NinjaTrader.Strategy
                {
                /// <summary>
                /// </summary>
                [Gui.Design.DisplayName("Random")]
                public class RandomOptimizationMethod : OptimizationMethod
                {
                /// <summary>
                /// This methods iterates the parameters recursively. The actual back test is performed, as the last parameter is iterated.
                /// </summary>
                /// <param name="index"></param>
                private void Iterate(int index)
                {if (UserAbort)
                return;
                Parameter parameter = Strategy.Parameters[index];
                if (parameter.ParameterType != typeof(int) && parameter.ParameterType != typeof(double))
                {
                if (index == Strategy.Parameters.Count - 1) // last parameter ?
                RunIteration();
                else // iterate next parameter
                Iterate(index + 1);
                return;
                }

                double value = randNum.Next(parameter.Min, parameter.Max); {
                if (UserAbort)
                return;

                parameter.Value = value;
                if (index == Strategy.Parameters.Count - 1) // last parameter ?
                RunIteration();
                else // iterate next parameter
                Iterate(index + 1);
                }
                }

                /// <summary>
                /// Runs the optimizer on a given parameter set.
                /// This is a brute-force optimizer. It runs back tests on every potential parameter combination.
                /// </summary>
                public override void Optimize()
                {if (UserAbort)
                return;
                Iterate(0);
                }
                }
                }
                Last edited by Jenny; 01-20-2008, 09:13 AM.

                Comment


                  #23
                  Unfortunately this is beyond of what we can support. You might consider contacting a certified NinjaScript consultant here: http://www.ninjatrader.com/webnew/pa...injaScript.htm

                  Comment

                  Latest Posts

                  Collapse

                  Topics Statistics Last Post
                  Started by kempotrader, Today, 08:56 AM
                  0 responses
                  6 views
                  0 likes
                  Last Post kempotrader  
                  Started by kempotrader, Today, 08:54 AM
                  0 responses
                  4 views
                  0 likes
                  Last Post kempotrader  
                  Started by mmenigma, Today, 08:54 AM
                  0 responses
                  2 views
                  0 likes
                  Last Post mmenigma  
                  Started by halgo_boulder, Today, 08:44 AM
                  0 responses
                  1 view
                  0 likes
                  Last Post halgo_boulder  
                  Started by drewski1980, Today, 08:24 AM
                  0 responses
                  3 views
                  0 likes
                  Last Post drewski1980  
                  Working...
                  X