private void SwitchTrend(TrendName trend) { switch (trend) { case TrendName.Flat: Coin.Trend = new FlatTrend(); break; case TrendName.DescendingFlat: Coin.Trend = new DescendingFlatTrend(); break; case TrendName.AscendingFlat: Coin.Trend = new AscendingFlatTrend(); break; case TrendName.BullMarket: Coin.Trend = new BearMarketTrend(); break; case TrendName.BearMarket: Coin.Trend = new BullMarketTrend(); break; } }
private void SetTimers() { Random randomizer = new Random(DateTime.Now.Millisecond); priceTimer.Elapsed += (source, e) => { Coin.GetNextPrice(randomizer); Graph.BuildGraph(Coin.Price); PrintFrame(null, null); }; trendTimer.AutoReset = false; trendTimer.Elapsed += (source, e) => { int rangeValue = randomizer.Next(1, 101); TrendName trend = (TrendName)ListOfTrendProbabilities.Single((listItem) => rangeValue >= listItem.Begin && rangeValue < listItem.End).Value; SwitchTrend(trend); trendTimer.Stop(); trendTimer.Interval = randomizer.Next(10000, 30000); trendTimer.Start(); }; }