private void Initialize(int index, Strategy.StrategyParameters parameters) { switch (index) { case 0: { var additional8 = new Strategy.StrategyAdditionalParameter("", "Stop Level", 80 * _tickSize, typeof(double), false); var additional9 = new Strategy.StrategyAdditionalParameter("", "Reversal Level", 80 * _tickSize, typeof(double), false); List<Strategy.StrategyAdditionalParameter> additional = UpdateAdditionalParams(); additional.Add(additional8); additional.Add(additional9); _strategy = new StepChange(parameters, additional, ref _data); break; } default: // Other Unregistered Strategies { Report("The selected strategy is not registered. Please, select a registered strategy.", InformerMessageType.Error); break; } } }
private List<Strategy.StrategyAdditionalParameter> UpdateAdditionalParams() { //user input controlling in the function -> uiStrategyNoOptomizationParameters_CellValidating() var additional = new List<Strategy.StrategyAdditionalParameter>(); var provider = uiStrategy_dataGridViewNoOptomizationParameters.DataSource as DataTable; if (provider == null) return null; for (var i = 0; i < provider.Rows.Count; i++) { string paramname = provider.Rows[i]["Variables"].ToString(); object paramvalue = provider.Rows[i]["Default Value"]; if (paramname != "DataSet Name") { if (uiStrategy_checkBoxXReqTVCheck.Checked && paramname == "ZIM") { paramvalue = double.Parse(uiBlackSZim.Text, _nfi); } var additionaltemp = new Strategy.StrategyAdditionalParameter("", paramname, paramvalue, paramvalue.GetType(), false); additional.Add(additionaltemp); } } var provider2 = uiStrategy_dataGridViewOptomizationParameters.DataSource as DataTable; if (provider2 != null && provider2.Columns.Count > 0) { for (int i = 0; i < provider2.Rows.Count; i++) { string paramname = provider2.Rows[i]["Triggers"].ToString(); object paramvalue = provider2.Rows[i]["Default Value"]; var additionaltemp = new Strategy.StrategyAdditionalParameter("", paramname, paramvalue, paramvalue.GetType(), false); additional.Add(additionaltemp); } } return additional; }