Testnetz: Micro-Order-Minimum + SELL-Proportionalität extrahiert; SELL-Leiter (Phase 0.1) vorbereitet
Weiter im Muster extrahieren->testen (verhaltensneutral, clob.md): - CopyTradingRisk.IsBelowPolymarketMinimum (Shares < 5.5 || USDC < 0.10) – BUY-Micro-Order-Filter verdrahtet + Tests. - SellLogic.SellProportion (signalSize/(remaining+signalSize), Denominator<=0 -> 0) + Konstante MinSignificantSellRatio (0.30); SELL-Proportionalitätscheck der Engine ruft sie jetzt (Charakterisierung, sichert Phase-2-Umbau ab). - SellLogic-Eskalationsleiter (Phase 0.1, NOCH NICHT verdrahtet): FirstLimit (HF-fest/prozentual), Floor (SellFloorPct), NextPrice (relative Stufe, auf Floor geclamped), IsAtFloor. Reine Grundlage fuer das spaetere SELL-Wiring. - Tests: CopyTradingRisk-Minimum (5 Faelle) + SellLogicTests (Proportion + Leiter). Gesamt 154 gruen. Build/Smoke gruen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
6a8ecbc80a
commit
581755029a
@@ -383,7 +383,7 @@ namespace PolyTraderSharp.Services
|
||||
// ===== MICRO-ORDER FILTER: Polymarket Minimum Size Enforcement =====
|
||||
// Polymarket lehnt Orders mit < 5 Shares ab ("Size lower than the minimum: 5").
|
||||
// Statt die API zu belasten und Fehler-Logs zu erzeugen, filtern wir hier sofort.
|
||||
if (exact.shares < 5.5m || exact.usdc < 0.10m)
|
||||
if (CopyTradingRisk.IsBelowPolymarketMinimum(exact.shares, exact.usdc))
|
||||
{
|
||||
_logger.TradeReasoning($"❌ Trade BUY [{signal.MarketQuestion}] [{shareType}] gestoppt:\n" +
|
||||
$" Konto: {account.Name}\n" +
|
||||
@@ -431,8 +431,9 @@ namespace PolyTraderSharp.Services
|
||||
if (masterShares > 0 && signal.Size > 0)
|
||||
{
|
||||
// Calculate what percentage of the master's known position this SELL represents
|
||||
decimal sellRatio = signal.Size / (masterShares + signal.Size); // +signal.Size because the position was already reduced
|
||||
if (sellRatio < 0.30m)
|
||||
// (Proportionalität: SellLogic, unit-getestet)
|
||||
decimal sellRatio = SellLogic.SellProportion(masterShares, signal.Size);
|
||||
if (sellRatio < SellLogic.MinSignificantSellRatio)
|
||||
{
|
||||
_logger.TradeReasoning($"📊 Trade SELL [{signal.MarketQuestion}] [{shareType}] ignoriert:\n" +
|
||||
$" Konto: {account.Name}\n" +
|
||||
|
||||
Reference in New Issue
Block a user