public ROC_MA_Oscillator(SlotTypes slotType)
{
// General properties
IndicatorName = "ROC MA Oscillator";
PossibleSlots = SlotTypes.OpenFilter | SlotTypes.CloseFilter;
SeparatedChart = true;
// Setting up the indicator parameters
IndParam = new IndicatorParam();
IndParam.IndicatorName = IndicatorName;
IndParam.SlotType = slotType;
IndParam.IndicatorType = TypeOfIndicator.IndicatorsMA;
// The ComboBox parameters
IndParam.ListParam[0].Caption = "Logic";
IndParam.ListParam[0].ItemList = new string[]
{
"The ROC MA Oscillator rises",
"The ROC MA Oscillator falls",
"The ROC MA Oscillator is higher than the zero line",
"The ROC MA Oscillator is lower than the zero line",
"The ROC MA Oscillator crosses the zero line upward",
"The ROC MA Oscillator crosses the zero line downward",
"The ROC MA Oscillator changes its direction upward",
"The ROC 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 oscillator.";
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 Moving Average method used for smoothing the ROC value.";
IndParam.ListParam[2].Caption = "Signal line method";
IndParam.ListParam[2].ItemList = Enum.GetNames(typeof(MAMethod));
IndParam.ListParam[2].Index = (int)MAMethod.Exponential;
IndParam.ListParam[2].Text = IndParam.ListParam[2].ItemList[IndParam.ListParam[2].Index];
IndParam.ListParam[2].Enabled = true;
IndParam.ListParam[2].ToolTip = "The Moving Average method used for smoothing the signal line.";
IndParam.ListParam[3].Caption = "Base price";
IndParam.ListParam[3].ItemList = Enum.GetNames(typeof(BasePrice));
IndParam.ListParam[3].Index = (int)BasePrice.Close;
IndParam.ListParam[3].Text = IndParam.ListParam[3].ItemList[IndParam.ListParam[3].Index];
IndParam.ListParam[3].Enabled = true;
IndParam.ListParam[3].ToolTip = "The price the ROC is based on.";
// The NumericUpDown parameters
IndParam.NumParam[0].Caption = "ROC period";
IndParam.NumParam[0].Value = 10;
IndParam.NumParam[0].Min = 1;
IndParam.NumParam[0].Max = 200;
IndParam.NumParam[0].Enabled = true;
IndParam.NumParam[0].ToolTip = "The period of ROC.";
IndParam.NumParam[1].Caption = "Signal line period";
IndParam.NumParam[1].Value = 14;
IndParam.NumParam[1].Min = 1;
IndParam.NumParam[1].Max = 200;
IndParam.NumParam[1].Enabled = true;
IndParam.NumParam[1].ToolTip = "The period of signal line.";
// 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;
}