public CCI_MA_Oscillator(SlotTypes slotType)
{
// General properties
IndicatorName = "CCI 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 CCI MA Oscillator rises",
"The CCI MA Oscillator falls",
"The CCI MA Oscillator is higher than the zero line",
"The CCI MA Oscillator is lower than the zero line",
"The CCI MA Oscillator crosses the zero line upward",
"The CCI MA Oscillator crosses the zero line downward",
"The CCI MA Oscillator changes its direction upward",
"The CCI 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 CCI 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.Typical;
IndParam.ListParam[3].Text = IndParam.ListParam[3].ItemList[IndParam.ListParam[3].Index];
IndParam.ListParam[3].Enabled = true;
IndParam.ListParam[3].ToolTip = "The base price of Commodity Channel Index.";
// The NumericUpDown parameters
IndParam.NumParam[0].Caption = "CCI period";
IndParam.NumParam[0].Value = 14;
IndParam.NumParam[0].Min = 1;
IndParam.NumParam[0].Max = 200;
IndParam.NumParam[0].Enabled = true;
IndParam.NumParam[0].ToolTip = "The period of Commodity Channel Index.";
IndParam.NumParam[1].Caption = "Signal line period";
IndParam.NumParam[1].Value = 13;
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;
}