private void BtnAddIndicator_Click(object sender, EventArgs e)
        {
            var f = new IndicatorEditForm(null);

            f.ShowDialog();

            if (f.DialogResult == DialogResult.OK)
            {
                IndicatorInfo indicator = f.CurrentIndicator;

                var n = treeIndicators.Nodes.Add(new object[] { indicator.Name + " (" + indicator.Period + ")" });
                n.Tag = indicator;
            }
        }
        private void TreeIndicators_DoubleClick(object sender, EventArgs e)
        {
            TreeListHitInfo hi = treeIndicators.CalcHitInfo(treeIndicators.PointToClient(Control.MousePosition));

            if (hi.Node != null)
            {
                IndicatorInfo indicator = (IndicatorInfo)hi.Node.Tag;

                var f = new IndicatorEditForm(indicator);
                f.ShowDialog();

                if (f.DialogResult == DialogResult.OK)
                {
                    indicator = f.CurrentIndicator;

                    hi.Node.SetValue(treeListColumn1, indicator.Name + " (" + indicator.Period + ")");
                    hi.Node.Tag = indicator;

                    treeIndicators.Refresh();
                }
            }
        }