Example #1
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 <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();
        }
Example #2
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 <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();
        }
Example #3
0
        /// <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>();
 }