protected void OnQueryStrategySuccessAction(PBStrategyList PB) { foreach (var strategy in PB.Strategy) { var strategyVM = StrategyVMCollection.FindContract(strategy.Exchange, strategy.Contract); if (strategyVM == null) { strategyVM = new StrategyVM(this); StrategyVMCollection.Add(strategyVM); } strategyVM.Exchange = strategy.Exchange; strategyVM.Contract = strategy.Contract; strategyVM.Hedging = strategy.Hedging; strategyVM.Underlying = strategy.Underlying; strategyVM.StrategySym = strategy.Symbol; strategyVM.Depth = strategy.Depth; strategyVM.AskEnabled = strategy.AskEnabled; strategyVM.BidEnabled = strategy.BidEnabled; strategyVM.BidQV = strategy.BidQV; strategyVM.AskQV = strategy.AskQV; strategyVM.IVModel = strategy.IvModel; strategyVM.VolModel = strategy.VolModel; strategyVM.PricingModel = strategy.PricingModel; strategyVM.BaseContract = strategy.BaseContract; strategyVM.Portfolio = strategy.Portfolio; strategyVM.MaxAutoTrade = strategy.MaxAutoTrade; strategyVM.BidNotCross = strategy.BidNotCross; strategyVM.AskCounter = strategy.AskCounter; strategyVM.BidCounter = strategy.BidCounter; strategyVM.CloseMode = strategy.CloseMode; strategyVM.TickSize = strategy.TickSizeMult; strategyVM.OrderCounter = strategy.LimitOrderCounter; strategyVM.PricingContractParams.Clear(); foreach (var wtContract in strategy.PricingContracts) { strategyVM.PricingContractParams.Add( new PricingContractParamVM() { Exchange = wtContract.Exchange, Contract = wtContract.Contract, Adjust = wtContract.Adjust, Weight = wtContract.Weight }); } strategyVM.IVMContractParams.Clear(); foreach (var wtContract in strategy.IvmContracts) { strategyVM.IVMContractParams.Add( new PricingContractParamVM() { Exchange = wtContract.Exchange, Contract = wtContract.Contract, Adjust = wtContract.Adjust, Weight = wtContract.Weight }); } strategyVM.VMContractParams.Clear(); foreach (var wtContract in strategy.VolContracts) { strategyVM.VMContractParams.Add( new PricingContractParamVM() { Exchange = wtContract.Exchange, Contract = wtContract.Contract, Adjust = wtContract.Adjust, Weight = wtContract.Weight }); } } }