/// <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 /// ********************************************* }