public Option(int id, MarketSimulationMaof ms) { object o = ms.securities[id]; if (o != null) { exists = true; md = (K300MaofType)o; } else { exists = false; } }
protected void debugMarketSimulationMaofCallback(IWrite iWrite, string cmdName, object[] cmdArguments) { string cmd = "", arg1 = "", arg2 = ""; switch (cmdArguments.Length) { case 0: case 1: iWrite.WriteLine("Usage: maof create <backlogfile> [speedup] | stop | start"); break; case 2: cmd = cmdArguments[1].ToString().ToLower(); break; case 3: cmd = cmdArguments[1].ToString().ToLower(); arg1 = cmdArguments[2].ToString(); break; case 4: cmd = cmdArguments[1].ToString().ToLower(); arg1 = cmdArguments[2].ToString(); arg2 = cmdArguments[3].ToString(); break; } if (cmd == "stop") { if (dataMaofGenerator != default(MaofDataGeneratorLogFile)) { dataMaofGenerator.Stop(); // dataMaofGenerator.RemoveConsumer(marketSimulationMaof); marketSimulationMaof.Dispose(); marketSimulationMaof = default(MarketSimulationMaof); dataMaofGenerator = default(MaofDataGeneratorLogFile); iWrite.WriteLine("maof stop called"); } else { iWrite.WriteLine("No active simulation to stop."); } } else if (cmd == "start") // log file name { if (this.dataMaofGenerator != default(MaofDataGeneratorLogFile)) { // call EventGenerator.Start() - start the data stream dataMaofGenerator.Start(); } else { iWrite.WriteLine("Use 'create' first to create the market simulation"); } } else if (cmd == "create") // log file name { string logfile = arg1; double speedup = JQuant.Convert.StrToDouble(arg2, 1.0); //if K300Class instance is not already initilazed, do it now if (this.dataMaofGenerator == default(MaofDataGeneratorLogFile)) { this.dataMaofGenerator = new MaofDataGeneratorLogFile(logfile, speedup, 0); //I need a cast here, because MarketSimulationMaof expects parameter of type IProducer marketSimulationMaof = new MarketSimulationMaof(); // dataMaofGenerator.AddConsumer(marketSimulationMaof); // marketSimulationMaof.EnableTrace(80608128, true); // marketSimulationMaof.EnableTrace(80616808, true); iWrite.WriteLine("Use 'start' to start the market simulation"); } else //for the moment I don't want the mess of running multiple simulations simultaneously. { iWrite.WriteLine("Maof simulation " + dataMaofGenerator.Name + "is already running."); iWrite.WriteLine("Only a single simulation at a time is possible."); } } }