public void TestRandomTradingZeroOutput() { symbol = Factory.Symbol.LookupSymbol("EUR/USD"); Random random = new Random(12349871); var monteCarloPass = new MonteCarloPass(symbol, priceChanges); monteCarloPass.RandomPass(343031777, false); }
public void TestRandomTrading() { symbol = Factory.Symbol.LookupSymbol("EUR/USD"); Random random = new Random(818519479); var monteCarloPass = new MonteCarloPass(symbol, priceChanges); monteCarloPass.RandomPass(603378611, true); }
public void TestOnlyIncrease() { symbol = Factory.Symbol.LookupSymbol("EUR/USD"); Random random = new Random(818519479); var monteCarloPass = new MonteCarloPass(symbol, priceChanges); monteCarloPass.IsRandom = false; monteCarloPass.RandomPass(2122675590, true); }
public void MonteCarloTesting() { Assert.Ignore(); symbol = Factory.Symbol.LookupSymbol("EUR/USD"); Random random = new Random(12349871); var list = new List <MonteCarloPass>(); for (var i = 1; i < 100; i++) { var monteCarloPass = new MonteCarloPass(symbol, priceChanges); //monteCarloPass.iterations = 25000; monteCarloPass.RandomPass(random.Next(), false, true); //Console.WriteLine(monteCarloPass); list.Add(monteCarloPass); } var maxRunUp = 0D; var maxDrawDown = 0D; var maxInventory = 0D; var maxProfit = 0D; var profitableCount = 0; var profitSum = 0D; foreach (var pass in list) { if (pass.MaxRunUp > maxRunUp) { maxRunUp = pass.MaxRunUp; } if (pass.MaxDrawDown < maxDrawDown) { maxDrawDown = pass.MaxDrawDown; } if (pass.MaxInventorySize > maxInventory) { maxInventory = pass.MaxInventorySize; } if (pass.ProfitLoss > maxProfit) { maxProfit = pass.ProfitLoss; } if (pass.ProfitLoss > 0) { profitableCount++; } profitSum += pass.ProfitLoss; } //Console.WriteLine("Max Run Up " + Round(maxRunUp)); //Console.WriteLine("Max DrawDown " + Round(maxDrawDown)); //Console.WriteLine("Max Inventory " + Round(maxInventory)); //Console.WriteLine("Max Profit " + Round(maxProfit)); //Console.WriteLine("Profitable % " + Round(profitableCount*100/list.Count)); //Console.WriteLine("Total Profit " + Round(profitSum)); }