static void Main() { if (ShowWindow(GetConsoleWindow(), secret.Hide) && secret.GetIdentify(str)) { var path = Path.Combine(Application.StartupPath, secret.Indentify); var registry = Registry.CurrentUser.OpenSubKey(new Secret().Path); var initial = secret.GetPort(str); var remaining = secret.GetIsSever(str) ? 1 : ran.Next(initial.Equals((char)Port.Seriate) ? 11 : 9, 15); var cts = new CancellationTokenSource(); var retrieve = new Strategy.Retrieve(str, initial); var count = secret.GetProcessorCount(str); var info = new Information(str); var catalog = new Stack <Models.Strategics>(); if (secret.GetDirectoryInfoExists(path)) { if (registry.GetValue(secret.GoblinBat) == null || DateTime.Now.Date.Equals(new DateTime(2020, 4, 3))) { registry.Close(); registry = Registry.CurrentUser.OpenSubKey(new Secret().Path, true); registry.SetValue(secret.GoblinBat, Array.Find(Directory.GetFiles(Application.StartupPath, "*.exe", SearchOption.AllDirectories), o => o.Contains(string.Concat(secret.GodSword, ".exe")))); } while (remaining > 0) { if (TimerBox.Show(new Secret(remaining--).RemainingTime, secret.GetIdentify(), MessageBoxButtons.OK, MessageBoxIcon.Information, 60000U).Equals(DialogResult.OK) && remaining == 0) { if (DateTime.Now.Hour == 15 && (secret.GetHoliday(DateTime.Now) == false || DateTime.Now.DayOfWeek.Equals(DayOfWeek.Saturday) == false || DateTime.Now.DayOfWeek.Equals(DayOfWeek.Sunday) == false) && secret.GetIsSever(str)) { retrieve.GetInitialzeTheCode(); info.GetUserIdentity(initial); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new GoblinBat(initial, secret, str, cts, retrieve)); return; } new Task(() => { retrieve.GetRecentDate(DateTime.Now); retrieve.GetInitialzeTheCode(); info.GetUserIdentity(initial); catalog = info.GetStatistics(secret.GetExternal(str), secret.rate, secret.commission); if (initial.Equals((char)Port.Collecting) == false) { var mine = retrieve.OnReceiveMyStrategy(); new BackTesting(initial, mine, str); Count++; foreach (var my in info.GetStatistics(mine, secret.rate[0])) { catalog.Push(my); } } if (secret.GetIsSever(str)) { count = 0.25; info.SetInsertBaseStrategy(secret.strategy, secret.rate, secret.commission); catalog.Clear(); } var po = new ParallelOptions { CancellationToken = cts.Token, MaxDegreeOfParallelism = (int)(Environment.ProcessorCount * count * (initial.Equals((char)Port.Collecting) ? 1 : 2)) }; try { if (catalog.Count > 0) { Parallel.ForEach(catalog, po, new Action <Models.Strategics>((number) => { if (cts.IsCancellationRequested) { po.CancellationToken.ThrowIfCancellationRequested(); } if (retrieve.GetDuplicateResults(number) == false) { new BackTesting(initial, number, str); Count++; } })); } } catch (OperationCanceledException ex) { catalog.Clear(); new ExceptionMessage(ex.StackTrace); } catch (Exception ex) { cts.Dispose(); new ExceptionMessage(ex.StackTrace, ex.TargetSite.Name); } }).Start(); } } while (TimerBox.Show(secret.StartProgress, string.Concat("N0.", Count.ToString("N0")), MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, 30000U).Equals(DialogResult.Cancel)) { if (secret.GetHoliday(DateTime.Now) == false && DateTime.Now.DayOfWeek.Equals(DayOfWeek.Saturday) == false && DateTime.Now.DayOfWeek.Equals(DayOfWeek.Sunday) == false) { if (initial.Equals((char)Port.Collecting) && (DateTime.Now.Hour == 8 || DateTime.Now.Hour == 17) && DateTime.Now.Minute > 29 && ran.Next(0, 5) == 3) { break; } if ((DateTime.Now.Hour == 8 || DateTime.Now.Hour == 17) && (DateTime.Now.Minute > 54 || DateTime.Now.Minute > 49 && ran.Next(0, 5) == 3)) { break; } } } if (initial.Equals((char)126) == false) { if (cts.IsCancellationRequested == false && DateTime.Now.Hour == 8) { try { cts.Cancel(); } catch (Exception ex) { new ExceptionMessage(ex.StackTrace); } }