public Cenario CalculaCenario(Cenario cenario) { for (int i = 0; i < cenario.Parametros.Length; i++) { decimal resultado = (cenario.Parametros[i].X - cenario.Parametros[i].PrecoExec) / cenario.Parametros[i].Vega; resultado *= resultado; cenario.Resultado += resultado; } if (cenario.Resultado == 0.0m) { cenario.Print(); } return(cenario); }
public void Modula(ParametrosPerna[] parametrosPernas) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); List <Cenario> cenarios = new List <Cenario>(); PreparaCenarios(cenarios, parametrosPernas); //foreach (Cenario cenario in cenarios) //{ // if (cenario == null) // { // cenario.Print(); // } // CalculaCenario(cenario); //} Cenario melhorCenario = cenarios.OrderBy(s => s.Resultado).FirstOrDefault(); Console.WriteLine("ModulacaoSync"); Console.WriteLine(); Console.WriteLine($"Cenarios: {cenarios.Count}"); Console.WriteLine(); melhorCenario.Print(); Console.WriteLine(); stopWatch.Stop(); Console.WriteLine($"ExecutionTime: {stopWatch.ElapsedMilliseconds}"); Console.WriteLine(); }