public Hourly_High_Low(SlotTypes slotType)
{
// General properties
IndicatorName = "Hourly High Low";
PossibleSlots = SlotTypes.Open | SlotTypes.OpenFilter | SlotTypes.Close | SlotTypes.CloseFilter;
// Setting up the indicator parameters
IndParam = new IndicatorParam();
IndParam.IndicatorName = IndicatorName;
IndParam.SlotType = slotType;
IndParam.IndicatorType = TypeOfIndicator.Additional;
// The ComboBox parameters
IndParam.ListParam[0].Caption = "Logic";
if (slotType == SlotTypes.Open)
IndParam.ListParam[0].ItemList = new string[]
{
"Enter long at the hourly high",
"Enter long at the hourly low"
};
else if (slotType == SlotTypes.OpenFilter)
IndParam.ListParam[0].ItemList = new string[]
{
"The position opens above the hourly high",
"The position opens below the hourly high",
"The position opens above the hourly low",
"The position opens below the hourly low"
};
else if (slotType == SlotTypes.Close)
IndParam.ListParam[0].ItemList = new string[]
{
"Exit long at the hourly high",
"Exit long at the hourly low"
};
else if (slotType == SlotTypes.CloseFilter)
IndParam.ListParam[0].ItemList = new string[]
{
"The bar closes above the hourly high",
"The bar closes below the hourly high",
"The bar closes above the hourly low",
"The bar closes below the hourly low"
};
else
IndParam.ListParam[0].ItemList = new string[]
{
"Not Defined"
};
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 = "Base price";
IndParam.ListParam[1].ItemList = new string[] { "High and Low" };
IndParam.ListParam[1].Index = 0;
IndParam.ListParam[1].Text = IndParam.ListParam[1].ItemList[IndParam.ListParam[1].Index];
IndParam.ListParam[1].Enabled = true;
IndParam.ListParam[1].ToolTip = "Used price from the indicator.";
// The NumericUpDown parameters
IndParam.NumParam[0].Caption = "Start hour (incl.)";
IndParam.NumParam[0].Value = 0;
IndParam.NumParam[0].Min = 0;
IndParam.NumParam[0].Max = 24;
IndParam.NumParam[0].Enabled = true;
IndParam.NumParam[0].ToolTip = "The starting hour of the period.";
IndParam.NumParam[1].Caption = "Start minutes (incl.)";
IndParam.NumParam[1].Value = 0;
IndParam.NumParam[1].Min = 0;
IndParam.NumParam[1].Max = 59;
IndParam.NumParam[1].Enabled = true;
IndParam.NumParam[1].ToolTip = "The starting minutes of the period.";
IndParam.NumParam[2].Caption = "End hour (excl.)";
IndParam.NumParam[2].Value = 24;
IndParam.NumParam[2].Min = 0;
IndParam.NumParam[2].Max = 24;
IndParam.NumParam[2].Enabled = true;
IndParam.NumParam[2].ToolTip = "The ending hour of the period.";
IndParam.NumParam[3].Caption = "End minutes (excl.)";
IndParam.NumParam[3].Value = 0;
IndParam.NumParam[3].Min = 0;
IndParam.NumParam[3].Max = 59;
IndParam.NumParam[3].Enabled = true;
IndParam.NumParam[3].ToolTip = "The ending minutes of the period.";
IndParam.NumParam[4].Caption = "Vertical shift";
IndParam.NumParam[4].Value = 0;
IndParam.NumParam[4].Min = -2000;
IndParam.NumParam[4].Max = +2000;
IndParam.NumParam[4].Enabled = true;
IndParam.NumParam[4].ToolTip = "A vertical shift above the high and below the low price.";
return;
}