public override void Run() { MulticoreOptimizer optimizer = new MulticoreOptimizer(); OptimizationUniverse universe = new OptimizationUniverse(); for (int length1 = 2; length1 < 14; length1++) { for (int length2 = length1 + 1; length2 < 28; length2++) { OptimizationParameterSet parameter = new OptimizationParameterSet(); parameter.Add("Length1", length1); parameter.Add("Length2", length2); parameter.Add("Bar", (long)60); universe.Add(parameter); } } strategy = new SMACrossover(framework, "strategy "); Instrument instrument1 = InstrumentManager.Instruments["AAPL"]; Instrument instrument2 = InstrumentManager.Instruments["MSFT"]; InstrumentList instruments = new InstrumentList(); instruments.Add(instrument1); instruments.Add(instrument2); DataSimulator.DateTime1 = new DateTime(2013, 12, 01); DataSimulator.DateTime2 = new DateTime(2013, 12, 31); optimizer.Optimize(strategy, instruments, universe, 100); }
public override void Run() { MulticoreOptimizer optimizer = new MulticoreOptimizer(); OptimizationUniverse universe = new OptimizationUniverse(); for (int length1 = 2; length1 < 14; length1++) for (int length2 = length1 + 1; length2 < 28; length2++) { OptimizationParameterSet parameter = new OptimizationParameterSet(); parameter.Add("Length1", length1); parameter.Add("Length2", length2); parameter.Add("Bar", (long)60); universe.Add(parameter); } strategy = new SMACrossover(framework, "strategy "); Instrument instrument1 = InstrumentManager.Instruments["AAPL"]; Instrument instrument2 = InstrumentManager.Instruments["MSFT"]; InstrumentList instruments = new InstrumentList(); instruments.Add(instrument1); instruments.Add(instrument2); DataSimulator.DateTime1 = new DateTime(2013, 12, 01); DataSimulator.DateTime2 = new DateTime(2013, 12, 31); optimizer.Optimize(strategy, instruments, universe, 100); }
public override void Run() { MulticoreOptimizer optimizer = new MulticoreOptimizer(this.framework); OptimizationUniverse universe = new OptimizationUniverse(); for (decimal Delta = 1; Delta < 8; Delta++) { OptimizationParameterSet parameter = new OptimizationParameterSet(); parameter.Add("Delta", Delta); universe.Add(parameter); } Instrument spreadInsturment = InstrumentManager.Get("*NG 01-15 vs *NG 02-15"); // Add spread instrument if needed. if (spreadInsturment == null) { spreadInsturment = new Instrument(InstrumentType.Future, "*NG 01-15 vs *NG 02-15"); InstrumentManager.Add(spreadInsturment); } spreadInsturment.Legs.Clear(); // Add legs for spread instrument if needed. if (spreadInsturment.Legs.Count == 0) { spreadInsturment.Legs.Add(new Leg(InstrumentManager.Get("*NG 01-15"), 1)); spreadInsturment.Legs.Add(new Leg(InstrumentManager.Get("*NG 02-15"), 1)); } // Main strategy. strategy = new Strategy(framework, "SpreadTrading"); // Create BuySide strategy and add trading instrument. MyStrategy buySide = new MyStrategy(framework, "BuySide"); buySide.Instruments.Add(spreadInsturment); // Create SellSide strategy. SpreadSellSide sellSide = new SpreadSellSide(framework, "SellSide"); //sellSide.Global[SpreadSellSide.barSizeCode] = barSize; // Set SellSide as data and execution provider for BuySide strategy. buySide.DataProvider = sellSide; buySide.ExecutionProvider = sellSide; // Add strategies to main. strategy.AddStrategy(buySide); strategy.AddStrategy(sellSide); // Set DataSimulator's dates. DataSimulator.DateTime1 = new DateTime(2014, 11, 18); // 1 day before real start DataSimulator.DateTime2 = new DateTime(2014, 12, 30); // 1 day after real end InstrumentList instruments = new InstrumentList(); instruments.Add(spreadInsturment); strategy.AddInstruments(instruments); //You can choose an optimization method from the "Optimizers" window //and observe the optimization results in the "Optimization Results" window. //Optimization can use either of two ways to declare parameters: //1. Optimization using [OptimizationParameter] atrributes from Strategy //Optimize(strategy); //2. Optimization via OptimizationUniverse optimizer.Optimize(strategy, universe); }