protected override void MenuUseLogicalGroups_OnClick(object sender, EventArgs e)
{
ToolStripMenuItem mi = (ToolStripMenuItem)sender;
if (mi.Checked == true)
{
Configs.UseLogicalGroups = mi.Checked;
RebuildStrategyLayout();
return;
}
// Check if the current strategy uses logical groups
bool usefroup = false;
List<string> closegroup = new List<string>();
foreach (IndicatorSlot slot in Data.Strategy.Slot)
{
if (slot.SlotType == SlotTypes.OpenFilter && slot.LogicalGroup != "A")
usefroup = true;
if (slot.SlotType == SlotTypes.CloseFilter)
{
if (closegroup.Contains(slot.LogicalGroup) || slot.LogicalGroup == "all")
usefroup = true;
else
closegroup.Add(slot.LogicalGroup);
}
}
if (!usefroup)
{
Configs.UseLogicalGroups = false;
RebuildStrategyLayout();
}
else
{
MessageBox.Show(
Language.T("The strategy requires logical groups.") + Environment.NewLine +
Language.T("\"Use Logical Groups\" option cannot be switched off."),
Language.T("Logical Groups"),
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Information);
mi.Checked = true;
}
return;
}