Einsatz-je-Pfad-Feld war nicht bedienbar - auf das bewaehrte Muster umgebaut

User: "Einsatz je Pfad kann ich nichts eingeben".

URSACHE - mein erster Entwurf hat ein EIGENES Markup erfunden, statt das zu
nehmen, das im Projekt nachweislich funktioniert. Zwei Fehler darin:

(1) KEIN `inputmode`. Alle funktionierenden Felder des Projekts (SL, TP,
    Gewinn-Close, Notfall-Close) tragen `inputmode="decimal"` - am Handy
    erscheint sonst keine brauchbare Zahlentastatur. Das allein macht ein Feld
    praktisch unbedienbar, obwohl es sichtbar und technisch "aktiv" ist.
(2) Die Inputs steckten in einem <b> innerhalb einer `.kv`-Zeile. `.kv` ist
    `display:flex; align-items:baseline` und fuer das Muster
    <span>Label</span><b>Wert</b> gebaut - also fuer TEXT, nicht fuer
    Formularelemente.

BEHOBEN: identisches Markup wie die Trade-Leiste (`.tb-row` > `.tb-field` mit
<label> ueber <input>), plus `inputmode="decimal"` und `placeholder="global"`
statt "BRK"/"M15" - das macht zugleich sichtbar, was LEER bedeutet.

Zusaetzlich den Render gehaertet, damit der 1-s-Snapshot die Eingabe nicht
fressen kann: Feld mit Fokus wird gar nicht angefasst, und geschrieben wird nur
bei tatsaechlicher Aenderung (eine Zuweisung setzt sonst auch bei identischem
Text die Cursorposition zurueck).

⚠ LEHRE, die ueber diesen Fall hinausgeht: es gab in derselben Datei vier
funktionierende Vorbilder, und ich habe keines davon angesehen, bevor ich ein
neues Muster erfunden habe. Beim Hinzufuegen eines Bedienelements gehoert das
vorhandene Muster kopiert - dieselbe Klasse wie die dokumentierte Regel, beim
Wiederverwenden eines Backtest-Kerns die Live-KONFIGURATION mitzukopieren.

Reine Frontend-Aenderung (HTML/CSS/JS + v=184) - kein Neustart noetig, statische
Dateien werden je Request frisch von der Platte gelesen. Verifiziert: Tags
ausgeglichen (div 84/84, span 49/49), keine doppelten IDs, node --check gruen,
beide Felder mit inputmode im ausgelieferten HTML, v=184 wird ausgeliefert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-19 19:22:56 +02:00
co-authored by Claude Opus 5
parent 8bbc58f336
commit 027267063d
3 changed files with 23 additions and 13 deletions
+7 -12
View File
@@ -12,7 +12,7 @@
⚠ LOKAL eingebunden, kein CDN: die PWA laeuft ueber WireGuard
und muss offline funktionieren. -->
<link rel="stylesheet" href="pico.min.css?v=1">
<link rel="stylesheet" href="style.css?v=183">
<link rel="stylesheet" href="style.css?v=184">
</head>
<body>
<!-- Modul-Menü (ganz oben) -->
@@ -171,16 +171,11 @@
<div class="kv"><span>Squeeze jetzt</span><b id="brk-squeeze"></b></div>
<div class="kv"><span>Liegende Orders</span><b id="brk-pending"></b></div>
<div class="kv" title="B5 = die VORAB fixierte Abbruchregel: nach 20 Trades ab 01.08. muss Verhaeltnis (OeGewinn/OeVerlust) >= 1,0 UND PF >= 1 sein."><span>B5-Regel</span><b id="brk-b5"></b></div>
<div class="kv" title="Einsatz JE PFAD in Prozent der freien Margin. 0 = der globale Wert gilt (Feld unten bzw. margin_buffer_pct). WICHTIG: das ist KEINE gleichzeitige Reservierung - der Bot haelt EINE Position, es kann nie BRK und M15 nebeneinander geben. Das Feld steuert die GROESSE der jeweiligen Position. Manuelle Trades bleiben beim globalen Wert.">
<span>Einsatz je Pfad</span>
<b>
<input id="am-brk" type="number" min="0" max="99" step="1" placeholder="BRK"
style="width:56px" title="Einsatz % fuer Breakout-Trades (0 = global)">
<span style="opacity:.6">/</span>
<input id="am-m15" type="number" min="0" max="99" step="1" placeholder="M15"
style="width:56px" title="Einsatz % fuer M15-Auto-Trades (0 = global)">
<span style="opacity:.6">%</span>
</b>
<div class="tb-row mg-row" title="Einsatz JE PFAD in Prozent der freien Margin. Leer oder 0 = der globale Wert gilt. WICHTIG: das ist KEINE gleichzeitige Reservierung - der Bot haelt EINE Position, es kann nie BRK und M15 nebeneinander geben. Das Feld steuert die GROESSE der jeweiligen Position. Manuelle Trades bleiben beim globalen Wert.">
<span class="tb-field"><label title="Einsatz % fuer autonome Breakout-Trades. Leer = globaler Wert.">Einsatz BRK %</label>
<input id="am-brk" type="number" inputmode="decimal" step="1" min="0" max="99" placeholder="global"></span>
<span class="tb-field"><label title="Einsatz % fuer autonome M15-Trades. Leer = globaler Wert.">Einsatz M15 %</label>
<input id="am-m15" type="number" inputmode="decimal" step="1" min="0" max="99" placeholder="global"></span>
</div>
<div id="brk-note" class="hint"></div>
</section>
@@ -393,6 +388,6 @@
</div>
<div id="toast" class="toast hidden"></div>
<script src="app.js?v=183"></script>
<script src="app.js?v=184"></script>
</body>
</html>