Example #1
0
        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
            var ed = extdat.getExtraData(0, Bars, CurrentBar);

            if (ed == null)
            {
                return;
            }
            double denom = ed.UpTicks + ed.DnTicks;
            double unsm  = 0;

            if (denom > 0)
            {
                unsm = (ed.UpTicks - ed.DnTicks) / denom;
            }

            if (lastSeen != CurrentBar)
            {
                lastSeen = CurrentBar;
                osm1     = sm1;
                osm2     = sm2;
            }

            sm1 = osm1 + alpha1 * (unsm - osm1);
            sm2 = osm2 + alpha2 * (sm1 - osm2);
            TVI.Set(sm2);
        }
        private TreeViewItem ExpandNodeByNameTVIRecursive(TreeViewItem StartNode, string NodeName, bool Refresh, bool ExpandChildren)
        {
            foreach (TreeViewItem TVI in StartNode.Items)
            {
                StackPanel head = null;
                string     o    = null;
                if (TVI.Header.ToString() != "DUMMY") //added for stability bc sometimes i was getting issues
                {
                    head = (StackPanel)TVI.Header;
                    foreach (var child in head.Children)
                    {
                        if (child is Label)
                        {
                            o = (string)((Label)child).Content.ToString();
                            break;
                        }
                    }
                }

                // If searched Node is found by name, refresh and expand
                if (o != null && o == NodeName)
                {
                    if (Refresh)
                    {
                        TVI.IsSelected = true;
                        RefreshTreeViewItemChildrens(TVI);
                    }
                    if (ExpandChildren)
                    {
                        TVI.IsExpanded = true;
                        TVI.ExpandSubtree();
                    }
                    else
                    {
                        TVI.IsExpanded = true;
                    }
                    return(TVI);
                }

                if (TVI.Items.Count > 0)
                {
                    TVI.IsExpanded = true;
                    TreeViewItem vv = ExpandNodeByNameTVIRecursive(TVI, NodeName, Refresh, ExpandChildren);
                    if (vv != null)
                    {
                        return(vv);
                    }
                    TVI.IsExpanded = false;
                }
            }
            return(null);
        }