public Carteira SingleRunValidaSolution(string name = "Single Run Validate") { //gpRunner.SingleRun(); TradeSystem ts = solutionToTest.tradeSystem; int loops = configController.config.CountValidationLoops; Carteira carteira = null; Estatistica stat = null; for (int i = 0; i < loops; i++) { carteira = configController.RunSingle(loopCount, ts, name, backend.Consts.TIPO_CARGA_ATIVOS.VALIDA_CANDIDATO); if (stat != null) { stat.MergeWith(carteira.estatistica); } else { stat = carteira.estatistica; } loopCount++; } CandidatoManager cm = CandidatoManager.LoadSaved(configController.config.tipoPeriodo); cm.AddTradeSystem(ts, stat, configController.config.tipoPeriodo); return(carteira); }
private void LoadCandidatos() { string path = System.AppDomain.CurrentDomain.BaseDirectory; path = path.Replace("FrontTester.frontend", "Backtester"); candidatoManager = CandidatoManager.LoadSaved(configController.config.tipoPeriodo, path); for (int i = 0; i < candidatoManager.ranking.Count; i++) { CandidatoData data = candidatoManager.ranking[i]; frmFront.AddItem("cbTradeSystem", data); frmFront.AddItem("cbTradeSystemEmUso", data); } }
public void TestValidaCandidato() { MockReferView rv = new MockReferView(); ConfigController configController = new ConfigController(rv); GeneticProgrammingController gpc = new GeneticProgrammingController(rv, configController); gpc.gpRunner.gpConfig.poolSize = 2; gpc.InitPool(); gpc.solutionToTest = new GPSolutionProxy(); gpc.solutionToTest.tradeSystem = new TradeSystem(configController.config); Assert.IsNotNull(gpc.solutionToTest.tradeSystem); Carteira carteira = gpc.SingleRunValidaSolution("teste Validation"); Assert.IsTrue(carteira.estatistica.capitalFinal != carteira.estatistica.capitalInicial); Assert.IsNotNull(carteira); Assert.IsTrue(carteira.posicoesAbertas.Count == 0); Assert.IsTrue(carteira.posicoesFechadas.Count > 0); Assert.IsTrue(configController.facadeValidation.dh.ativos.Count > 0); //adicionar o resultado da carteira em algum objeto persistido, ordenando pelo resultado final CandidatoManager cm = CandidatoManager.LoadSaved(configController.config.tipoPeriodo); CandidatoManager cm2 = CandidatoManager.LoadSaved(configController.config.tipoPeriodo); Assert.IsTrue(cm == cm2); Estatistica stat = new Estatistica(10000); CandidatoManager cmTest = new CandidatoManager(); TradeSystem ts1 = new TradeSystem(configController.config); TradeSystem ts2 = new TradeSystem(configController.config); TradeSystem ts3 = new TradeSystem(configController.config); stat.capitalFinal = 1000; cmTest.AddTradeSystem(ts1, stat, configController.config.tipoPeriodo); Assert.IsTrue(cmTest.GetRanking(ts1) == 0); stat.capitalFinal = 2000; cmTest.AddTradeSystem(ts2, stat, configController.config.tipoPeriodo); Assert.IsTrue(cmTest.GetRanking(ts1) == 1); Assert.IsTrue(cmTest.GetRanking(ts2) == 0); stat.capitalFinal = 3000; cmTest.AddTradeSystem(ts3, stat, configController.config.tipoPeriodo); Assert.IsTrue(cmTest.GetRanking(ts1) == 2); Assert.IsTrue(cmTest.GetRanking(ts2) == 1); Assert.IsTrue(cmTest.GetRanking(ts3) == 0); }