public async Task <Result> MirrorRealTrades(Strategy strategy) { var openedTrades = _tradeRepository.GetByStrategyId(strategy.Id) .Where(o => o.TradeState == TradeState.New || o.TradeState == TradeState.PartialyFulfilled) .GroupBy(o => o.Exchange); foreach (var exchange in openedTrades) { var orders = await _exchangeFactory.GetExchange(exchange.Key).MirrorTrades(strategy.UserId); } return(new Result(true, "")); }
public IActionResult GetTrades(string strategyId) { var strategy = _strategyRepository.GetById(strategyId); if (strategy == null) { return(BadRequest("Strategy not found")); } if (strategy.TradingMode == TradingMode.Real) { _tradeService.MirrorRealTrades(strategy); } return(Ok(_tradeRepository.GetByStrategyId(strategyId))); }
public IActionResult GetStrategyTrades(string strategyId, int page = 0, int perPage = 15) { var userId = HttpContext.User.GetUserId(); if (string.IsNullOrEmpty(userId)) { return(BadRequest("User not found")); } var allTrades = _tradeRepository.GetByStrategyId(strategyId); var trades = allTrades.OrderBy(o => o.Opened) .Skip(page * perPage).Take(perPage); return(Ok(new { trades = trades.Select(_mapper.Map <JsonTradeModel>), page, perPage, count = allTrades.Count() })); }