Semplifica timing puntata, logging e controllo convenienza
- Timing di puntata ora gestito solo da offset fisso configurabile, rimosse strategie di compensazione latenza/jitter/offset dinamico - Aggiunto controllo convenienza: blocca puntate se il costo supera il "Compra Subito" oltre una soglia configurabile - Logging granulare: nuove opzioni per log selettivo (puntate, strategie, valore, competizione, timing, errori, stato, profiling avversari) - Persistenza stato browser aste (categoria, ricerca) tramite ApplicationStateService - Fix conteggio puntate per bidder, rimosso rilevamento "Last Second Sniper", aggiunta strategia "Price Momentum" - Refactoring e pulizia: rimozione codice obsoleto, migliorata documentazione e thread-safety
This commit is contained in:
@@ -65,10 +65,40 @@ namespace AutoBidder.Models
|
||||
[JsonPropertyName("BidsUsedOnThisAuction")]
|
||||
public int? BidsUsedOnThisAuction { get; set; }
|
||||
|
||||
|
||||
// Timestamp
|
||||
public DateTime AddedAt { get; set; } = DateTime.UtcNow;
|
||||
public DateTime? LastClickAt { get; set; }
|
||||
|
||||
// ?? NUOVO: Sistema timing basato su deadline
|
||||
/// <summary>
|
||||
/// Timestamp UTC preciso della scadenza dell'asta.
|
||||
/// Calcolato come: DateTime.UtcNow + Timer (quando riceviamo lo stato)
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public DateTime? DeadlineUtc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Timestamp UTC dell'ultimo aggiornamento della deadline.
|
||||
/// Usato per rilevare reset del timer.
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public DateTime? LastDeadlineUpdateUtc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Timer raw dell'ultimo stato ricevuto (in secondi).
|
||||
/// Usato per rilevare cambiamenti nel timer.
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public double LastRawTimer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// True se la puntata è già stata schedulata per questo ciclo.
|
||||
/// Resettato quando il timer si resetta.
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public bool BidScheduled { get; set; }
|
||||
|
||||
// Storico
|
||||
public List<BidHistory> BidHistory { get; set; } = new List<BidHistory>();
|
||||
public Dictionary<string, BidderInfo> BidderStats { get; set; } = new(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
Reference in New Issue
Block a user