// service // сервис /// <summary> /// constructor /// конструктор /// </summary> /// <param name="name"> bot name / имя робота </param> /// <param name="startProgram"> program that created the bot which created this connection / программа создавшая робота который создал это подключение </param> public ConnectorCandles(string name, StartProgram startProgram) { _name = name; StartProgram = startProgram; TimeFrameBuilder = new TimeFrameBuilder(_name); ServerType = ServerType.None; Load(); _canSave = true; if (!string.IsNullOrWhiteSpace(NamePaper)) { _subscrabler = new Thread(Subscrable); _subscrabler.CurrentCulture = new CultureInfo("ru-RU"); _subscrabler.Name = "ConnectorSubscrableThread_" + UniqName; _subscrabler.IsBackground = true; _subscrabler.Start(); } if (StartProgram != StartProgram.IsOsOptimizer) { _emulator = new OrderExecutionEmulator(); _emulator.MyTradeEvent += ConnectorBot_NewMyTradeEvent; _emulator.OrderChangeEvent += ConnectorBot_NewOrderIncomeEvent; } }
// service // сервис /// <summary> /// constructor /// конструктор /// </summary> /// <param name="name"> bot name / имя робота </param> /// <param name="startProgram"> program that created the bot which created this connection / программа создавшая робота который создал это подключение </param> public ConnectorCandles(string name, StartProgram startProgram) { _name = name; StartProgram = startProgram; TimeFrameBuilder = new TimeFrameBuilder(_name, startProgram); ServerType = ServerType.None; if (StartProgram != StartProgram.IsOsOptimizer) { _canSave = true; Load(); _emulator = new OrderExecutionEmulator(); _emulator.MyTradeEvent += ConnectorBot_NewMyTradeEvent; _emulator.OrderChangeEvent += ConnectorBot_NewOrderIncomeEvent; } if (!string.IsNullOrWhiteSpace(SecurityName)) { _taskIsDead = false; Task.Run(Subscrable); } else { _taskIsDead = true; } if (StartProgram == StartProgram.IsTester) { PortfolioName = "GodMode"; } }
private static void Listen(OrderExecutionEmulator emulator) { _emulators.Add(emulator); if (_emulators.Count == 1) { Task task = new Task(WatcherThread); task.Start(); } }
private static void Listen(OrderExecutionEmulator emulator) { _emulators.Add(emulator); if (_emulators.Count == 1) { Thread worker = new Thread(WatcherThread); worker.Start(); } }