Remove candle from getBacktestsForUser
This commit is contained in:
@@ -63,7 +63,7 @@ public class BacktestController : BaseController
|
|||||||
public async Task<ActionResult<IEnumerable<Backtest>>> Backtests()
|
public async Task<ActionResult<IEnumerable<Backtest>>> Backtests()
|
||||||
{
|
{
|
||||||
var user = await GetUser();
|
var user = await GetUser();
|
||||||
return Ok(await _backtester.GetBacktestsByUser(user));
|
return Ok(_backtester.GetBacktestsByUser(user));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ namespace Managing.Application.Abstractions.Services
|
|||||||
// Additional methods for backtest management
|
// Additional methods for backtest management
|
||||||
bool DeleteBacktest(string id);
|
bool DeleteBacktest(string id);
|
||||||
bool DeleteBacktests();
|
bool DeleteBacktests();
|
||||||
Task<IEnumerable<Backtest>> GetBacktestsByUser(User user);
|
IEnumerable<Backtest> GetBacktestsByUser(User user);
|
||||||
Backtest GetBacktestByIdForUser(User user, string id);
|
Backtest GetBacktestByIdForUser(User user, string id);
|
||||||
bool DeleteBacktestByUser(User user, string id);
|
bool DeleteBacktestByUser(User user, string id);
|
||||||
bool DeleteBacktestsByUser(User user);
|
bool DeleteBacktestsByUser(User user);
|
||||||
|
|||||||
@@ -388,35 +388,9 @@ namespace Managing.Application.Backtesting
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<Backtest>> GetBacktestsByUser(User user)
|
public IEnumerable<Backtest> GetBacktestsByUser(User user)
|
||||||
{
|
{
|
||||||
var backtests = _backtestRepository.GetBacktestsByUser(user).ToList();
|
var backtests = _backtestRepository.GetBacktestsByUser(user).ToList();
|
||||||
|
|
||||||
foreach (var backtest in backtests)
|
|
||||||
{
|
|
||||||
if (backtest.Candles == null || backtest.Candles.Count == 0 || backtest.Candles.Count < 10)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var candles = await _exchangeService.GetCandlesInflux(
|
|
||||||
user.Accounts.First().Exchange,
|
|
||||||
backtest.Config.Ticker,
|
|
||||||
backtest.StartDate,
|
|
||||||
backtest.Config.Timeframe,
|
|
||||||
backtest.EndDate);
|
|
||||||
|
|
||||||
if (candles != null && candles.Count > 0)
|
|
||||||
{
|
|
||||||
backtest.Candles = candles;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
_logger.LogError(ex, "Failed to retrieve candles for backtest {Id}", backtest.Id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return backtests;
|
return backtests;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ public class Backtest
|
|||||||
TradingBotConfig config,
|
TradingBotConfig config,
|
||||||
List<Position> positions,
|
List<Position> positions,
|
||||||
List<Signal> signals,
|
List<Signal> signals,
|
||||||
List<Candle> candles)
|
List<Candle> candles = null)
|
||||||
{
|
{
|
||||||
Config = config;
|
Config = config;
|
||||||
Positions = positions;
|
Positions = positions;
|
||||||
Signals = signals;
|
Signals = signals;
|
||||||
Candles = candles;
|
Candles = candles != null ? candles : new List<Candle>();
|
||||||
WalletBalances = new List<KeyValuePair<DateTime, decimal>>();
|
WalletBalances = new List<KeyValuePair<DateTime, decimal>>();
|
||||||
IndicatorsValues = new Dictionary<IndicatorType, IndicatorsResultBase>();
|
IndicatorsValues = new Dictionary<IndicatorType, IndicatorsResultBase>();
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ namespace Managing.Infrastructure.Databases.MongoDb.Collections
|
|||||||
public TradingBotConfigDto Config { get; set; }
|
public TradingBotConfigDto Config { get; set; }
|
||||||
public List<PositionDto> Positions { get; set; }
|
public List<PositionDto> Positions { get; set; }
|
||||||
public List<SignalDto> Signals { get; set; }
|
public List<SignalDto> Signals { get; set; }
|
||||||
public List<CandleDto> Candles { get; set; }
|
|
||||||
public DateTime StartDate { get; set; }
|
public DateTime StartDate { get; set; }
|
||||||
public DateTime EndDate { get; set; }
|
public DateTime EndDate { get; set; }
|
||||||
public MoneyManagementDto MoneyManagement { get; internal set; }
|
public MoneyManagementDto MoneyManagement { get; internal set; }
|
||||||
|
|||||||
@@ -137,8 +137,7 @@ public static class MongoMappers
|
|||||||
var bTest = new Backtest(
|
var bTest = new Backtest(
|
||||||
config,
|
config,
|
||||||
b.Positions?.Select(p => Map(p)).ToList() ?? new List<Position>(),
|
b.Positions?.Select(p => Map(p)).ToList() ?? new List<Position>(),
|
||||||
b.Signals?.Select(s => Map(s)).ToList() ?? new List<Signal>(),
|
b.Signals?.Select(s => Map(s)).ToList() ?? new List<Signal>())
|
||||||
b.Candles?.Select(c => Map(c)).ToList() ?? new List<Candle>())
|
|
||||||
{
|
{
|
||||||
FinalPnl = b.FinalPnl,
|
FinalPnl = b.FinalPnl,
|
||||||
WinRate = b.WinRate,
|
WinRate = b.WinRate,
|
||||||
@@ -171,7 +170,6 @@ public static class MongoMappers
|
|||||||
Config = Map(result.Config),
|
Config = Map(result.Config),
|
||||||
Positions = Map(result.Positions),
|
Positions = Map(result.Positions),
|
||||||
Signals = result.Signals.Select(s => Map(s)).ToList(),
|
Signals = result.Signals.Select(s => Map(s)).ToList(),
|
||||||
Candles = result.Candles.Select(c => Map(c)).ToList(),
|
|
||||||
MoneyManagement = Map(result.Config.MoneyManagement),
|
MoneyManagement = Map(result.Config.MoneyManagement),
|
||||||
OptimizedMoneyManagement = Map(result.OptimizedMoneyManagement),
|
OptimizedMoneyManagement = Map(result.OptimizedMoneyManagement),
|
||||||
User = Map(result.User),
|
User = Map(result.User),
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import {ArrowDownIcon, ArrowUpIcon} from '@heroicons/react/solid'
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {useExpanded, useFilters, usePagination, useSortBy, useTable,} from 'react-table'
|
import {useExpanded, useFilters, usePagination, useSortBy, useTable,} from 'react-table'
|
||||||
|
|
||||||
import type {TableInstanceWithHooks} from '../../../global/type'
|
import type {TableInstanceWithHooks} from '../../../global/type.tsx'
|
||||||
|
|
||||||
// Define a default UI for filtering
|
// Define a default UI for filtering
|
||||||
function DefaultColumnFilter({
|
function DefaultColumnFilter({
|
||||||
|
|||||||
Reference in New Issue
Block a user