Forex_Strategy_Builder.Strategy.GenerateNew C# (CSharp) Method

GenerateNew() public static method

Generates a new strategy.
public static GenerateNew ( ) : void
return void
        public static void GenerateNew()
        {
            Data.Strategy = new Strategy(0, 0);

            int openSlotNum  = Data.Strategy.OpenSlot;
            int closeSlotNum = Data.Strategy.CloseSlot;

            Data.Strategy.StrategyName = "New";

            Bar_Opening barOpening = new Bar_Opening(SlotTypes.Open);
            barOpening.Calculate(SlotTypes.Open);
            Data.Strategy.Slot[openSlotNum].IndParam       = barOpening.IndParam;
            Data.Strategy.Slot[openSlotNum].IndicatorName  = barOpening.IndicatorName;
            Data.Strategy.Slot[openSlotNum].Component      = barOpening.Component;
            Data.Strategy.Slot[openSlotNum].SeparatedChart = barOpening.SeparatedChart;
            Data.Strategy.Slot[openSlotNum].SpecValue      = barOpening.SpecialValues;
            Data.Strategy.Slot[openSlotNum].MaxValue       = barOpening.SeparatedChartMaxValue;
            Data.Strategy.Slot[openSlotNum].MinValue       = barOpening.SeparatedChartMinValue;
            Data.Strategy.Slot[openSlotNum].IsDefined      = true;

            Bar_Closing barClosing = new Bar_Closing(SlotTypes.Close);
            barClosing.Calculate(SlotTypes.Close);
            Data.Strategy.Slot[closeSlotNum].IndParam       = barClosing.IndParam;
            Data.Strategy.Slot[closeSlotNum].IndicatorName  = barClosing.IndicatorName;
            Data.Strategy.Slot[closeSlotNum].Component      = barClosing.Component;
            Data.Strategy.Slot[closeSlotNum].SeparatedChart = barClosing.SeparatedChart;
            Data.Strategy.Slot[closeSlotNum].SpecValue      = barClosing.SpecialValues;
            Data.Strategy.Slot[closeSlotNum].MaxValue       = barClosing.SeparatedChartMaxValue;
            Data.Strategy.Slot[closeSlotNum].MinValue       = barClosing.SeparatedChartMinValue;
            Data.Strategy.Slot[closeSlotNum].IsDefined      = true;

            return;
        }

Usage Example

        /// <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);
        }
All Usage Examples Of Forex_Strategy_Builder.Strategy::GenerateNew