public ActionResult MonteCarloSimulationModal(int id)
        {
            MonteCarloSimulationDto model = new MonteCarloSimulationDto();

            if (id == 0)
            {
                TradingAccountDto tradingAccount = this._tradingAccountAppService.GetActive();
                List <Market>     markets        = this._marketRepository.GetAll().Where(x => x.Active).ToList();

                model.TimeStamp                  = DateTime.Now;
                model.TradingAccountId           = tradingAccount.Id;
                model.NumberOfTradesInSample     = this._tradeRepository.GetAll().Count(x => x.TradingAccountId == model.TradingAccountId && x.ExitReason != TradeExitReasons.None);
                model.NumberOfTradesPerIteration = 30;
                model.NumberOfIterations         = 1000;
                model.CumulativeProfitK          = .95m;
                model.ConsecutiveLossesK         = 1m;
                model.MaxDrawdownK               = .99m;
                model.AccountSize                = tradingAccount.CurrentCapital;
                model.RuinPoint                  = markets.Average(x => x.InitialMargin) + 10m;
                model.MaxDrawdownMultiple        = 2m;
            }
            else
            {
                MonteCarloSimulation monteCarloSimulation = this._repository.Single(x => x.Id == id);
                monteCarloSimulation.MapTo(model);
            }

            return(PartialView("Modals/_MonteCarloSimulationModal", model));
        }
Пример #2
0
        public ActionResult GetActiveAsListItems()
        {
            DataSourceResult  result        = new DataSourceResult();
            TradingAccountDto activeAccount = _tradingAccountAppService.GetActive();

            List <ListItem> listItems = new List <ListItem>();

            listItems.Add(new ListItem()
            {
                Display = "Name", Value = activeAccount.Name
            });
            listItems.Add(new ListItem()
            {
                Display = "Net Liq", Value = activeAccount.CurrentCapital.ToString("C")
            });
            listItems.Add(new ListItem()
            {
                Display = "P/L", Value = activeAccount.ProfitLoss.ToString("C")
            });
            listItems.Add(new ListItem()
            {
                Display = "Commissions", Value = activeAccount.Commissions.ToString("C")
            });

            result.Data = listItems;

            return(new GuerillaLogisticsApiJsonResult(result));
        }
Пример #3
0
        public void Save(TradingAccountDto dto)
        {
            if (dto.IsNew)
            {
                TradingAccount tradingAccount = dto.MapTo <TradingAccount>();
                this._repository.Insert(tradingAccount);
            }
            else
            {
                TradingAccount tradingAccount = this._repository.Get(dto.Id);
                dto.MapTo(tradingAccount);
            }

            if (dto.Active)
            {
                this.SetActive(dto.Id);
            }
        }
        public ActionResult TradingAccount_Destroy([DataSourceRequest] DataSourceRequest request, TradingAccountDto model)
        {
            this.SettingManager.IncrementCacheCounter("TradingAccounts");

            if (model != null)
            {
                this._tradingAccountRepository.Delete(model.Id);
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult TradingAccount_Update([DataSourceRequest] DataSourceRequest request, TradingAccountDto model)
        {
            this.SettingManager.IncrementCacheCounter("TradingAccounts");

            if (model != null && ModelState.IsValid)
            {
                this._tradingAccountAppService.Save(model);
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
Пример #6
0
        public ActionResult TradingAccount_Create([DataSourceRequest] DataSourceRequest request, TradingAccountDto model)
        {
            if (model != null && ModelState.IsValid)
            {
                this._tradingAccountAppService.Save(model);
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
Пример #7
0
        public ActionResult TradingAccount_Destroy([DataSourceRequest] DataSourceRequest request, TradingAccountDto model)
        {
            if (model != null)
            {
                this._tradingAccountRepository.Delete(model.Id);
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }