Fixes for bots running (#22)

* Fixes for bots running

* Up botmanager

* Add cooldown

* Refact can open position

* Add cooldown Period and MaxLossStreak

* Add agentName

* Add env variable for botManager

* Always enable Botmanager

* Fix bot handle

* Fix get positions

* Add Ticker url

* Dont start stopped bot

* fix
This commit is contained in:
Oda
2025-05-09 17:40:31 +02:00
committed by GitHub
parent a8eb0aaf02
commit 7c38c27b4a
54 changed files with 5164 additions and 641 deletions

View File

@@ -22,7 +22,9 @@ namespace Managing.Application.Abstractions.Services
User user = null,
bool isForWatchingOnly = false,
bool save = false,
List<Candle>? initialCandles = null);
List<Candle>? initialCandles = null,
decimal cooldownPeriod = 1,
int maxLossStreak = 0);
Task<Backtest> RunFlippingBotBacktest(
Account account,
@@ -36,16 +38,34 @@ namespace Managing.Application.Abstractions.Services
User user = null,
bool isForWatchingOnly = false,
bool save = false,
List<Candle>? initialCandles = null);
List<Candle>? initialCandles = null,
decimal cooldownPeriod = 1,
int maxLossStreak = 0);
bool DeleteBacktest(string id);
bool DeleteBacktests();
Task<Backtest> RunScalpingBotBacktest(Account account, MoneyManagement moneyManagement, Scenario scenario,
Timeframe timeframe, List<Candle> candles, decimal balance, User user = null);
Task<Backtest> RunScalpingBotBacktest(
Account account,
MoneyManagement moneyManagement,
Scenario scenario,
Timeframe timeframe,
List<Candle> candles,
decimal balance,
User user = null,
decimal cooldownPeriod = 1,
int maxLossStreak = 0);
Task<Backtest> RunFlippingBotBacktest(Account account, MoneyManagement moneyManagement, Scenario scenario,
Timeframe timeframe, List<Candle> candles, decimal balance, User user = null);
Task<Backtest> RunFlippingBotBacktest(
Account account,
MoneyManagement moneyManagement,
Scenario scenario,
Timeframe timeframe,
List<Candle> candles,
decimal balance,
User user = null,
decimal cooldownPeriod = 1,
int maxLossStreak = 0);
// User-specific operations
Task<IEnumerable<Backtest>> GetBacktestsByUser(User user);

View File

@@ -6,4 +6,6 @@ public interface IUserService
{
Task<User> Authenticate(string name, string address, string message, string signature);
Task<User> GetUserByAddressAsync(string address);
Task<User> UpdateAgentName(User user, string agentName);
User GetUser(string name);
}