private void Complete(StockDownloader downloader) { Dispatcher.Invoke(() => { AllowSearch = true; FindStocks(); }); }
private void Complete(StockDownloader downloader) { Application.Current.Dispatcher.Invoke(() => { MainWindow.Instance.AllowSearch = true; MainWindow.Instance.LblLoadProgress.Text = $"Loaded {StockUtils.AllSymbols.Count} Stocks"; refresh(); }); }
private void Complete(StockDownloader downloader) { Dispatcher.Invoke(() => { btnDownload.Click -= btnDownload_Click; btnDownload.Click += (sender, args) => DialogResult = true; btnDownload.Content = "Finish"; btnDownload.IsEnabled = true; }); }
private void DownloadStocks() { Application.Current.Dispatcher.Invoke(() => { MainWindow.Instance.AllowSearch = false; MainWindow.Instance.LblLoadProgress.Text = "Reloading Database..."; }); StockDownloader downloader = new StockDownloader(); downloader.DownloadComplete += Complete; downloader.DownloadStocks(); }
private void DownloadStocks() { Dispatcher.Invoke(() => { AllowSearch = false; LblLoadProgress.Text = "Reloading Database..."; }); StockDownloader downloader = new StockDownloader(); downloader.DownloadComplete += Complete; downloader.DownloadStocks(); }
private void DownloadStocks() { Dispatcher.Invoke(() => { btnCancel.IsEnabled = false; btnDownload.IsEnabled = false; }); Downloader = new StockDownloader(); Downloader.StatusUpdate += UpdateStatus; Downloader.DownloadComplete += Complete; Downloader.DownloadStocks(); }
private void TimerOnElapsed(object sender, ElapsedEventArgs elapsedEventArgs) { StockDownloader downloader = new StockDownloader(); downloader.GetBidAskQuote(_watchList.Keys.ToArray()); foreach (Tuple <string, decimal, int, decimal, int> tuple in downloader.GetBidAskQuote(_watchList.Keys.ToArray())) { WatchListStock stock = _watchList[tuple.Item1]; stock.Bid = tuple.Item2; stock.BidSize = tuple.Item3; stock.Ask = tuple.Item4; stock.AskSize = tuple.Item5; } }
private void Scan(DateTime from, DateTime to) { // DateTime from = dtFrom.SelectedDate.Value; // DateTime to = dtTo.SelectedDate.Value; List <BacktestResult> results = new List <BacktestResult>(); StockDownloader downloader = new StockDownloader(); AroonCrossStrategy strategy = new AroonCrossStrategy(14, 10000.00m); // foreach (StockInfo stock in Stocks) // { // try // { // HistoricalPriceVolume graph = downloader.DownloadHistoricalData(stock.Symbol, from, to); // // BacktestResult result = strategy.BackTest(stock, graph); // results.Add(result); // // AroonIndicator aroon = new AroonIndicator("aroon_5", 5); // // aroon.Calculate(graph); // // // Aroon aroon = new Aroon(5); // // aroon.Calculate(graph); // Dispatcher.Invoke(delegate // { // Bar.Value = ++downloaded; // ProgressBox.AppendText($"Finished analysing data for {stock.Symbol}\n"); // ProgressBox.ScrollToEnd(); // }); // } // catch (Exception) // { // // ignored // } // } results.Clear(); ConcurrentBag <string> graphs = new ConcurrentBag <string>(); Parallel.ForEach(Stocks, stock => { try { // HistoricalPriceVolume graph = downloader.DownloadHistoricalData(stock.Symbol, from, to); graphs.Add(downloader.DownloadHistoricalData(stock.Symbol, from, to)); // BacktestResult result = strategy.BackTest(stock, graph); // results.Add(result); } catch (Exception) { // ignored } }); // Debug.WriteLine("par: " + (DateTime.Now - old)); List <HistoricalPriceVolume> graphs2 = new List <HistoricalPriceVolume>(); // foreach (StockInfo stock in Stocks) // { // try // { // HistoricalPriceVolume graph = downloader.DownloadHistoricalData(stock.Symbol, from, to); // graphs2.Add(graph); // // BacktestResult result = strategy.BackTest(stock, graph); // // results.Add(result); // } // catch (Exception) // { // // ignored // } // } Dispatcher.Invoke(delegate { BacktestResults window = new BacktestResults(results); window.Show(); }); }