Пример #1
0
        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
            // Use this method for calculating your indicator values. Assign a value to each
            // plot below by replacing 'Close[0]' with your own formula.

            int strength = 0;

            if (Rising(HMA(period1)))
            {
                Bull0.Set(3);
                strength++;
            }
            else
            {
                Bear0.Set(3);
            }

            if (Rising(HMA(period2)))
            {
                Bull1.Set(2);
                strength++;
            }
            else
            {
                Bear1.Set(2);
            }

            if (Rising(HMA(period3)))
            {
                Bull2.Set(1);
                strength++;
            }
            else
            {
                Bear2.Set(1);
            }

            if (Rising(HMA(period4)))
            {
                Bull3.Set(0);
                strength++;
            }
            else
            {
                Bear3.Set(0);
            }

            Print(Time + " strength: " + strength);

            switch ((int)(strength))
            {
            case 0:
                SumBearStrong.Set(5);
                break;

            case 1:
                SumBearWeak.Set(5);
                break;

            case 2:
                SumNeutral.Set(5);
                break;

            case 3:
                SumBullWeak.Set(5);
                break;

            case 4:
                SumBullStrong.Set(5);
                break;

            default:
                break;
            }
        }
Пример #2
0
        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
            // Use this method for calculating your indicator values. Assign a value to each
            // plot below by replacing 'Close[0]' with your own formula.
            //Plot0.Set(Close[0]);

            // Checks to ensure all Bars objects contain enough bars before beginning
            if (CurrentBars[0] <= BarsRequired ||
                CurrentBars[1] <= BarsRequired ||
                CurrentBars[2] <= BarsRequired ||
                CurrentBars[3] <= BarsRequired)
            {
                return;
            }

            int strength = 0;

            //Stochastics stoc0 = Stochastics(BarsArray[0], periodD, periodK, smooth);

            if (BarsInProgress == 0)
            {
                strength = plotStoc(BarsInProgress);
                Bear0.Set(BarsInProgress);
                Print(Time + " BarsInProgress: " + BarsInProgress + " strength: " + strength);
            }
            else if (BarsInProgress == 1)
            {
                strength += plotStoc(BarsInProgress);
                Print(Time + " BarsInProgress: " + BarsInProgress + " strength: " + strength);
            }
            else
            {
                return;
            }

            /*
             * if (Rising(Stochastics(BarsArray[0], periodD, periodK, smooth).D)) {
             *      Bull1.Set(2);
             *      strength++;
             * } else {
             *      Bear1.Set(2);
             * }
             * if (Rising(HMA(period3))) {
             *      Bull2.Set(1);
             *      strength++;
             * } else {
             *      Bear2.Set(1);
             * }
             *
             * if (Rising(HMA(period4))) {
             *      Bull3.Set(0);
             *      strength++;
             * } else {
             *      Bear3.Set(0);
             * }
             *
             * switch ((int) (strength)) {
             *      case -2:
             *              //SumBearStrong.Set(5);
             *              Plots[0].Pen.Color = Color.Red;
             *              Plots[0] = 5;
             *              break;
             *      case -1:
             *              //SumBearWeak.Set(5);
             *              break;
             *      case 0:
             *              //SumNeutral.Set(5);
             *              break;
             *      case 1:
             *              //SumBullWeak.Set(5);
             *              break;
             *      case 2:
             *              Plots[0].Pen.Color  = Color.Blue;
             *              Plots[0].Set(5);
             *              //SumBullStrong.Set(5);
             *              //Bull1.Set(5);
             *              break;
             *
             *      default:
             *              break;
             * }
             */
        }