/// <summary> /// Reads the strategy from a file. /// </summary> /// <returns>0 - success.</returns> int OpenStrategy(string strategyFilePath) { try { if (File.Exists(strategyFilePath) && Strategy.Load(strategyFilePath)) { // Successfully opening Data.Strategy.StrategyName = Path.GetFileNameWithoutExtension(strategyFilePath); Data.StrategyDir = Path.GetDirectoryName(strategyFilePath); Data.StrategyName = Path.GetFileName(strategyFilePath); if (Data.Strategy.OpenFilters > Configs.MAX_ENTRY_FILTERS) { Configs.MAX_ENTRY_FILTERS = Data.Strategy.OpenFilters; } if (Data.Strategy.CloseFilters > Configs.MAX_EXIT_FILTERS) { Configs.MAX_EXIT_FILTERS = Data.Strategy.CloseFilters; } } else { Strategy.GenerateNew(); string sMessageText = Language.T("The strategy could not be loaded correctly!"); MessageBox.Show(sMessageText, Language.T("Strategy Loading"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); Data.LoadedSavedStrategy = ""; this.Text = Data.ProgramName; } Data.SetStrategyIndicators(); RebuildStrategyLayout(); this.Text = Data.Strategy.StrategyName + " - " + Data.ProgramName; Data.IsStrategyChanged = false; Data.LoadedSavedStrategy = Data.StrategyPath; Data.StackStrategy.Clear(); } catch { Strategy.GenerateNew(); string sMessageText = Language.T("The strategy could not be loaded correctly!"); MessageBox.Show(sMessageText, Language.T("Strategy Loading"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); Data.LoadedSavedStrategy = ""; this.Text = Data.ProgramName; RebuildStrategyLayout(); return(1); } return(0); }
/// <summary> /// The default constructor. /// </summary> static Data() { Icon = Resources.Icon; PointChar = '.'; DFS = "dd.MM"; DF = "dd.MM.yy"; AutoUsePrvBarValue = true; FirstBar = 40; PeriodColor = new Dictionary <DataPeriods, Color>(); AdditionalFolder = "Additional" + Path.DirectorySeparatorChar; SourceFolder = "Custom Indicators" + Path.DirectorySeparatorChar; DefaultStrategyDir = "Strategies" + Path.DirectorySeparatorChar; ColorDir = "Colors" + Path.DirectorySeparatorChar; LanguageDir = "Languages" + Path.DirectorySeparatorChar; SystemDir = "System" + Path.DirectorySeparatorChar; ProgramDir = ""; ProgramName = "Forex Strategy Builder"; IsProgramRC = false; IsProgramBeta = false; LoadedSavedStrategy = ""; StrategyName = "New.xml"; StrategyDir = "Strategies" + Path.DirectorySeparatorChar; OfflineDocsDir = "Docs" + Path.DirectorySeparatorChar; DefaultOfflineDataDir = "Data" + Path.DirectorySeparatorChar; OfflineDataDir = "Data" + Path.DirectorySeparatorChar; Debug = false; IsData = false; IsResult = false; IsStrategyChanged = false; StackStrategy = new Stack <Strategy>(); GeneratorHistory = new List <Strategy>(); IsIntrabarData = false; // Program's Major, Minor, Version and Build numbers must be <= 99. ProgramVersion = Application.ProductVersion; string[] version = ProgramVersion.Split('.'); ProgramID = 1000000 * int.Parse(version[0]) + 10000 * int.Parse(version[1]) + 100 * int.Parse(version[2]) + 1 * int.Parse(version[3]); if (int.Parse(version[1]) % 2 != 0) { IsProgramBeta = true; } Strategy.GenerateNew(); }
/// <summary> /// The default constructor. /// </summary> static Data() { // Program's Major, Minor, Version and Build numbers must be <= 99. programVersion = Application.ProductVersion; string[] version = programVersion.Split('.'); programID = 1000000 * int.Parse(version[0]) + 10000 * int.Parse(version[1]) + 100 * int.Parse(version[2]) + 1 * int.Parse(version[3]); Strategy.GenerateNew(); stckStrategy = new Stack <Strategy>(); lstGenStrategy = new List <Strategy>(); isIntrabarData = false; }