Forex_Strategy_Builder.MA_Oscillator.MA_Oscillator C# (CSharp) Method

MA_Oscillator() public method

Sets the default indicator parameters for the designated slot type
public MA_Oscillator ( SlotTypes slotType ) : System
slotType SlotTypes
return System
        public MA_Oscillator(SlotTypes slotType)
        {
            // General properties
            IndicatorName  = "MA Oscillator";
            PossibleSlots  = SlotTypes.OpenFilter | SlotTypes.CloseFilter;
            SeparatedChart = true;

            // Setting up the indicator parameters
            IndParam = new IndicatorParam();
            IndParam.IndicatorName = IndicatorName;
            IndParam.SlotType      = slotType;

            // The ComboBox parameters
            IndParam.ListParam[0].Caption  = "Logic";
            IndParam.ListParam[0].ItemList = new string[]
            {
                "The MA Oscillator rises",
                "The MA Oscillator falls",
                "The MA Oscillator is higher than the Level line",
                "The MA Oscillator is lower than the Level line",
                "The MA Oscillator crosses the Level line upward",
                "The MA Oscillator crosses the Level line downward",
                "The MA Oscillator changes its direction upward",
                "The MA Oscillator changes its direction downward"
            };
            IndParam.ListParam[0].Index    = 0;
            IndParam.ListParam[0].Text     = IndParam.ListParam[0].ItemList[IndParam.ListParam[0].Index];
            IndParam.ListParam[0].Enabled  = true;
            IndParam.ListParam[0].ToolTip  = "Logic of application of the indicator.";

            IndParam.ListParam[1].Caption  = "Smoothing method";
            IndParam.ListParam[1].ItemList = Enum.GetNames(typeof(MAMethod));
            IndParam.ListParam[1].Index    = (int)MAMethod.Simple;
            IndParam.ListParam[1].Text     = IndParam.ListParam[1].ItemList[IndParam.ListParam[1].Index];
            IndParam.ListParam[1].Enabled  = true;
            IndParam.ListParam[1].ToolTip  = "The method used for smoothing the both Moving Averages.";

            IndParam.ListParam[2].Caption  = "Base price";
            IndParam.ListParam[2].ItemList = Enum.GetNames(typeof(BasePrice));
            IndParam.ListParam[2].Index    = (int)BasePrice.Close;
            IndParam.ListParam[2].Text     = IndParam.ListParam[2].ItemList[IndParam.ListParam[2].Index];
            IndParam.ListParam[2].Enabled  = true;
            IndParam.ListParam[2].ToolTip  = "The price the both Moving Averages are based on.";

            // The NumericUpDown parameters
            IndParam.NumParam[0].Caption   = "Fast MA period";
            IndParam.NumParam[0].Value     = 13;
            IndParam.NumParam[0].Min       = 1;
            IndParam.NumParam[0].Max       = 200;
            IndParam.NumParam[0].Enabled   = true;
            IndParam.NumParam[0].ToolTip   = "The period of Fast MA.";

            IndParam.NumParam[1].Caption   = "Slow MA period";
            IndParam.NumParam[1].Value     = 21;
            IndParam.NumParam[1].Min       = 1;
            IndParam.NumParam[1].Max       = 200;
            IndParam.NumParam[1].Enabled   = true;
            IndParam.NumParam[1].ToolTip   = "The period of Slow MA.";

            IndParam.NumParam[2].Caption   = "Level";
            IndParam.NumParam[2].Value     = 0;
            IndParam.NumParam[2].Min       = -100;
            IndParam.NumParam[2].Max       = 100;
            IndParam.NumParam[2].Point     = 4;
            IndParam.NumParam[2].Enabled   = true;
            IndParam.NumParam[2].ToolTip   = "A critical level (for the appropriate logic).";

            // The CheckBox parameters
            IndParam.CheckParam[0].Caption = "Use previous bar value";
            IndParam.CheckParam[0].Checked = PrepareUsePrevBarValueCheckBox(slotType);
            IndParam.CheckParam[0].Enabled = true;
            IndParam.CheckParam[0].ToolTip = "Use the indicator value from the previous bar.";

            return;
        }