Trading bot grain (#33)
* Trading bot Grain * Fix a bit more of the trading bot * Advance on the tradingbot grain * Fix build * Fix db script * Fix user login * Fix a bit backtest * Fix cooldown and backtest * start fixing bot start * Fix startup * Setup local db * Fix build and update candles and scenario * Add bot registry * Add reminder * Updateing the grains * fix bootstraping * Save stats on tick * Save bot data every tick * Fix serialization * fix save bot stats * Fix get candles * use dict instead of list for position * Switch hashset to dict * Fix a bit * Fix bot launch and bot view * add migrations * Remove the tolist * Add agent grain * Save agent summary * clean * Add save bot * Update get bots * Add get bots * Fix stop/restart * fix Update config * Update scanner table on new backtest saved * Fix backtestRowDetails.tsx * Fix agentIndex * Update agentIndex * Fix more things * Update user cache * Fix * Fix account load/start/restart/run
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
using Orleans;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Application.Abstractions.Grains;
|
||||
|
||||
/// <summary>
|
||||
/// A small serializable class to store bot metadata.
|
||||
/// This is a very lean object, perfect for fast storage and retrieval.
|
||||
/// </summary>
|
||||
[GenerateSerializer]
|
||||
public class BotRegistryEntry
|
||||
{
|
||||
/// <summary>
|
||||
/// The unique identifier of the bot
|
||||
/// </summary>
|
||||
[Id(0)]
|
||||
public Guid Identifier { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The unique identifier of the user who owns the bot
|
||||
/// </summary>
|
||||
[Id(1)]
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The current operational status of the bot
|
||||
/// </summary>
|
||||
[Id(2)]
|
||||
public BotStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// When the bot was registered in the registry
|
||||
/// </summary>
|
||||
[Id(3)]
|
||||
public DateTime RegisteredAt { get; set; } = DateTime.UtcNow;
|
||||
|
||||
/// <summary>
|
||||
/// When the bot status was last updated
|
||||
/// </summary>
|
||||
[Id(4)]
|
||||
public DateTime LastStatusUpdate { get; set; } = DateTime.UtcNow;
|
||||
|
||||
public BotRegistryEntry()
|
||||
{
|
||||
}
|
||||
|
||||
public BotRegistryEntry(Guid identifier, int userId, BotStatus status = BotStatus.None)
|
||||
{
|
||||
Identifier = identifier;
|
||||
UserId = userId;
|
||||
Status = status;
|
||||
RegisteredAt = DateTime.UtcNow;
|
||||
LastStatusUpdate = DateTime.UtcNow;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user