Ejemplo n.º 1
0
        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
            if (CurrentBar == 0)
            {
                opens.Update();
                highs.Update();
                lows.Update();
                closes.Update();
                haopen  = Open[0];
                haclose = (High[0] + Low[0] + Close[0] + Open[0]) * 0.25;
                HAHigh.Set(High[0]);
                HALow.Set(Low[0]);
                HAMid.Set((HAHigh[0] + HALow[0]) * 0.5);
                return;
            }

            haopen  = (haopen + haclose) * 0.5;
            haclose = (highs[0] + lows[0] + opens[0] + closes[0]) * 0.25;
            if (haopen < haclose)
            {
                HAHigh.Set(Math.Max(haclose, highs[0]));
                HALow.Set(Math.Min(haopen, lows[0]));
            }
            else
            {
                HAHigh.Set(Math.Max(haopen, highs[0]));
                HALow.Set(Math.Min(haclose, lows[0]));
            }
            HAMid.Set((HAHigh[0] + HALow[0]) * 0.5);
            Color col;

            if (haopen != haclose)
            {
                isRising = (haopen < haclose);
            }
            if (isRising)
            {
                col = ((HALow[0] < haopen)?ltup:upcolor);
            }
            else
            {
                col = ((HAHigh[0] > haopen)?ltdn:dncolor);
            }

            PlotColors[0][0] = col;
            PlotColors[1][0] = col;
            PlotColors[2][0] = col;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
            habars.update();
            HAMid.Set((habars.High + habars.Low) * 0.5);
            HAHigh.Set(habars.High);
            HALow.Set(habars.Low);
            Color col;

            if (habars.Open < habars.Close)
            {
                col = ((habars.Low < habars.Open)?ltup:upcolor);
            }
            else
            {
                col = ((habars.High > habars.Open)?ltdn:dncolor);
            }
            PlotColors[0][0] = col;
            PlotColors[1][0] = col;
            PlotColors[2][0] = col;
        }