コード例 #1
0
        public StrategyRunnerViewModel(
            ViewModelContext viewModelContext,
            AccountViewModel accountViewModel,
            SymbolsViewModel symbolsViewModel,
            OrdersViewModel ordersViewModel,
            StrategyParametersViewModel strategyParametersViewModel,
            IStrategyService strategyService,
            IServerMonitorCache serverMonitorCache,
            IStrategyAssemblyManager strategyAssemblyManager)
            : base(viewModelContext)
        {
            this.strategyService         = strategyService;
            this.serverMonitorCache      = serverMonitorCache;
            this.strategyAssemblyManager = strategyAssemblyManager;

            AccountViewModel            = accountViewModel;
            SymbolsViewModel            = symbolsViewModel;
            OrdersViewModel             = ordersViewModel;
            StrategyParametersViewModel = strategyParametersViewModel;

            CanRun       = false;
            CanMonitor   = false;
            IsConnected  = false;
            IsConnecting = false;

            Notifications = new ObservableCollection <Message>();

            RunCommand                = new ViewModelCommand(RunStrategy);
            MonitorCommand            = new ViewModelCommand(MonitorStrategy);
            DisconnectCommand         = new ViewModelCommand(Disconnect);
            StopCommand               = new ViewModelCommand(StopStrategy);
            ClearNotificationsCommand = new ViewModelCommand(ClearNotifications);

            ObserveOrders();
            ObserveSymbols();
            ObserveAccount();
            ObserveParameters();
            ObserveServerMonitorCache();
        }