/// <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 <DataPeriod, Color>(); AdditionalFolder = "Additional" + Path.DirectorySeparatorChar; SourceFolder = "Indicators" + Path.DirectorySeparatorChar; DefaultStrategyDir = "Strategies" + Path.DirectorySeparatorChar; ColorDir = "Colors" + Path.DirectorySeparatorChar; LanguageDir = "Languages" + Path.DirectorySeparatorChar; SystemDir = "System" + Path.DirectorySeparatorChar; LibraryDir = "Libraries" + Path.DirectorySeparatorChar; UserFilesDir = "User Files"; ProgramName = "Forex Strategy Builder"; IsProgramReleaseCandidate = 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>(); ProgStats = new ProgStats { AppLicenseType = LicenseType.Valid }; ProgStats.AppStart("980834a958e961563091a670660243e7dd17d543"); IsIntrabarData = false; SingleOrder = false; WorkingMinutes = 0; MaxDD = 100; MM = 0; AutoSave = false; AutoMM = false; AutoOptimize = ""; // 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(); }
/// <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 <DataPeriod, Color>(); AdditionalFolder = "Additional" + Path.DirectorySeparatorChar; SourceFolder = "Indicators" + Path.DirectorySeparatorChar; DefaultStrategyDir = "Strategies" + Path.DirectorySeparatorChar; ColorDir = "Colors" + Path.DirectorySeparatorChar; LanguageDir = "Languages" + Path.DirectorySeparatorChar; SystemDir = "System" + Path.DirectorySeparatorChar; LibraryDir = "Libraries" + Path.DirectorySeparatorChar; UserFilesDir = "User Files"; ProgramName = "Forex Strategy Builder"; IsProgramReleaseCandidate = 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> /// Reads the strategy from a file. /// </summary> /// <param name="strategyName">The strategy name.</param> /// <returns>0 - success.</returns> private int OpenStrategy(string strategyName) { try { if (File.Exists(strategyName) && Strategy.Load(strategyName)) { // Successfully opened Data.Strategy.StrategyName = Path.GetFileNameWithoutExtension(strategyName); Data.StrategyDir = Path.GetDirectoryName(strategyName); Data.StrategyName = Path.GetFileName(strategyName); } else { Strategy.GenerateNew(); string sMessageText = Language.T("The strategy could not be loaded correctly!") + Environment.NewLine + Language.T("A new strategy has been generated!"); MessageBox.Show(sMessageText, Language.T("Strategy Loading"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); Data.LoadedSavedStrategy = ""; } Data.SetStrategyIndicators(); RebuildStrategyLayout(); SetSrategyOverview(); SetFormText(); Data.IsStrategyChanged = false; Data.LoadedSavedStrategy = Data.StrategyPath; Data.StackStrategy.Clear(); } catch { Strategy.GenerateNew(); string sMessageText = Language.T("The strategy could not be loaded correctly!") + Environment.NewLine + Language.T("A new strategy has been generated!"); MessageBox.Show(sMessageText, Language.T("Strategy Loading"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); Data.LoadedSavedStrategy = ""; SetFormText(); RebuildStrategyLayout(); return(1); } return(0); }
static Data() { IndicatorsForBacktestOnly = new[] { "Random Filter", "Date Filter", "Data Bars Filter", "Lot Limiter" }; PositionOpenTime = DateTime.MinValue; PositionType = -1; BalanceData = new BalanceChartUnit[BalanceLenght]; LibraryVersion = "unknown"; ExpertVersion = "unknown"; TerminalName = "MetaTrader"; PointChar = '.'; Dfs = "dd.MM"; Df = "dd.MM.yy"; AutoUsePrvBarValue = true; SourceFolder = @"Indicators\"; LibraryDir = @"Libraries\"; UserFilesDir = @"User Files\"; LoadedSavedStrategy = ""; FirstBar = 40; StrategyName = "New.xml"; StrategyDir = @"Strategies\"; DefaultStrategyDir = @"Strategies\"; ColorDir = @"Colors\"; LanguageDir = @"Languages\"; SystemDir = @"System\"; ProgramDir = @""; IsProgramBeta = false; IsStrategyChanged = false; Debug = false; IsData = false; IsConnected = false; IsAutoStart = false; StartAutotradeWhenConnected = false; ConnectionId = 0; PositionComment = ""; PositionProfit = 0; PositionTakeProfit = 0; PositionStopLoss = 0; PositionOpenPrice = 0; PositionLots = 0; PositionTicket = 0; WrongStopsRetry = 0; WrongTakeProf = 0; WrongStopLoss = 0; SecondsLiveTrading = 0; SavedStrategies = 0; SecondsDemoTrading = 0; LiveTradeStartTime = DateTime.Now; DemoTradeStartTime = DateTime.Now; ProgramName = "Forex Strategy Trader"; ProgramVersion = Application.ProductVersion; string[] asVersion = ProgramVersion.Split('.'); ProgramId = 1000000 * int.Parse(asVersion[0]) + 10000 * int.Parse(asVersion[1]) + 100 * int.Parse(asVersion[2]) + int.Parse(asVersion[3]); Strategy.GenerateNew(); StackStrategy = new Stack <Strategy>(); }