Remove timeframe from strategy (#13)

This commit is contained in:
Oda
2025-02-26 17:24:59 +07:00
committed by GitHub
parent 298b666a0b
commit 4302bb8435
39 changed files with 299 additions and 288 deletions

View File

@@ -8,5 +8,6 @@ namespace Managing.Infrastructure.Databases.MongoDb.Collections
{
public string Name { get; set; }
public List<StrategyDto> Strategies { get; set; }
public int LoopbackPeriod { get; set; }
}
}
}

View File

@@ -342,7 +342,7 @@ public static class MongoMappers
internal static Signal Map(SignalDto bSignal)
{
return new Signal(ticker: bSignal.Ticker, direction: bSignal.Direction, confidence: bSignal.Confidence,
candle: Map(bSignal.Candle), date: bSignal.Date, exchange: default, timeframe: bSignal.Timeframe,
candle: Map(bSignal.Candle), date: bSignal.Date, exchange: default,
strategyType: bSignal.Type, signalType: bSignal.SignalType)
{
Status = bSignal.Status
@@ -359,6 +359,7 @@ public static class MongoMappers
{
Name = scenario.Name,
Strategies = Map(scenario.Strategies),
LoopbackPeriod = scenario.LoopbackPeriod ?? 1
};
}
@@ -372,7 +373,8 @@ public static class MongoMappers
return new Scenario(d.Name)
{
Name = d.Name,
Strategies = Map(d.Strategies).ToList()
Strategies = Map(d.Strategies).ToList(),
LoopbackPeriod = d.LoopbackPeriod > 0 ? d.LoopbackPeriod : 1
};
}
@@ -383,7 +385,7 @@ public static class MongoMappers
internal static Strategy Map(StrategyDto strategyDto)
{
return new Strategy(name: strategyDto.Name, timeframe: strategyDto.Timeframe, type: strategyDto.Type)
return new Strategy(name: strategyDto.Name, type: strategyDto.Type)
{
Period = strategyDto.Period,
FastPeriods = strategyDto.FastPeriods,
@@ -401,7 +403,6 @@ public static class MongoMappers
var dto = new StrategyDto
{
Type = strategy.Type,
Timeframe = strategy.Timeframe,
Name = strategy.Name,
SignalType = strategy.SignalType
};

View File

@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Repositories;
using Managing.Common;
using Managing.Domain.Scenarios;
using Managing.Domain.Strategies;
using Managing.Domain.Trades;
@@ -19,7 +18,6 @@ public class TradingRepository : ITradingRepository
private readonly IMongoRepository<StrategyDto> _strategyRepository;
private readonly IMongoRepository<FeeDto> _feeRepository;
public TradingRepository(
IMongoRepository<ScenarioDto> scenarioRepository,
IMongoRepository<SignalDto> signalRepository,
@@ -69,7 +67,7 @@ public class TradingRepository : ITradingRepository
return positions.Select(MongoMappers.Map);
}
public IEnumerable<Position> GetPositionsByStatus(Enums.PositionStatus positionStatus)
public IEnumerable<Position> GetPositionsByStatus(PositionStatus positionStatus)
{
var filter = Builders<PositionDto>.Filter.Eq(p => p.Status, positionStatus);
var positions = _positionRepository.FilterBy(filter);
@@ -97,7 +95,7 @@ public class TradingRepository : ITradingRepository
public Strategy GetStrategyByName(string name)
{
var strategy = _strategyRepository.FindOne(s => s.Name == name);
return MongoMappers.Map(strategy);
return MongoMappers.Map(strategy);
}
public void InsertPosition(Position position)
@@ -147,4 +145,4 @@ public class TradingRepository : ITradingRepository
dto.Id = f.Id;
_feeRepository.Update(dto);
}
}
}