Add indicators to backtest and bot (#14)
* Add indicators to backtest and bot * Remove
This commit is contained in:
@@ -10,6 +10,7 @@ using Managing.Domain.MoneyManagements;
|
||||
using Managing.Domain.Scenarios;
|
||||
using Managing.Domain.Shared.Helpers;
|
||||
using Managing.Domain.Strategies;
|
||||
using Managing.Domain.Strategies.Base;
|
||||
using Managing.Domain.Trades;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json;
|
||||
@@ -46,6 +47,7 @@ public class TradingBot : Bot, ITradingBot
|
||||
public decimal Fee { get; set; }
|
||||
public Scenario Scenario { get; set; }
|
||||
public Dictionary<DateTime, decimal> WalletBalances { get; set; }
|
||||
public Dictionary<StrategyType, StrategiesResultBase> StrategiesValues { get; set; }
|
||||
|
||||
public TradingBot(
|
||||
string accountName,
|
||||
@@ -87,6 +89,7 @@ public class TradingBot : Bot, ITradingBot
|
||||
Candles = new HashSet<Candle>();
|
||||
Positions = new List<Position>();
|
||||
WalletBalances = new Dictionary<DateTime, decimal>();
|
||||
StrategiesValues = new Dictionary<StrategyType, StrategiesResultBase>();
|
||||
|
||||
if (!isForBacktest)
|
||||
{
|
||||
@@ -184,7 +187,10 @@ public class TradingBot : Bot, ITradingBot
|
||||
await ManagePositions();
|
||||
|
||||
if (!IsForBacktest)
|
||||
{
|
||||
SaveBackup();
|
||||
UpdateStrategiesValues();
|
||||
}
|
||||
|
||||
await UpdateWalletBalances();
|
||||
if (OptimizedCandles.Count % 100 == 0) // Log every 10th execution
|
||||
@@ -197,6 +203,14 @@ public class TradingBot : Bot, ITradingBot
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateStrategiesValues()
|
||||
{
|
||||
foreach (var strategy in Strategies)
|
||||
{
|
||||
StrategiesValues[strategy.Type] = ((Strategy)strategy).GetStrategyValues();
|
||||
}
|
||||
}
|
||||
|
||||
private async Task PreloadCandles()
|
||||
{
|
||||
if (OptimizedCandles.Any())
|
||||
|
||||
Reference in New Issue
Block a user