public Accelerator_Oscillator(SlotTypes slotType)
{
// General properties
IndicatorName = "Accelerator 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 AC rises",
"The AC falls",
"The AC is higher than the Level line",
"The AC is lower than the Level line",
"The AC crosses the Level line upward",
"The AC crosses the Level line downward",
"The AC changes its direction upward",
"The AC 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 of Moving Average used for the calculations.";
IndParam.ListParam[2].Caption = "Base price";
IndParam.ListParam[2].ItemList = Enum.GetNames(typeof(BasePrice));
IndParam.ListParam[2].Index = (int)BasePrice.Median;
IndParam.ListParam[2].Text = IndParam.ListParam[2].ItemList[IndParam.ListParam[2].Index];
IndParam.ListParam[2].Enabled = true;
IndParam.ListParam[2].ToolTip = "The price the indicator is based on.";
// The NumericUpDown parameters
IndParam.NumParam[0].Caption = "Slow MA period";
IndParam.NumParam[0].Value = 34;
IndParam.NumParam[0].Min = 1;
IndParam.NumParam[0].Max = 200;
IndParam.NumParam[0].Point = 0;
IndParam.NumParam[0].Enabled = true;
IndParam.NumParam[0].ToolTip = "The period of slow Moving Average.";
IndParam.NumParam[1].Caption = "Fast MA period";
IndParam.NumParam[1].Value = 5;
IndParam.NumParam[1].Min = 1;
IndParam.NumParam[1].Max = 200;
IndParam.NumParam[1].Point = 0;
IndParam.NumParam[1].Enabled = true;
IndParam.NumParam[1].ToolTip = "The period of fast Moving Average.";
IndParam.NumParam[2].Caption = "Forming MA period";
IndParam.NumParam[2].Value = 5;
IndParam.NumParam[2].Min = 1;
IndParam.NumParam[2].Max = 200;
IndParam.NumParam[2].Point = 0;
IndParam.NumParam[2].Enabled = true;
IndParam.NumParam[2].ToolTip = "The period of additional Moving Average.";
IndParam.NumParam[3].Caption = "Level";
IndParam.NumParam[3].Value = 0;
IndParam.NumParam[3].Min = -10;
IndParam.NumParam[3].Max = 10;
IndParam.NumParam[3].Point = 4;
IndParam.NumParam[3].Enabled = true;
IndParam.NumParam[3].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;
}