/// <summary>
 /// Returns a new population based on the breeding algorithm.
 /// </summary>
 /// <param name="oldChromosomes">The chromosomes of a population.</param>
 /// <returns>A new population.</returns>
 public TradeSystemChromosome[] Breed(TradeSystemChromosome[] oldChromosomes)
 {
     TradeSystemChromosome[] newChromosomes = new TradeSystemChromosome[oldChromosomes.Length];
     /// *********************************************
     /// GDBCup - Code goes here
     /// *********************************************
     return newChromosomes;
 }
 /// <summary>
 /// Creates a new instance of the chromosome with the same mfvvalues.
 /// </summary>
 /// <returns>A new instance of the chromosome with the same mfvvalues.</returns>
 internal TradeSystemChromosome Clone()
 {
     TradeSystemChromosome tc = new TradeSystemChromosome(
         new TradeSystem(
             this.ChromosomeValue.BuyCondition.Clone(),
             this.ChromosomeValue.SellCondition.Clone(),
             this.ChromosomeValue.StartDate,
             this.ChromosomeValue.EndDate,
             this.ChromosomeValue.FinancialSettings,
             this.ChromosomeValue.Shorts,
             this.ChromosomeValue.Longs),
         this.indicatorHelper,
         this.size);
     tc.FitnessLosers = this.FitnessLosers;
     tc.FitnessWinners = this.FitnessWinners;
     tc.Fitness = this.Fitness;
     return tc;
 }
 /// <summary>
 /// Cross the sell trade conditions.
 /// </summary>
 /// <param name="chromosome1">First chromosome to cross.</param>
 /// <param name="chromosome2">Second chromosome to cross.</param>
 /// <param name="whereToSplit">The place to split the chromosomes.</param>
 private void CrossSellTradeConditions(TradeSystemChromosome chromosome1, TradeSystemChromosome chromosome2, int whereToSplit)
 {
     /// *********************************************
     /// GDBCup - Code goes here
     /// *********************************************
 }
 /// <summary>
 /// Sets the fitness of each chromosome based on backtest results.
 /// </summary>
 /// <param name="chromosomeList">Array of chromosomes to backtest.</param>
 public void SetFitness(TradeSystemChromosome[] chromosomeList)
 {
     /// *********************************************
     /// GDBCup - Code goes here
     /// *********************************************
 }
 /// <summary>
 /// Cross the buy trade conditions.
 /// </summary>
 /// <param name="chromosome1">First chromosome to cross.</param>
 /// <param name="chromosome2">Second chromosome to cross.</param>
 private void CrossBuyTradeConditions(TradeSystemChromosome chromosome1, TradeSystemChromosome chromosome2)
 {
     /// *********************************************
     /// GDBCup - Code goes here
     /// *********************************************
 }
 /// <summary>
 /// Seed the population with some chromosomes.
 /// </summary>
 /// <param name="chromosomes">The seed chromosomes.</param>
 public void Seed(TradeSystemChromosome[] chromosomes)
 {
     /// *********************************************
     /// GDBCup - Code goes here
     /// *********************************************
 }