示例#1
0
        private void linkFractals(FractalEvent fractalEvent)
        {
            Fractal fractal  = fractalEvent.fractal.getBest();
            Fractal previous = fractal.getPrevious();

            if (previous != null)
            {
                for (int i = previous.index + 1; i < fractal.index; i++)
                {
                    highLowLink[i] = Double.NaN;
                }

                highLowLink[previous.index] = previous.value;
                highLowLink[fractal.index]  = fractal.value;
            }
        }
示例#2
0
        private void linkLows(FractalEvent fractalEvent)
        {
            Fractal fractal  = fractalEvent.fractal.getBest();
            Fractal previous = fractal.getPreviousOfSameSide();

            if (fractal.low && previous != null)
            {
                double lowest = Math.Min(fractal.value, previous.value);
                for (int i = previous.index + 1; i < fractal.index; i++)
                {
                    horizontalContinuationLineLow[i] = lowest;
                }

                for (int i = fractal.index; i < fractalEvent.index; i++)
                {
                    horizontalContinuationLineLow[i] = fractal.value;
                }
            }
        }
示例#3
0
        private void linkHighs(FractalEvent fractalEvent)
        {
            Fractal fractal  = fractalEvent.fractal.getBest();
            Fractal previous = fractal.getPreviousOfSameSide();

            if (fractal.high && previous != null)
            {
                double highest = Math.Max(fractal.value, previous.value);
                for (int i = previous.index + 1; i < fractal.index; i++)
                {
                    horizontalContinuationLineHigh[i] = highest;
                }

                for (int i = fractal.index; i < fractalEvent.index; i++)
                {
                    horizontalContinuationLineHigh[i] = fractal.value;
                }
            }
        }
示例#4
0
        private void newFractalHandler(FractalEvent fractalEvent)
        {
            Fractal fractal = fractalEvent.fractal.getBest();

            drawCircle(fractal);

            linkHighs(fractalEvent);
            linkLows(fractalEvent);
            linkFractals(fractalEvent);

            if (drawArrows)
            {
                plotArrow(fractal);
            }

            if (!IsRealTime)
            {
                return;
            }

            sendEmailNotification(fractal);
            playSoundNotification(fractal);
        }