Beispiel #1
0
        private void IterateLevel(int level)
        {
            OptimizerParam parameter = MasterInstance.OptimizerParams.Values
                                       .Skip(level)
                                       .FirstOrDefault();

            if (parameter != default(OptimizerParam))
            {
                if (parameter.IsEnabled)
                {
                    for (int value = parameter.Start; value <= parameter.End; value += parameter.Step)
                    {
                        parameter.Value = value;
                        IterateLevel(level + 1);
                    }
                }
                else
                {
                    IterateLevel(level + 1);
                }
            }
            else
            {
                RunIteration();
            }
        }
Beispiel #2
0
 /// <summary>
 /// Initialize trading algorithm. Most trading algorithms will
 /// only do very little here; the majority of the initialization
 /// should be performed in Run(), to allow multiple runs of
 /// the same instance.
 /// </summary>
 public Algorithm()
 {
     // create a dictionary of optimizer parameters
     OptimizerParams = new Dictionary <string, OptimizerParam>();
     foreach (OptimizerParam param in OptimizerParam.GetParams(this))
     {
         OptimizerParams[param.Name] = param;
     }
 }