Ejemplo n.º 1
0
        /// <summary>
        ///     Pastes a strategy from clipboard.
        /// </summary>
        protected override void MenuStrategyPaste_OnClick(object sender, EventArgs e)
        {
            DialogResult dialogResult = WhetherSaveChangedStrategy();

            if (dialogResult == DialogResult.Yes)
            {
                SaveStrategy();
            }
            else if (dialogResult == DialogResult.Cancel)
            {
                return;
            }

            var      xmlDoc      = new XmlDocument();
            var      strategyXml = new StrategyXml();
            Strategy tempStrategy;

            try
            {
                xmlDoc.InnerXml = Clipboard.GetText();
                tempStrategy    = strategyXml.ParseXmlStrategy(xmlDoc);
                Strategy.CheckStrategyCompatibility(tempStrategy);
            }
            catch (MissingIndicatorException exception)
            {
                string message = string.Format(
                    "{2}{1}{0}{1}Please find this indicator in Repository or in Custom Indicators forum.",
                    exception.Message, Environment.NewLine, "Cannot load the strategy.");
                MessageBox.Show(message, "Load strategy", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
                return;
            }

            OnStrategyChange();

            Data.Strategy              = tempStrategy;
            Data.StrategyName          = tempStrategy.StrategyName;
            Data.Strategy.StrategyName = tempStrategy.StrategyName;

            Data.SetStrategyIndicators();
            RebuildStrategyLayout();
            SetSrategyOverview();

            SetFormText();
            Data.IsStrategyChanged   = false;
            Data.LoadedSavedStrategy = Data.StrategyPath;
            Data.StackStrategy.Clear();

            CalculateStrategy(true);
            AfterStrategyOpening();
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Saves the strategy in XML format.
        /// </summary>
        public void Save(string fileName)
        {
            StrategyName = Path.GetFileNameWithoutExtension(fileName);
            Symbol       = Data.Symbol;
            DataPeriod   = Data.Period;

            XmlDocument xmlDocStrategy = StrategyXml.CreateStrategyXmlDoc(this);

            try
            {
                xmlDocStrategy.Save(fileName); // Save the document to a file.
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        ///     Loads the strategy from a file in XML format.
        /// </summary>
        public static bool Load(string filename)
        {
            var xmlDocStrategy = new XmlDocument();

            try
            {
                xmlDocStrategy.Load(filename);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, Language.T("Strategy Loading"));

                return(false);
            }

            var strategyXml = new StrategyXml();


            try
            {
                Strategy strategy = strategyXml.ParseXmlStrategy(xmlDocStrategy);
                CheckStrategyCompatibility(strategy);
                Data.Strategy = strategy;
            }
            catch (MissingIndicatorException exception)
            {
                string message = string.Format(
                    "Cannot load \"{2}\" strategy. {1} {0} {1} Please find this indicator in Repository or in Custom Indicators forum.",
                    exception.Message, Environment.NewLine, Path.GetFileNameWithoutExtension(filename));
                MessageBox.Show(message, "Load strategy", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
                return(false);
            }

            return(true);
        }
Ejemplo n.º 4
0
        /// <summary>
        ///     Copies the strategy to clipboard.
        /// </summary>
        protected override void MenuStrategyCopy_OnClick(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = StrategyXml.CreateStrategyXmlDoc(Data.Strategy);

            Clipboard.SetText(xmlDoc.InnerXml);
        }
Ejemplo n.º 5
0
        /// <summary>
        ///     Loads the strategy from a file in XML format.
        /// </summary>
        public static bool Load(string filename)
        {
            var xmlDocStrategy = new XmlDocument();

            try
            {
                xmlDocStrategy.Load(filename);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, Language.T("Strategy Loading"));

                return false;
            }

            var strategyXml = new StrategyXml();

            try
            {
                Strategy strategy = strategyXml.ParseXmlStrategy(xmlDocStrategy);
                CheckStrategyCompatibility(strategy);
                Data.Strategy = strategy;
            }
            catch (MissingIndicatorException exception)
            {
                string message = string.Format(
                    "Cannot load \"{2}\" strategy. {1} {0} {1} Please find this indicator in Repository or in Custom Indicators forum.",
                    exception.Message, Environment.NewLine, Path.GetFileNameWithoutExtension(filename));
                MessageBox.Show(message, "Load strategy", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
                return false;
            }

            return true;
        }
        /// <summary>
        ///     Pastes a strategy from clipboard.
        /// </summary>
        protected override void MenuStrategyPaste_OnClick(object sender, EventArgs e)
        {
            DialogResult dialogResult = WhetherSaveChangedStrategy();

            if (dialogResult == DialogResult.Yes)
                SaveStrategy();
            else if (dialogResult == DialogResult.Cancel)
                return;

            var xmlDoc = new XmlDocument();
            var strategyXml = new StrategyXml();
            Strategy tempStrategy;

            try
            {
                xmlDoc.InnerXml = Clipboard.GetText();
                tempStrategy = strategyXml.ParseXmlStrategy(xmlDoc);
                Strategy.CheckStrategyCompatibility(tempStrategy);
            }
            catch (MissingIndicatorException exception)
            {
                string message = string.Format(
                    "{2}{1}{0}{1}Please find this indicator in Repository or in Custom Indicators forum.",
                    exception.Message, Environment.NewLine, "Cannot load the strategy.");
                MessageBox.Show(message, "Load strategy", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
                return;
            }

            OnStrategyChange();

            Data.Strategy = tempStrategy;
            Data.StrategyName = tempStrategy.StrategyName;
            Data.Strategy.StrategyName = tempStrategy.StrategyName;

            Data.SetStrategyIndicators();
            RebuildStrategyLayout();
            SetSrategyOverview();

            SetFormText();
            Data.IsStrategyChanged = false;
            Data.LoadedSavedStrategy = Data.StrategyPath;
            Data.StackStrategy.Clear();

            CalculateStrategy(true);
            AfterStrategyOpening();
        }